Pracuję w laboratorium z trzema systemami Ubuntu i chciałbym zamontować niektóre systemy plików za pośrednictwem NFS. Jednak chociaż systemy mają niektóre takie same nazwy użytkowników, identyfikatory UID i GID nie pasują, ponieważ trzy systemy zostały skonfigurowane osobno. Kiedy podłączam system plików NFS z jednego systemu do drugiego, własność pokazuje się źle. Na przykład, jeśli UID 1000 jest alice na serwerze 1, a ten sam UID, 1000, to bob na serwerze 2, wtedy gdy serwer 1 montuje eksportowany system plików serwera 2, wydaje się, że pliki boba są własnością alice.
Czy jest więc jakiś sposób, aby NFS (v4) konwertował identyfikatory UID między serwerami za pomocą powiązanych z nimi nazw użytkowników? Poszukując tego, widziałem wiele odniesień do Kerberos, LDAP lub NIS, co wydaje się ogromną przesadą przy tak prostym zadaniu i może nie być możliwe, ponieważ systemy te nie są centralnie zarządzane. Ten link wydaje się wskazywać, że to, o co proszę, jest niemożliwe. Czy to jest poprawne?
Edycja: Wypróbowałem każdą konfigurację /etc/idmapd.conf
, którą mogę wymyślić lub znaleźć w Internecie, i chociaż proces idmapd jest wyraźnie uruchomiony, do tej pory nie widziałem żadnych dowodów na to, że NFS w ogóle próbuje go użyć, i nigdy nie miało to żadnego wpływu na identyfikatory użytkowników zgłaszane w instalacjach NFS.
Odpowiedzi:
Bez scentralizowanej administracji użytkownikami „najlepszym” sposobem jest wymuszenie na wszystkich serwerach używania tego samego identyfikatora GID i identyfikatora UID dla każdego użytkownika. Teraz ... Mówię tylko o plikach i / lub katalogach.
W tym przypadku zrobiłbym:
/etc/passwd
i/etc/group
dopasuj grupy na wszystkich serwerach. Najlepiej niż nowe UID i GID, więc następny krok będzie szybszyUruchom to (zajmie to trochę czasu):
źródło
NFSv4 obsługuje mapowanie identyfikatorów. Po włączeniu NFS będzie przesyłał nazwy użytkowników zamiast identyfikatorów numerycznych. Hosty posiadające inny numeryczny identyfikator użytkownika dla tego samego użytkownika nie stanowią problemu, ponieważ nazwy użytkowników są mapowane na identyfikatory użytkownika na hoście.
Odwzorowanie identyfikatora jest zawsze używane w trybach zabezpieczeń Kerberos (
sec=krb5
).Mapowania identyfikatora można również używać w trybie AUTH_UNIX (domyślny
sec=sys
). Wyjaśniłem szczegóły konfiguracji w odpowiedzi na: Jak uzyskać idmapę NFSv4 działającą z sec = sys .źródło