Pliki zamontowane przez NFSv4 są własnością 4294967294, identyfikatory UID i GID są zgodne

23

Mam dwie identyczne maszyny linuxowe (identyczne obrazy uruchomione w Amazon EC2) i próbuję zamontować wyeksportowany katalog przez NFSv4. Oto jak wygląda zainstalowany katalog na komputerze klienckim:

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

Sprawdziłem dwukrotnie, aby upewnić się, że identyfikatory UID są zgodne

Oto polecenie mount, które uruchamiam z klienta

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

A oto /etc/exportswpis na serwerze:

/websites 10.0.0.0/8(fsid=0,no_subtree_check,rw,no_root_squash)
jberryman
źródło
działa usługa rpcidmapd? uruchom je za pomocą poleceń. /etc/init.d/rpcidmapd restart chkconfig rpcidmapd on

Odpowiedzi:

8

Jak wyjaśniono w UID / GID dla NFS i ZFS , NFSv4 nie używa UID. Miałem podobny problem i byłem w stanie go obejść za pomocą NFSv3. To po prostu wymaga dodania -o vers=3do mountpolecenia. Oczywiście, jeśli musisz użyć NFSv4, ta odpowiedź nie przyda ci się.

intuicyjny
źródło
7

przeczytaj tutaj http://blather.michaelwlucas.com/archives/796

Jeśli nazwy domen klienta i serwera NFSv4 się nie zgadzają, wszystkie nazwy użytkowników pojawią się jako „nikt”.

  1. edytuj /etc/idmapd.conf i ustaw domenę na serwerze i kliencie na „domena lokalna”

    [Generał]

    Domena = domena lokalna

    [Tłumaczenie]

    Metoda = nsswitch

  2. zmień plik / etc / default / nfs-common (na serwerze i kliencie): ustaw NEED_IDMAPD = tak

  3. uruchom usługę idmapd

Vadim
źródło
Dla mnie ta odpowiedź rozwiązała problem, który miałem (po tym, jak „idmapd” zawiesił się z jakiegoś powodu).
Henk,
7

Jest to problem z mapowaniem identyfikatora użytkownika. Z jakiegoś powodu system używa konta „nobody” zamiast prawdziwych identyfikatorów kont. Sprawdź opcje squashingu i plik idmapd.conf.

Oto znaleziony przeze mnie wątek omawiający problem, ten link prowadzi do interesującego posta, http://www.mail-archive.com/[email protected]/msg03303.html .

FYI, 4294967294 ma wartość -2, jeśli jest traktowana jako 32-bitowa liczba całkowita ze znakiem. -1 lub -2 są używane w różnych dystrybucjach systemu Linux dla identyfikatora NID none i identyfikatora GID nogroup (w pliku passwd zwykle używana jest najwyższa 16-bitowa liczba bez znaku, 65535).

David
źródło
Dzięki za odpowiedź, David. W moim wpisie mam no_root_squashwłączone. Czy masz więcej informacji na temat pliku idmapd.conf?
jberryman
3

Trzeba zmienić domyślny plik / etc / / nfs-common (na zarówno serwera i klienta): zestaw NEED_IDMAPDdo yes.

Przynajmniej mi to pomogło.

Veger
źródło
2

Korzystamy z opcji NFS anonuidi anongiddo ustawiania identyfikatorów użytkowników / grup, których serwer będzie używał dla plików utworzonych przez anonimowe. Jeśli nie zostaną one ustawione, będą używane słowa „nobody” i „nogroup” - które mogą się różnić w zależności od wersji i dystrybucji systemu operacyjnego. Więc a

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

może podstęp (przy czym 1001 jest prawidłowym i użytecznym UID / GID na twoim serwerze).

Axel Knauf
źródło