En mi servidor NFS, tengo la siguiente exportación definida:
#NFS exports Database
/shared -alldirs -network=192.168.1 -mask=255.255.255.0
En mi cliente NFS:
192.168.1.7:/shared /shared nfs rw 0 0
Obviamente, como root en el servidor, puedo hacer lo que quiera. Sin embargo, en el cliente, mi usuario habitual 'gabe' puede hacer cambios en el montaje nfs (suponiendo que tenga permisos), pero la raíz no puede.
Como mi usuario habitual:
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
Como root:
# cd /shared/tmp
# touch test.txt
touch: test.txt: Permission denied
Una vez más, todo esto está en el lado del cliente NFS , y sospecho que tal vez tenga algo que ver con la opción -maproot. Esta es la primera vez que configuro NFS y acabo de notar esta peculiaridad. Voy a leer un poco ahora, para ver si puedo resolver esto, pero si alguien tiene alguna idea, lo agradecería.
fuente
-maproot
opción sin tener acceso al servidor NFS.Ese es un comportamiento común con las implementaciones tradicionales de NFS. Las asignaciones de usuarios de NFS se realizan independientemente del contexto, por lo que todos los accesos de la raíz del cliente deben asignarse a un usuario en particular (generalmente
nobody
de forma predeterminada). De ahí este comportamiento extraño, donde la raíz del cliente no puede acceder a sus archivos directamente, pero puedesu gabe
acceder a ellos.(Las versiones "recientes" de NFS, es decir, NFSv4 y quizás NFSv3, permiten un comportamiento más sensato si se admiten en ambos lados, pero no conozco los detalles).
fuente