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

23

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 revérifié 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 l' /etc/exportsentrée sur la machine serveur:

/websites 10.0.0.0/8(fsid=0,no_subtree_check,rw,no_root_squash)
jberryman
la source
le service rpcidmapd fonctionne-t-il? démarrez-les en utilisant des commandes. /etc/init.d/rpcidmapd redémarrer chkconfig rpcidmapd sur

Réponses:

8

Comme expliqué dans UID / 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 mountcommande. Bien sûr, si vous avez besoin d'utiliser NFSv4, cette réponse ne vous sera pas très utile.

intuition
la source
7

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'afficheront 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

vadim
la source
Pour moi, cette réponse a résolu le problème que j'avais (après que "idmapd" se soit écrasé pour une raison quelconque).
Henk
7

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é).

David
la source
Merci pour la réponse, David. Par mon message, j'ai no_root_squashactivé. Avez-vous plus d'informations sur le fichier idmapd.conf?
jberryman
3

Vous devez modifier le fichier / etc / default / nfs-common (à la fois sur votre serveur et sur votre client): défini NEED_IDMAPDsur yes.

Au moins, cela m'a aidé.

Veger
la source
2

Nous utilisons les options NFS anonuid et anongidpour 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).

Axel Knauf
la source