Клиент NFS не игнорирует UID на карте NFS

Клиент NFS не игнорирует UID на карте NFS

У меня шесть машин, один сервер NFS и пять клиентов. Три клиента (с Ubuntu 14.04) работают нормально. Два других, с 12.04, сталкиваются с ошибками прав доступа.

На сопоставленной клиентской машине ls -l /home/возвращает:

drwxr-xr-x 22 testuser     testuser     12288 Oct  9 18:03 testuser

Это ожидаемая настройка разрешений. testuser— это пользователь, которому необходимо разрешение на доступ к этой папке.

Но когда я вхожу в систему testuser, я touch /home/testuser/test.txtполучаю эту ошибку:

touch: cannot touch `/home/testuser/test.txt': Permission denied

Теперь числовые идентификаторы НЕ соответствуют строкам идентификаторов, ноМне сказали, что так быть не должно.

Настройки клиента:

cat /sys/module/nfs/parameters/nfs4_disable_idmapping
N 

Приведенная выше настройка позволяет NFS сопоставлять разрешения пользователей с использованием строк, а не числовых UID и GID.

cat /etc/idmapd.conf
[General]

Verbosity = 0
Pipefs-Directory = /run/rpc_pipefs
# set your own domain here, if id differs from FQDN minus hostname
Domain = localdomain

[Mapping]

Nobody-User = nobody
Nobody-Group = nogroup

Настройки сервера:

cat /etc/exports

/raid/nfs/home        server1(rw,sync,no_root_squash,no_subtree_check)
/raid/nfs/home        server2(rw,sync,no_root_squash,no_subtree_check)

Есть ли ошибка или дополнительные действия, которые мне нужно предпринять, чтобы машины 12.04 работали правильно? Или мне просто стиснуть зубы и обновиться, или просто изменить все UID, чтобы они соответствовали серверу?

решение1

проблема в том, что idmapd задействован только тогда, когда вы делаете GETATTR/SETATTR (stat, chown, setacl) или используется kerberos (для сопоставления принципала с идентификатором). Но когда клиент nfs отправляет запрос CREATE с auth=sys, то uid и gid берутся из сообщения RPC. Поэтому вам нужно, чтобы uid и gid совпадали на сервере и клиенте, чтобы решить проблему с разрешениями.

Связанный контент