O problema é que eu estou montando como NFSv4, e a versão 4 trata permissões de root como 'nobody'. Forçar meu cliente NFS a usar o NFS versão 3 resolveu meu problema.
nfs -t nfs -o nfsvers=3,proto=tcp server:/pool1/backup /backup
Eu estou tentando copiar de uma máquina Ubuntu para um pool OmniOS ZFS compartilhado via NFS. Quando eu corro o comando abaixo, recebo:
cp: failed to preserve ownership for './test.txt': Invalid argument
O problema é que o arquivo é copiado, mas as permissões são assim no destino:
-rw------- 1 nobody nogroup 7 Mar 4 21:35 test.txt
Eu então tento:
chown root test.txt
chown: changing ownership of 'test.txt': Invalid argument
Eu encontrei este thread semelhante, mas o / o erro dela é mais explícito com um erro "operação não permitida", enquanto o meu é "Argumento inválido".
O NFS é compartilhado a partir do servidor ZFS via abaixo:
cat /etc/dfs/sharetab
/pool1/backup - nfs sec=sys,[email protected],[email protected]
O problema é que eu estou montando como NFSv4, e a versão 4 trata permissões de root como 'nobody'. Forçar meu cliente NFS a usar o NFS versão 3 resolveu meu problema.
nfs -t nfs -o nfsvers=3,proto=tcp server:/pool1/backup /backup
Você também pode alterar o grupo de proprietários por meio do idmap
em /etc/idmapd.conf
[Mapping]
Nobody-User = anyUserYouChoose
Nobody-Group = anyUserYouChoose
Tags permissions zfs