Назад | Перейти на главную страницу

Создание общего ресурса NFS на серверах с разными UID

В моей сети 4-5 серверов Ubuntu 14.04, и я хочу использовать общий /home каталог между ними. Я установил сервер nfs и могу смонтировать каталог на различных клиентах. Однако моя проблема связана с идентификаторами пользователей.

Пример: пользователь в nfs сервер это UID 1003, но на nfs клиент этот же пользователь - UID 1002, на другом клиенте 1005 nfs.

Какие у меня есть варианты разрешения этого конфликта? Я провел довольно обширный поиск в Google в поисках вариантов и не могу найти четких ответов. Могу ли я сопоставить пользователей от одного UID к другому, или мне нужно вручную изменить UID во всех полях?

Это мой текущий /etc/exports

home 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check)

Лучшим решением, конечно же, является перенос ваших пользователей в единую пользовательскую базу данных, такую ​​как LDAP, FreeIPA и т. Д. Это немного усилий сейчас, но избавит вас от многих проблем в будущем.

Но вам "повезло", потому что с NFS версии 4 вы не необходимость больше не соответствует UID. Вызовы NFSv4 между клиентом и сервером используют имена и idmapd используется для преобразования этих имен пользователей / групп в локальные идентификаторы пользователей и групп, и наоборот.

По крайней мере, такова теория.

По умолчанию вариант безопасности хотя, sec=sys по-прежнему использует локальный UID / GID для аутентификации операций NFS, и они по-прежнему должны соответствовать между сервером и клиентом :(

Альтернативные варианты sec=krb5 , sec=krb5i или sec=krb5p , как следует из их названий, все требуют, чтобы вы установили Kerberos ... И если вы идете по этому маршруту, вы также можете синхронизировать UID / GID.

Итак, да, у вас могут быть разные UID между сервером NFSv4 и клиентами с NFSv4 но это требует настройки Kerberos.