O diretório está em um sistema de arquivos montado pelo NFS. Provavelmente, o servidor NFS o exportou com a opção root_squash
(padrão na maioria dos sistemas), o que significa que para acesso a esse sistema de arquivos, o usuário root
é mapeado para o usuário nobody
e, portanto, está sujeito às permissões para 'outros' para o diretório.
Ações possíveis:
-
Não use
root
para acessar este diretório. Por exemplo, se você estiver escrevendo um script para verificar os diretórios pessoais dos usuários,sudo
da raiz para cada usuário, por sua vez, examinará sua casa:for user in 'getent passwd | grep ':/home' | cut -d : -f1' do sudo -u "$user" \ "$process_directory" "'getent passwd $user | cut -d : -f6'" done
(eu divido a linha
sudo
para separar as opções do comando) - Altere as permissões no diretório para permitir a leitura e a pesquisa pelo usuário
nobody
(por exemplo,chmod go+rx
). Isso pode ou não ser aceitável para você; provavelmente você desejará garantir que arquivos confidenciais, como~/.ssh/
e diretórios de cache, não sejam de fácil leitura. -
Altere as exportações no servidor para remover a opção
root_squash
. No Debian, isso significa editar/etc/exports
para adicionarno_root_squash
à lista de opções:srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check,no_root_squash)
Isso permitirá que
root
acesse todos os arquivos nesse sistema de arquivos, independentemente das permissões, como se o sistema de arquivos fosse local.