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

Разрешения для пользователя на Linux-машине для размещения веб-сайта

У меня есть root-доступ к моей размещенной машине. Я создал учетную запись пользователя abcd, а каталог пользователя:

/home/abcd/public_html

В httpd.conf у меня есть:

<VirtualHost *:80>
ServerName abcd.mysite.com
DocumentRoot  /home/abcd/public_html
</VirtualHost>

У этого пользователя есть веб-сайт в указанном выше месте. однако он не может заставить свой сайт загружать изображения в папку / images.

Разрешения:

drwxrwxr-x

на изображениях

/ главная / abcd / public_html / images принадлежит пользователю и группе abcd. Веб-сервер работает как другой пользователь и группа (например, Apache или www-data). Итак, может ли веб-сервер писать в этот каталог?

  • d rwx rwx r-x: разрешение пользователя не применяется, поскольку веб-сервер не работает от имени пользователя abcd
  • d rwx rwx r-x: разрешения группы не применяются, поскольку веб-сервер не работает как группа abcd
  • d rwx rwx r-x : тогда должны применяться другие разрешения, и они не позволяют веб-серверу писать на него

Вы можете подумать, что решение - chmod o+w /home/abcd/public_html/images, но это позволит любому пользователю писать в изображения, когда все, что вам нужно, - это разрешить веб-серверу писать в них. Лучшим подходом было бы изменить группу, владеющую каталогом изображений, на группу, от имени которой работает веб-сервер. Поскольку вы используете apache, вы сможете найти эту группу с помощью ps -o group $(pgrep httpd). Вы можете игнорировать один процесс, запущенный от имени root.

Если это неясно, возможно, документация wordpress на изменение прав доступа к файлам поможет.