web-dev-qa-db-fra.com

Les fichiers montés sur NFSv4 appartiennent à 4294967294, les UID et les GID correspondent

J'ai deux machines Linux identiques (images identiques lancées dans Amazon EC2) et j'essaie de monter un répertoire exporté sur NFSv4. Voici à quoi ressemble le répertoire monté sur la machine cliente:

root@server:~# ls -l /websites/
drwxr-xr-x  6 4294967294 4294967294   92 2010-01-01 20:21 logs
drwxr-xr-x  2 4294967294 4294967294   20 2009-12-23 01:14 monit.d
...

J'ai vérifié deux fois pour m'assurer que les UID correspondaient

Voici la commande de montage que j'exécute à partir du client

/sbin/mount.nfs4 $MASTER_DN:/ /websites -o rw,_netdev,async

Et voici le /etc/exports entrée sur la machine serveur:

/websites 10.0.0.0/8(fsid=0,no_subtree_check,rw,no_root_squash)
23
jberryman

lire ici http://blather.michaelwlucas.com/archives/796

Si les noms de domaine client et serveur NFSv4 ne correspondent pas, tous les noms d'utilisateur s'affichent comme "personne".

  1. éditez /etc/idmapd.conf et définissez le domaine sur le serveur et le client sur le "domaine local"

    [Général]

    Domaine = domaine local

    [Traduction]

    Méthode = nsswitch

  2. changez le fichier/etc/default/nfs-common (sur votre serveur et client): définissez NEED_IDMAPD = yes

  3. démarrer le service idmapd

8
vadim

Comme expliqué dans ID/GID avec NFS et ZFS , NFSv4 n'utilise pas d'UID. J'avais un problème similaire et j'ai pu contourner ce problème en utilisant NFSv3. Cela implique simplement d'ajouter -o vers=3 à la commande mount. Bien sûr, si vous avez besoin d'utiliser NFSv4, cette réponse ne vous sera pas très utile.

8
intuited

Il s'agit d'un problème de mappage d'ID utilisateur. Pour une raison quelconque, le système utilise le compte "personne" au lieu des vrais identifiants de compte. Vérifiez vos options de compression et votre fichier idmapd.conf.

Voici un fil que j'ai trouvé qui discute du problème, ce lien vers le poste d'intérêt, http://www.mail-archive.com/[email protected]/msg03303.html .

Pour info, 4294967294 vaut -2, s'il est traité comme un entier signé 32 bits. -1 ou -2 sont utilisés sur diverses distributions Linux pour l'UID de personne et le GID de nogroupe (dans le fichier passwd, le numéro non signé 16 bits le plus élevé, 65535, est généralement utilisé).

7
David

Vous devez changer le fichier/etc/default/nfs-common (sur both votre serveur et client): set NEED_IDMAPD à yes.

Au moins, cela m'a aidé.

3
Veger

Nous utilisons les options NFS anonuid et anongid pour définir les ID utilisateur/groupe que le serveur utilisera pour les fichiers créés par anonyme. Si ceux-ci ne sont pas définis, "personne" et "nogroupe" seront utilisés - qui peuvent varier selon la version et la distribution du système d'exploitation. Donc un

/websites 10.0.0.0/8 
    (fsid=0,no_subtree_check,rw,no_root_squash,anonuid=1001,anongid=1001)
                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^

mai à l'astuce (avec 1001 étant un UID/GID valide et utilisable sur votre serveur).

2
Axel Knauf