Le contexte
Depuis un Mac fonctionnant sous Mountain Lion, un partage "Multimedia" servi par le NAS QNAP est monté en tant que Root via SAMBA dans le Finder. Supposons que je crée un lien symbolique d'un répertoire sur le NAS tel que :
[/share/Multimedia] # ln -s /share/MD0_DATA/Multimedia/test/ ./folder/symlink
Cela fonctionne :
[/share/Multimedia] # ls -la folder
lrwxrwxrwx 1 admin administ 34 Oct 14 19:24 symlink -> /share/MD0_DATA/Multimedia/test//
Je peux également mv
y cp
Les fichiers sont transférés sans problème vers et à partir de symlink
lorsqu'il est connecté au NAS.
Voici la situation côté client, un Mac fonctionnant sous la version 10.8.2 :
client:~ myself$ id
uid=501(myself) gid=20(staff) groups=20(staff),401(com.apple.access_screensharing),
12(everyone),33(_appstore),61(localaccounts),79(_appserverusr),80(admin),
81(_appserveradm),98(_lpadmin),100(_lpoperator),204(_developer)
Curieusement, le client ne reconnaît pas symlink
en tant que tel ; il s'agit plutôt d'un répertoire normal (veuillez noter que d'après la sortie, j'ai rwx
autorisations) :
client:folder myself$ ls -la
drwx------ 1 myself staff 16384 18 Okt 23:25 symlink
Il en va de même dans le Finder, où le dossier symlink
n'apparaît pas comme un alias, mais comme un dossier normal.
Je peux cd
en symlink
et je peux également y lire des fichiers sans problème. Il en va de même dans le Finder.
Le problème
Si j'essaie d'écrire ( mv
ou cp
) un fichier dans symlink
côté client, il échoue :
client:folder myself$ mv test.txt symlink/
mv: rename test.txt to symlink/test.txt: No such file or directory
De même, toute tentative de déplacement ou de copie d'un fichier dans le système symlink
par glisser-déposer dans le Finder renvoie l'erreur suivante :
L'opération ne peut être achevée car un ou plusieurs éléments requis sont introuvables. (Code d'erreur = -43).
(Déplacement/copie d'un fichier de symlink
vers un autre emplacement du NAS fonctionne parfaitement).
Voici le résultat d'une opération d'écriture dans le terminal :
client:symlink myself$ touch text.txt
touch: text.txt: Permission denied
Il est intéressant de noter que je peux supprimer avec succès des fichiers déjà présents :
client:symlink myself$ ls -la
total 64
drwx------ 1 myself staff 16384 18 Okt 23:51 .
drwx------ 1 myself staff 16384 18 Okt 23:48 ..
-rwx------ 1 myself staff 5 18 Okt 23:51 text.txt
client:symlink myself$ rm text.txt
client:symlink myself$ ls -la
total 64
drwx------ 1 myself staff 16384 18 Okt 23:56 .
drwx------ 1 myself staff 16384 18 Okt 23:48 ..
Je ne sais vraiment pas comment diagnostiquer et résoudre ce problème.
Les éléments pertinents Apple kb indique que l'erreur -43 peut avoir trois causes :
- Caractères illégaux ( Aucun n'est présent )
- Permissions ( Les autorisations semblent correctes, voir la page
ls -la
ci-dessus. Je monte le partage avec le compte administrateur du NAS et je suis connecté en tant qu'administrateur sur mon client Mac. ) - Point de partage inexistant ( le partage existe et fonctionne bien par ailleurs )
Informations complémentaires
Voici quelques informations supplémentaires pour le dépannage :
Les options globales de la rubrique /etc/smb.conf
sur le NAS sont définies comme suit :
[global]
passdb backend = smbpasswd
workgroup = WORKGROUP
security = USER
server string =
encrypt passwords = Yes
username level = 0
map to guest = Bad User
null passwords = yes
max log size = 10
socket options = TCP_NODELAY SO_KEEPALIVE SO_SNDBUF=65536 SO_RCVBUF=65536
os level = 20
preferred master = no
dns proxy = No
smb passwd file=/etc/config/smbpasswd
username map = /etc/config/smbusers
guest account = guest
directory mask = 0777
create mask = 0777
oplocks = yes
locking = yes
disable spoolss = yes
load printers = no
force directory security mode = 0000
veto files = /.AppleDB/.AppleDouble/.AppleDesktop/:2eDS_Store/Network Trash Folder/Temporary Items/TheVolumeSettingsFolder/.@__thumb/.@__desc/:2e*/
delete veto files = yes
map archive = no
map system = no
map hidden = no
map read only = no
deadtime = 10
use sendfile = yes
display charset = UTF8
unix extensions = no
store dos attributes = yes
client ntlmv2 auth = yes
dos filetime resolution = no
min receivefile size = 4096
case sensitive = auto
domain master = auto
local master = yes
inherit acls = yes
wide links = yes
follow symlinks = yes
wins support = no
force unknown acl user = yes
template homedir = /share/homes/DOMAIN=%D/%U
domain logons = no
Les options spécifiques :
[Multimedia]
comment = System default share
path = /share/MD0_DATA/Multimedia
browsable = yes
oplocks = no
ftp write only = no
public = yes
invalid users =
read list = @"everyone","gast"
write list = "admin","guest"
valid users = "root",@"everyone","admin","guest","gast"
inherit permissions = yes
Les journaux du côté du client ne disent pas grand-chose :
/private/var/log/system.log
(qui inclut kernel.log depuis la version 10.8) montre des entrées occasionnelles comme :
Oct 18 22:13:43 client kernel[0]: smb_iod_reconnect: Reconnected share MULTIMEDIA with server qnap-SAMBA._smb._tcp.local
Et /private/var/log/samba/
n'existe pas sur mon système.
Toute aide est la bienvenue.