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)

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


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


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/rhelv5-list@redhat.com/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).


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.


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.