У меня есть файлы на моем веб-сайте, которым мне нужен доступ к файлам на моем сервере, и они также должны быть доступны для редактирования веб-сервером. Теперь, с моими текущими настройками, я не могу этого сделать.
Если владельцем / группой является 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 и т. Д.