Мы купили новый сервер H-NAS и работает нормально. Мы выделили 500 ГБ пространства для наших репозиториев Subversion и создали общий ресурс nfs.
Когда я создаю новый каталог, владелец и группа отображаются как nobody nogroup
как показано ниже.
drwxr-xr-x 2 nobody nogroup 2048 2013-07-03 19:09 test
Я создал репозиторий svn на общей папке nfs, когда я попытался изменить пользователя и группу, он сказал, что операция не разрешена. Это связано с монтированием общего ресурса nfs.
Я выполнил команду mount 10.9.17.59:/subversion /subversion
чтобы смонтировать общий ресурс nfs. он был установлен правильно.
когда я выполнил chown -R www-data:www-data REPO-NAME
означает, что операция запрещена.
Подскажите, пожалуйста, в чем могут быть проблемы. Пожалуйста, помогите мне решить эту проблему.
NFS (до версии 4) просто доверяет UID и GID, которые клиент объявляет для любого конкретного действия (создание файла, чтение файла и т. Д.). Это имеет очевидный недостаток: злонамеренный клиент может лгать о UID и GID. Если он лжет и говорит: «У меня UID 0», то сервер предполагает, что у него есть доступ ко всем файлам экспорта. Это плохо ™.
Для борьбы с проблемой есть настройка: root_squash
. Этот параметр означает: «Если вы говорите, что UID 0, я предполагаю, что вы имели в виду UID none». Клиенты все еще могут лгать, но они не могут быть root. Это хорошо, но имеет ряд недостатков:
По сути, ваш лучший и единственный вариант для создания файлов и каталогов, принадлежащих root, в общей папке NFS - это войти на сервер и создать их локально. Для всех остальных операций используйте учетные записи без полномочий root.
У вас может возникнуть соблазн отключить эту защиту с помощью no_root_squash
, но это было бы Плохо ™. Чтобы увидеть, насколько легко злоумышленнику украсть или удалить все ваши файлы, вы можете использовать NFSpy. По крайней мере, прочтите README, чтобы получить представление о последствиях для безопасности различных опций.