Я только что успешно настроил клиент и сервер NFS. Я только что был удивлен готовностью NFS обрабатывать UID без изменений между клиентом и сервером.

Например, предположим, что эти имена пользователей / идентификаторы существуют на сервере:

root 0
admin 1
alice 100

И это на клиенте:

root 0
bob 1
admin 2
alice 123

В текущей ситуации, если admin на сервере создает файл в общем каталоге, клиент видит, что он принадлежит bob . Это очевидная проблема безопасности, поскольку admin может ошибочно полагать, что разрешения 544 защищают файл от несанкционированной записи.

Более того, у alice может сложиться ложное впечатление, что она может правильно обмениваться файлами с собой и сохранять права доступа к файлам.

Дело в том, что если клиент создает новый файл в общем ресурсе, сервер видит, что он nobody принадлежит. Это то, что я хочу в обоих направлениях. То есть клиент не должен видеть nobody владеет файлом, даже если admin создал его на сервере - в моей ситуации процесс совместного использования лишает смысла владение, поскольку на машинах нет соответствия идентификаторов пользователей.

Короче говоря, я хочу, чтобы всем клиентам NFS сообщили, что nobody владеет всеми общими файлами, независимо от того, знает ли сервер лучше. Кроме того, все записи от клиентов не будут принадлежать nobody и помечены как таковые на сервере.

Могу ли я сделать это?

1 ответ1

0

Чтобы добиться этого, вам нужен параметр all_squash в вашем файле экспорта, а также anonuid=xxx,anongid=xxx вы даже можете выбрать, для какого пользователя назначать файлы.

Даже пользователи Windows могут быть интегрированы с помощью force user и аналогичных директив на Samba.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .