Meu direcotrory é root:
pwd
/
Eu tenho o seguinte dir:
drwxrwxrwx 4 root root 81920 Jun 4 09:25 imr_report_repo
NOTA: imr_report_repo
é um compartilhamento NFS.
Aqui está a fstab
lista para imr_report_repo
:
netapp1:/imr_report_repos_stage /imr_report_repo nfs rw,bg,actimeo=0,nointr,vers=3,timeo=600,rsize=32768,wsize=32768,tcp 1 1
d imr_report_repo
Um arquivo dentro da montagem:
$ ls -al
-rw-r--r-- 1 502 502 1273 Mar 21 2013 imr1_test.txt
O UID 502 não existe. Se adicionarmos esse UID / GID localmente:
$ groupadd -g 502 jimmy
$ useradd -g 502 -u 502 jimmy
Agora ele aparece:
$ ls -al
-rw-r--r-- 1 jimmy jimmy 1273 Mar 21 2013 imr1_test.txt
Agora mude para root:
$ su -
$ chown oracle:oinstall imr1_test.txt
chown: changing ownership of `imr1_test.txt': Operation not permitted
Respostas:
Geralmente
root
não tem permissões especiais em compartilhamentos NFS. Pelo contrário:root
é mapeado para um usuário comum (ou seja, nem sequer tem acesso "normal" de leitura e gravação aosroot
arquivos).Você deve executar
chown
no servidor NFS.fonte
Geralmente, o usuário raiz local nos clientes NFS não pode executar esses tipos de atividades nos compartilhamentos montados pelo NFS. A NetApp parece acrescentar um pouco disso da seguinte maneira:
/etc/nsswitch.conf
arquivo para determinar o UID correspondente a ser atribuído pela opção anon.Portanto, pelo que parece, o compartilhamento NFS da NetApp tem a opção padrão # 1. Você pode confirmar isso tocando em um arquivo no compartilhamento NFS como raiz e vendo qual ID resulta disso.
Você poderá ver as opções exportadas do compartilhamento NFS usando
mount -v
no seu cliente NFS.Referências
fonte
Um servidor NetApp NFS, por padrão, altera as credenciais do usuário raiz em um cliente para uid 65534 no servidor, para que operações como essa
chown
falhem. Para alterar isso, edite a lista de exportação no arquivador para que a linha do sistema de arquivos tenha o parâmetroroot=clientid
, em que clientid é o endereço IP ou o nome do host do cliente ao qual você deseja ter acesso root ao sistema de arquivos. Em seguida, executeexportfs -a
se você estiver usando a interface da linha de comandos no arquivador.fonte
Como slm comentário acima disse,
O recurso usado é chamado de abóbora apodrecida . Mais informações aqui . No meu caso, a única maneira era fazer login para desativar a squash raiz para esse servidor específico e ativá-lo novamente mais tarde.
Uma situação semelhante será encontrada se você usar o
docker
contêiner com volumes e o contêiner for executado com um usuário não privilegiado (por exemploUSER apache
). Portanto, a idéia dos pontos de montagem do NFS seremr
/w
somente peloowner
e não porroot
é uma prática de segurança comum.fonte