O usuário do iMac não pode acessar diretórios iniciais montados em NFS com sudo

O usuário do iMac não pode acessar diretórios iniciais montados em NFS com sudo

Acabei de reinstalar meu iMac na minha rede doméstica e montei os diretórios iniciais dos usuários por meio de um compartilhamento NFS (hospedado em um servidor Ubuntu).

O problema que tenho é que quando uso o sudo, recebo permissão negada para meu próprio diretório pessoal.

Meu UID é 501 e tenho permissão para usar o sudo por ser membro do grupo Admin (GID 80).

No servidor Ubuntu, configurei meu diretório inicial da seguinte forma:

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

O que se traduz corretamente no mac:

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

Como o root também é membro do admin (GID 80), eu esperava que o sudo tivesse permitido acesso ao meu diretório inicial, mas como você pode ver abaixo, esse não é o 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

Apenas para confirmar, a seguir está a parte relevante da saída dscacheutil -q groupdo meu iMac:

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

O que posso fazer para ativar o acesso ao meu diretório inicial no iMac ao usar o sudo?

Responder1

Quando você usa sudo, você está mudando para o rootusuário (uid 0) – vocêperderseu brianUID e o admingrupo. ( sudo idmostrará os valores exatos.)

Como as versões anteriores do NFS (v3 e anteriores) realizavam todas as verificações de segurança apenas no lado do cliente, há uma salvaguarda incorporada para proteger contra clientes desonestos – quando o cliente diz que seu UID é 0, você faz isso.nãoreceber permissões de root –em vez disso, o servidor NFS vê você como o usuário nobody.

Para desativar essa proteção, edite o servidor /etc/exportspara ter essa no_root_squashopção e, em seguida, execute novamente exportfs -rae remonte o compartilhamento em todos os clientes.


Ao testar permissões NFS, é útil ter um diretório gravável mundialmente em seu compartilhamento. Por exemplo, no Ubuntu, sudo mkdir /home/temp; sudo chmod a+rwx /home/temp. Então, no OS X, você pode executar sudo touch /Volumes/home/temp/testfilee ver instantaneamente qual é o proprietário do arquivo recém-criado.

informação relacionada