chown em uma partição NFS montada fornece "Operação não permitida"

31

Eu tenho uma partição remota que montei localmente usando o NFS.

'montagem' dá

192.168.3.1:/mnt/storage-pools/ on /pools type nfs (rw,addr=192.168.3.1)

No servidor que tenho nas exportações:

/mnt/storage-pools   *(rw,insecure,sync,no_subtree_check)

Então eu tento

 touch /pools/test1
 ls -lah
 -rw-r--r--  1 65534 65534    0 Dec 13 20:56 test1
 chown root.root test1
 chown: changing ownership of `test1': Operation not permitted

O que estou perdendo ? Arrancando meus cabelos.

Disco
fonte
Sempre que tive esse problema, há um espaço no arquivo de exportação entre a montagem do servidor e o (rw, ...
egorgry

Respostas:

26

Por padrão, a root_squashopção de exportação está ativada; portanto, o NFS não permite que um usuário raiz do cliente execute operações como raiz no servidor, em vez de mapeá-lo para o ID do usuário / grupo especificado por anonuidand anongidoptions (padrão = 65534). Isso é configurável /etc/exportsjunto com outras opções de exportação.

Sergey Vlasov
fonte
21

Leia a seção exports(5)sobre "esmagamento de raízes":

Muitas vezes, não é desejável que o usuário raiz em uma máquina cliente também seja tratado como raiz ao acessar arquivos no servidor NFS. Para esse fim, o uid 0 é normalmente mapeado para um ID diferente: o chamado anônimo ou ninguém uid. Esse modo de operação (chamado 'esmagamento da raiz') é o padrão e pode ser desativado com no_root_squash.

Então você quer:

/mnt/storage-pools   *(rw,insecure,sync,no_subtree_check,no_root_squash)

(erro de digitação editado)

larsks
fonte