web-dev-qa-db-fra.com

chown sur une partition NFS montée donne "Opération non autorisée"

J'ai une partition distante que j'ai montée localement en utilisant NFS.

'mount' donne

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

Sur le serveur que j'ai dans les exportations:

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

Ensuite j'essaye

 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

Qu'est-ce que je rate ? Tirer mes cheveux.

34
Disco

Par défaut, le root_squash l'option d'exportation est activée, donc NFS ne permet pas à un utilisateur root du client d'effectuer des opérations en tant que root sur le serveur, au lieu de le mapper à l'ID utilisateur/groupe spécifié par anonuid et anongid options (par défaut = 65534). Ceci est configurable dans /etc/exports avec d'autres options d'exportation.

29
Sergey Vlasov

Lisez la section de la exports(5) concernant le "root squashing":

Très souvent, il n'est pas souhaitable que l'utilisateur root sur une machine cliente soit également traité comme root lors de l'accès aux fichiers sur le serveur NFS. À cette fin, l'uid 0 est normalement mappé sur un identifiant différent: l'uid dit anonyme ou nobody uid. Ce mode de fonctionnement (appelé "root squashing") est le mode par défaut et peut être désactivé avec no_root_squash.

Alors tu veux:

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

(faute de frappe modifiée)

24
larsks