Файли, встановлені над NFSv4, належать 4294967294, UID та GID


23

У мене є дві однакові машини Linux (однакові зображення, запущені в Amazon EC2), і я намагаюся встановити експортований каталог через NFSv4. Ось як виглядає змонтований каталог на клієнтській машині:

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

Я ще раз перевірив, чи збігаються UID

Ось команда mount, яку я запускаю від клієнта

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

А ось /etc/exportsзапис на серверній машині:

/websites 10.0.0.0/8(fsid=0,no_subtree_check,rw,no_root_squash)

чи працює служба rpcidmapd? запустити їх за допомогою команд. /etc/init.d/rpcidmapd перезапустити chkconfig rpcidmapd on

Відповіді:


8

Як пояснено в UID / GID з NFS та ZFS , NFSv4 не використовує UID. У мене була подібна проблема і мені вдалося обійти її за допомогою NFSv3. Це просто тягне за собою додавання -o vers=3до mountкоманди. Звичайно, якщо вам потрібно використовувати NFSv4, ця відповідь вам не принесе користі.


7

читайте тут http://blather.michaelwlucas.com/archives/796

Якщо імена клієнтів і доменних серверів NFSv4 не збігаються, усі імена користувачів відображатимуться як "ніхто".

  1. редагуйте /etc/idmapd.conf та встановіть Домен на сервері та клієнті на "localdomain"

    [Загальне]

    Домен = localdomain

    [Переклад]

    Метод = nsswitch

  2. змінити файл / etc / default / nfs-common (на сервері та клієнті): встановіть NEED_IDMAPD = так

  3. запустити послугу idmapd


Для мене ця відповідь вирішила проблему, яку у мене виникло (після того, як "idmapd" зазнав аварій на сом-нові причини).
Хенк

7

Це проблема зіставленням ідентифікатора користувача. Чомусь система використовує обліковий запис "ніхто" замість справжніх ідентифікаторів облікового запису. Перевірте варіанти сквашування та файл idmapd.conf.

Ось нитка, яку я виявив, що обговорює проблему, це посилання на публікацію, що цікавить, http://www.mail-archive.com/rhelv5-list@redhat.com/msg03303.html .

FYI, 4294967294 дорівнює -2, якщо їх розглядати як 32-бітове ціле число. -1 або -2 використовуються в різних дистрибутивах Linux для нікого не використовується UID та ногтей GID (у файлі passwd зазвичай використовується найвищий 16-бітний номер без підпису, 65535).


Дякую за відповідь, Девіде. На свою посаду я no_root_squashввімкнув. Чи маєте ви більше інформації про файл idmapd.conf?
jberryman

3

Ви повинні змінити і т.д. / файл / по замовчуванням / NFS-загальні (на обох ваш сервер і клієнт): встановити NEED_IDMAPDв yes.

Принаймні, це мені допомогло.


2

Ми використовуємо параметри NFS anonuidі anongidдля встановлення ідентифікаторів користувача / групи, які сервер використовуватиме для файлів, створених анонімним. Якщо їх не встановлено, будуть використані "none" та "nogroup", які можуть відрізнятися залежно від версії та розповсюдження ОС. Так а

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

можливо до хитрості (1001 є дійсним та корисним UID / GID на вашому сервері).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.