Sur mon serveur NFS, j'ai l'export suivant défini:
#NFS exports Database
/shared -alldirs -network=192.168.1 -mask=255.255.255.0
Sur mon client NFS:
192.168.1.7:/shared /shared nfs rw 0 0
Évidemment, en tant que root sur le serveur, je peux faire ce que je veux. Sur le client cependant, mon utilisateur habituel 'gabe' peut apporter des modifications au montage nfs (en supposant que j'en ai les autorisations), mais root ne le peut pas.
En tant qu'utilisateur régulier:
gabe@client$ cd /shared
gabe@client$ ls -l
total 8
drwxrwxrwx 4 gabe wheel 512 Mar 20 19:20 tmp
gabe@client$ cd tmp
gabe@client$ touch test.txt
gabe@client$ rm test.txt
En tant que root:
# cd /shared/tmp
# touch test.txt
touch: test.txt: Permission denied
Encore une fois, tout cela est du côté client NFS , et je soupçonne peut-être que cela a quelque chose à voir avec l'option -maproot. C'est la première fois que je configure NFS et je viens de remarquer cette particularité. Je vais faire un peu de lecture maintenant, pour voir si je peux comprendre cela, mais si quelqu'un a une idée, je l'apprécierais.
la source
-maproot
option sans avoir accès au serveur NFS.C'est un comportement courant avec les implémentations NFS traditionnelles. Les mappages d'utilisateurs NFS sont effectués indépendamment du contexte, de sorte que tous les accès par la racine client doivent être mappés à un utilisateur particulier (généralement
nobody
par défaut). D'où ce comportement étrange, où la racine du client ne peut pas accéder directement à vos fichiers, mais peutsu gabe
y accéder.(Les versions «récentes» de NFS, c'est-à-dire NFSv4 et peut-être NFSv3, permettent un comportement plus sain si elles sont prises en charge des deux côtés, mais je ne connais pas les détails.)
la source