Ошибка разрешения записи NFS - PullRequest
1 голос
/ 16 марта 2011

Я создал общий ресурс NFS на одном сервере с другим (клиентским) сервером и успешно подключил папку (скажем, / home / user / public_html / examplefolder) ко второму (клиентскому) серверу.

Я вошел в учетную запись FTP на втором (клиентском) сервере и пытаюсь записать папки / файлы в смонтированную папку NFS (/ home / user / public_html / examplefolder), но я получаю разрешение Отказано в ошибке.

Если я захожу с ssh на клиентский сервер от имени пользователя root, у меня есть полный доступ для записи в смонтированную папку NFS, поэтому я знаю, что это должна быть ошибка типа разрешения пользователя.

Я использую CentOS 5 на обоих серверах.

Ответы [ 2 ]

1 голос
/ 18 марта 2011

Я закончил полную модификацию пользователей и групп, чтобы пользователи и группы на клиентском сервере соответствовали исходному серверу.

1 голос
/ 16 марта 2011

Я не думаю, вы сталкиваетесь с root squash, но у меня возникают проблемы с отслеживанием всех клиентов и серверов в вашем описании, поэтому вот краткий итог root squash, Вы можете лучше сказать, если это то, что происходит:

NFS предоставляет опцию root squash, чтобы гарантировать, что процессы, работающие как root на клиентах, не получают никаких специальных привилегий на сервере. Таким образом, сервер "подавляет" весь клиентский root доступ к nobody пользователю на сервере. (Именно поэтому программы никогда никогда не должны запускаться как nobody; идентификатор пользователя уже имеет определенное использование и не должен использоваться для нескольких не связанных целей.)

Другая возможность - ваш FTP-сервер ограничен такими инструментами, как AppArmor , SElinux , TOMOYO или SMACK . Любой из этих инструментов обязательного контроля доступа может препятствовать записи приложения в определенных местах и ​​может быть еще не настроен для вашего сайта. Проверьте вывод dmesg(1), чтобы увидеть, есть ли какие-либо сообщения об отклонении, большинство или все эти инструменты записывают в dmesg(1), если auditd(8) не работает.

И, возможно, ваш ftp-сервер был настроен на запрет записи . Важно выяснить , откуда сообщение об ошибке Access Denied; вы можете strace -o /tmp/ftp.out -f $(pidof ftpd) (или как бы там ни называлось имя процесса) записывать все системные вызовы и результаты в файл /tmp/ftp.out, что даст вам возможность увидеть, отклоняются ли вызовы open(2) операционной системой или программа.

...