Über NFSv4 gemountete Dateien gehören 4294967294, UIDs und GIDs stimmen überein

23

Ich habe zwei identische Linux-Computer (identische Images, die in Amazon EC2 gestartet wurden) und ich versuche, ein exportiertes Verzeichnis über NFSv4 bereitzustellen. So sieht das gemountete Verzeichnis auf dem Client-Computer aus:

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

Ich habe zweimal nachgesehen, ob die UIDs übereinstimmen

Hier ist der Mount-Befehl, den ich vom Client aus ausführe

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

Und hier ist der /etc/exportsEintrag auf dem Server:

/websites 10.0.0.0/8(fsid=0,no_subtree_check,rw,no_root_squash)
Jberryman
quelle
Läuft der rpcidmapd-Dienst? Starten Sie sie mit Befehlen. /etc/init.d/rpcidmapd chkconfig rpcidmapd neu starten auf

Antworten:

8

Wie in UID / GID mit NFS und ZFS erläutert , verwendet NFSv4 keine UIDs. Ich hatte ein ähnliches Problem und konnte es mit NFSv3 umgehen. Dies erfordert lediglich das Hinzufügen -o vers=3zu dem mountBefehl. Wenn Sie NFSv4 benötigen, ist diese Antwort für Sie natürlich nicht von großem Nutzen.

intuitiert
quelle
7

Lesen Sie hier http://blather.michaelwlucas.com/archives/796

Wenn die Domänennamen von NFSv4-Client und -Server nicht übereinstimmen, werden alle Benutzernamen als "nobody" angezeigt.

  1. bearbeite /etc/idmapd.conf und setze Domain auf Server und Client auf "localdomain"

    [Allgemeines]

    Domain = localdomain

    [Übersetzung]

    Methode = nsswitch

  2. Ändern Sie die Datei / etc / default / nfs-common (sowohl auf Ihrem Server als auch auf Ihrem Client): Setzen Sie NEED_IDMAPD = yes

  3. Starten Sie den idmapd-Dienst

vadim
quelle
Für mich löste diese Antwort das Problem, das ich hatte (nachdem "idmapd" aus irgendeinem Grund abgestürzt war).
Henk
7

Dies ist ein Benutzer-ID-Zuordnungsproblem. Aus irgendeinem Grund verwendet das System das Konto "nobody" anstelle der wahren Konto-IDs. Überprüfen Sie Ihre Squashing-Optionen und Ihre idmapd.conf-Datei.

Hier ist ein Thread, den ich gefunden habe und der das Problem bespricht. Dieser Link verweist auf den Beitrag von Interesse, http://www.mail-archive.com/[email protected]/msg03303.html .

FYI, 4294967294 ist -2, wenn es als 32-Bit-Ganzzahl mit Vorzeichen behandelt wird. -1 oder -2 werden in verschiedenen Linux-Distributionen für die nobody-UID und die nogroup-GID verwendet (in der passwd-Datei wird im Allgemeinen die höchste vorzeichenlose 16-Bit-Zahl (65535) verwendet).

David
quelle
Danke für die Antwort, David. Per meinen Beitrag habe ich no_root_squashfreigeschaltet. Besitzen Sie weitere Informationen über idmapd.conf-Dateien?
Jberryman
3

Sie müssen die Datei / etc / default / nfs-common - Datei ändern (auf sowohl dem Server und Client) einstellen NEED_IDMAPDzu yes.

Zumindest hat mir das geholfen.

Veger
quelle
2

Wir verwenden die NFS-Optionen anonuidund anongidlegen die Benutzer- / Gruppen-IDs fest, die der Server für von anonymen Benutzern erstellte Dateien verwendet. Wenn diese nicht gesetzt sind, werden "nobody" und "nogroup" verwendet - was je nach Betriebssystemversion und Distribution variieren kann. Also a

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

kann zum Trick (mit 1001 ist eine gültige und verwendbare UID / GID auf Ihrem Server).

Axel Knauf
quelle