J'ai une boîte Synology NAS (exécutant DSM 5.1) et j'ai exporté un répertoire via NFS. J'essaie de le monter sur ma machine Ubuntu.
La plupart du temps, cela fonctionne bien, mais je rencontre des problèmes avec les mappages d’utilisateurs et de groupes. Sur la boîte Ubuntu, je suis UID 1000 (Roger), GID 1000 (Roger). Sur le Synology, j'ai uid 1026 (Roger), groupe 100 (utilisateurs).
Si j'utilise NFSv3, il utilise des valeurs numériques uid/gid, ce qui signifie que la propriété est gâchée sur le Synology.
Si je n'accédais jamais qu'au montage NFS depuis la même boîte Ubuntu, en utilisant le même utilisateur, tout irait bien, mais j'accède également au répertoire sous Windows, à l'aide de CIFS (SMB), ce qui signifie que les autorisations sont faux.
Si j'utilise NFSv4 (mount -o nfsvers=4
), avec les paramètres par défaut sur Synology, les fichiers appartenant à roger.users
sur Synology apparaissent alors à roger.users
lorsqu'ils sont visualisés à partir de la boîte Ubuntu. C'est bon.
Cependant, lorsque je touch
un fichier:
roger@ubuntu$ touch /mounts/diskstation/music/foo
Il finit par appartenir à 1000.1000
sur le Synology et s'affiche comme appartenant à nobody.4294967294
lorsqu'il est visualisé à partir de la boîte Ubuntu.
Tout ce que je peux trouver sur le sujet sur les forums Synology date de 2011, date à laquelle NFSv4 n’était pas prise en charge, ou consiste en des personnes qui posent la même question, puis abandonnent.
Pour être complet, /etc/exports
a:
/volume1/music 10.0.0.0/24(rw,async,no_wdelay,root_squash,insecure_locks,sec=sys,anonuid=1025,anongid=100)
... et je le monte sur la boîte Ubuntu avec:
mount -t nfs diskstation:/volume1/music /mounts/diskstation/music/ -o rw,nfsvers=4
J'ai trouvé quelques indices indiquant que le sec=sys
pourrait être un problème: Pourquoi le mappage NFSv4 uid/gid ne fonctionne pas avec AUTH_UNIX (AUTH_SYS) , mais cela ne fonctionne pas. t avoir une solution.
Existe-t-il un moyen simple de résoudre ce problème? Existe-t-il un moyen plus complexe ( toux Kerberos toux ) de résoudre ce problème?
Sérieusement, si Kerberos est la réponse, je vais accepter ce coup, mais j'aimerais le savoir avant de perdre du temps.
Update : alors que la documentation de Synology parle de diverses options Kerberos, je ne les trouve pas dans la UI. Les notes de publication indiquent "Si la sécurité de Kerberos est implémentée ...". J'ai trouvé (mais ne trouve pas à nouveau) une page qui implique qu'elle pourrait ne pas figurer sur certains modèles. J'ai un DS211, selon la page Informations système. Peut-être que je n'ai pas de chance?
Pour que le mappage des identifiants NFSv4 fonctionne correctement, le client et le serveur doivent exécuter le démon idmapd
ID Mapper et avoir le même Domain
configuré dans /etc/idmapd.conf
.
Ainsi, votre client NFS envoie ses informations d'identification sous la forme [email protected]
dans les commandes NFS sur le réseau et votre idmapper de serveur NFS mappe ces informations à un utilisateur appelé roger
sur le serveur NFS. L'UID et le GID importent peu, ils sont mappés sur chaque système par idmapper.
Cependant, cela ne me dérange pas avec mon Synology. Mon dossier partagé dispose des autorisations suivantes:
Cela se traduit par anonuid=1024,anongid=100
(l'utilisateur admin
et le groupe users
) ajoutés à l'exportation dans /etc/exports
sur le NAS.
Mon client NFS (sur lequel ID Mapper n'est pas en cours d'exécution) envoie mes commandes NFS en tant qu'utilisateur (1000:1000
). Cet UID et GID n'existant pas sur le NAS, il traduit mon UID et mon identifiant GID en 1024:100
. Ainsi, je suis traité. en tant qu'utilisateur Admin disposant de l'autorisation complète.
Il s'agit d'une utilisation terriblement peu professionnelle et peu sûre de NFS dans un environnement professionnel, mais le fait que je puisse accéder à mes fichiers à la maison constitue un abus de comportement NFS qui me convient.
Une autre option consiste à aligner l'UID et le GID de roger
sur le client NFS et le NAS. Vous pouvez ensuite utiliser NFSv4 sans mappage d'ID ou utiliser NFSv3 qui repose uniquement sur l'UID et le GID.
J'ai eu le même problème en essayant de trouver les modèles sur lesquels il était. Il s'avère que Kerberos fait partie du package du serveur Active Directory , et sa description comprend les modèles Synology sur lesquels il est disponible. (J’ai eu le 1515, pas le 1515+, alors je n’ai pas plus de chance.)