Первая из очевидных проблем - работа с учетной записью администратора. Маловероятно, что администратор разрешит доступ на сервер пользователям, обладающим root-полномочиями на клиентских системах. По умолчанию NFS блокирует такой доступ параметром root_squash, который выполняет отображение UID и GID пользователя root в соответствующие идентификаторы пользователя nobody. Таким образом, пользователь root с системыклиента может получить только общие полномочия на сервере. Чтобы изменить это поведение, можно воспользоваться установкой no_root_squash, однако no_root_squash делает сервер потенциально уязвимым.
Отображение прочих идентификаторов UID и GID в идентификаторы пользователя nobody достигается при помощи параметров squash_uids, squash_gids и all_squash. all_squash выполняет такое отображение для всех пользователей клиентской системы. squash_uids и squash_gids выполняют отображение конкретных идентификаторов UID и GID. Пример:
/pub (ro,all_squash) /usr/local/pub (squash_uids=0-50, squash_gids=0-50)
Первая запись экспортирует каталог /pub и делает его доступным только для чтения всем клиентам. Все пользователи клиентских систем получают общие полномочия, присущие пользователю nobody, то есть могут читать только те файлы, которые доступны для чтения всем пользователям, а не только владельцу или группе.
Вторая запись экспортирует каталог /usr/local/pub и делает его доступным для чтения/записи (режим по умолчанию) всем клиентам. Параметры squash_uid и squash_gid в данном примере показывают, что для некоторых параметров допустимо указание диапазонов идентификаторов UID и GID. Параметры позволяют указывать отдельные идентификаторы UID или GID, но часто бывает удобно охватить диапазон значений одной командой. В этом примере мы блокируем доступ к каталогу пользователей, идентификаторы UID и GID которых меньше либо равны 50.