Назад | Перейти на главную страницу

Проблема с владельцем файла / группой

У меня есть файлы на моем веб-сайте, которым мне нужен доступ к файлам на моем сервере, и они также должны быть доступны для редактирования веб-сервером. Теперь, с моими текущими настройками, я не могу этого сделать.

Если владельцем / группой является imran: imran, тогда у меня есть полный доступ к этому файлу, но мой веб-сервер, похоже, не может открыть / отредактировать этот файл. Теперь мне сказали, что мне нужно сопоставить владельца / группу файлов с теми, которые использует веб-сервер, я просмотрел файлы, созданные веб-сервером, и они были никем: никто. Поэтому я изменил своего владельца / группу public_html на none: nobody, потому что у меня просто было слишком много файлов в папке, которые нужно было редактировать с помощью веб-сервера, и чтобы менять владельца один за другим, требовалось слишком много времени. Веб-сервер смог нормально его отредактировать после смены владельца, но потом я кое-что понял ... теперь я даже не могу просматривать папку public_html.

Кто-нибудь знает, как правильно установить владельцев, чтобы у меня был доступ, а также веб-сервер?

(Это на сервере под управлением WHM / cPanel)

Следующие команды:

chown imran:nobody public_html
chmod 0775 public_html

chown imran:nobody -R public_html/* 
find public_html/ -type f -exec chmod 0664 '{}' \;
find public_html/ -type d -exec chmod 2775 '{}' \;

# In your .bash_profile / .bashrc set:
umask 002

Это должно решить ваши проблемы. Это дает nobody групповое разрешение на запись в каталог и подпапки public_html, но «миру» не разрешено писать в эти файлы (например, chmod 777). Вы, как владелец, также имеете полные права доступа к этим файлам. Установка бита setgid в каталогах гарантирует, что разрешения останутся такими, а изменение umask означает, что вы будете создавать файлы с другим набором разрешений по умолчанию.

Иногда пользователь none не является частью его собственной группы, поэтому для исправления этого используйте

gpasswd -a nobody nobody

Убедитесь, что вы добавили бит + x ко всему, что нужно выполнить веб-сервером, скриптам CGI и т. Д.