El usuario de iMac no puede acceder a los directorios de inicio montados en NFS con sudo

El usuario de iMac no puede acceder a los directorios de inicio montados en NFS con sudo

Acabo de reinstalar mi iMac en mi red doméstica y monté los directorios personales de los usuarios a través de un recurso compartido NFS (alojado en un servidor Ubuntu).

El problema que tengo es que cuando uso sudo, se me niega el permiso para acceder a mi propio directorio personal.

Mi UID es 501 y puedo usar sudo porque soy miembro del grupo de administración (GID 80).

En el servidor Ubuntu, configuré mi directorio de inicio de la siguiente manera:

Ubuntu# ls -ln | grep bryan
drwxrwx--- 35 501 80 4096 2012-01-27 14:09 bryan

Que se traduce correctamente en Mac:

iMac$ ls -l | grep bryan
drwxrwx---  35 bryan    admin   4.0K 27 Jan 14:09 bryan/

Como root también es miembro de admin (GID 80), esperaba que sudo permitiera el acceso a mi directorio de inicio, pero como puede ver a continuación, este no es el caso.

iMac$ whoami
bryan
iMac$ sudo bash
bash: /Volumes/home/bryan/.bashrc: Permission denied
iMac# whoami
root
iMac# cd /Volumes/home/bryan/
bash: cd: /Volumes/home/bryan/: Permission denied

Sólo para confirmar, la siguiente es la parte relevante del resultado de dscacheutil -q groupmi iMac:

name: admin
password: *
gid: 80
users: root bryan 

¿Qué puedo hacer para habilitar el acceso a mi directorio de inicio en el iMac cuando uso sudo?

Respuesta1

Cuando usas sudo, estás cambiando al rootusuario (uid 0):perdersu brianUID y el admingrupo. ( sudo idle mostrará los valores exactos).

Dado que las versiones anteriores de NFS (v3 y anteriores) realizaban todas las comprobaciones de seguridad únicamente en el lado del cliente, existe una salvaguarda incorporada para proteger contra clientes deshonestos: cuando el cliente dice que su UID es 0, usted lo hace.norecibir permisos de root –en cambio, el servidor NFS lo ve como el usuario nobody.

Para deshabilitar esta protección, edite el servidor /etc/exportspara tener la no_root_squashopción, luego vuelva a ejecutar exportfs -ray montar el recurso compartido en todos los clientes.


Al probar los permisos de NFS, es útil tener un directorio en el que se pueda escribir todo el mundo en su recurso compartido. Por ejemplo, en Ubuntu, sudo mkdir /home/temp; sudo chmod a+rwx /home/temp. Luego, en OS X, podría ejecutarlo sudo touch /Volumes/home/temp/testfiley ver instantáneamente qué propietario tiene el archivo recién creado.

información relacionada