У меня есть два сервера Linux:
Файловый сервер Debian 5.0.3 (2.6.26-2-686)
Samba версия 3.4.2
apache
Ubuntu 10.04 LTS (2.6.32-23-generic)
Apache 2.2.14
У меня есть несколько общих папок Samba на файловом сервере, так что я могу получить доступ к файлам с ПК с Windows. Я также экспортирую /data/www-data
на сервер apache , где он установлен как /var/www
.
С настройкой все в порядке, за исключением случаев, когда я прихожу для создания файлов на монтировании NFS. Я получаю файлы, которые Apache не может прочитать или которые не могут быть изменены другими пользователями в моей системе.
С Samba, я могу указать force user
, force group
, create mask
и directory mask
, и это гарантирует , что все файлы , созданные с помощью соответствующих разрешений на моем веб - сервере Apache. Я не могу найти способ сделать это с NFS. Есть ли способ заставить права доступа и владения с NFS - я что-то упускаю очевидное?
Хотя я провел довольно много времени с Linux и отучился от Windows, я все еще не совсем разбираюсь в разрешениях Linux ... Если это неправильный способ сделать что-то, я открыт для альтернативные предложения.
источник
www-data
группу на файловом сервере, назначил необходимых пользователей, а затем установил одинаковыйwww-data
идентификатор группы на обоих серверах. Я также установил групповые биты в/data/www-data
папке с помощьюchmod -R g+s /var/www-data
. Сейчас работает отлично. Спасибо за вашу помощь.Вы также можете использовать
all_squash
опцию, которая делает анонимными (пользователь и группа) все экспортируемые файлы и папки, и прикреплять их к определенному GID и UID.Проблема в том, что все пользователи на
apache
сервере увидят вашу точку монтированияnobody nobody
как user & group и могут записать в монтирование (но в любом случае на сервере Samba файлы будут созданы как<your UID>
/<your GID>
).источник