У меня есть две идентичные 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 совпадают
Вот команда монтирования, которую я запускаю с клиента
/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)
читать здесь http://blather.michaelwlucas.com/archives/796
Если имена домена клиента и сервера NFSv4 не совпадают, все имена пользователей будут отображаться как «никто».
отредактируйте /etc/idmapd.conf и установите для домена на сервере и клиенте значение "localdomain"
[Общее]
Домен = localdomain
[Перевод]
Метод = nsswitch
измените файл / etc / default / nfs-common (как на вашем сервере, так и на клиенте): установите NEED_IDMAPD = yes
запустить службу idmapd
Как объяснено в UID / GID с NFS и ZFS, NFSv4 не использует UID. У меня была аналогичная проблема, и я смог обойти ее с помощью NFSv3. Это просто влечет за собой добавление -o vers=3
к mount
команда. Конечно, если вам действительно нужно использовать NFSv4, этот ответ не принесет вам особой пользы.
Это проблема сопоставления идентификатора пользователя. По какой-то причине система использует учетную запись «никто» вместо истинных идентификаторов учетных записей. Проверьте параметры сжатия и файл idmapd.conf.
Вот ветка, в которой обсуждается проблема, ссылка на интересующий пост, http://www.mail-archive.com/rhelv5-list@redhat.com/msg03303.html.
К вашему сведению, 4294967294 равно -2, если рассматривать его как 32-битное целое число со знаком. -1 или -2 используются в различных дистрибутивах Linux для UID none и GID nogroup (в файле passwd обычно используется старшее 16-битное беззнаковое число, 65535).
Вам необходимо изменить файл / etc / default / nfs-common (на обе ваш сервер и клиент): установите NEED_IDMAPD
к yes
.
По крайней мере, мне это помогло.
Мы используем параметры NFS anonuid
и anongid
для установки идентификаторов пользователей / групп, которые сервер будет использовать для файлов, созданных анонимно. Если они не установлены, будут использоваться «nobody» и «nogroup», которые могут варьироваться в зависимости от версии ОС и дистрибутива. Так что
/websites 10.0.0.0/8
(fsid=0,no_subtree_check,rw,no_root_squash,anonuid=1001,anongid=1001)
^^^^^^^^^^^^^^^^^^^^^^^^^^
может пойти на хитрость (1001 - действительный и пригодный для использования UID / GID на вашем сервере).