Apache использует неправильного пользователя

Lo arreglé instalando el linux-headers-zen. que no estaban presentes.

1
12.05.2017, 17:02
3 ответа

Что ж, я только что нашел решение. Не уверен, что лучше, но вот что я сделал и, похоже, работает нормально:

sudo nano /etc/apache2/envvars

Отредактируйте следующую строку:

export APACHE_RUN_USER=myusername
-1
29.04.2021, 00:20

Apache сохраняет файлы как www-data, потому что это пользователь, с которым он работает по причинам безопасности.

Что вы можете сделать, это создать определенного пользователя и группу для вашего сайта, и использовать mod-ruid2 для настройки вашего vhost на использование этого пользователя.

Для установки:

sudo apt-get install libapache2-mod-ruid2

И для настройки в vhost:

    <Directory "/var/www/mydir">
            RMode config
            RUidGid my_new_user my_new_group

Каждый vhost также может иметь разных пользователей, что на серверах с несколькими vhost может быть удобно, либо для конфигураций multi-host с несколькими пользователями, либо для того, чтобы знать, рассылает ли vhost спам, например.

https://www.jamroom.net/brian/documentation/guides/1202/configuring-apache-with-mod-ruid2

Что касается прав собственности на файлы, читайте дальше.

В каталоге вашего vhost, вы также настраиваете его с setuid или SetGid, для любого файла, который вы оставляете там как ваш обычный пользователь, который также принадлежит к этой группе, будет принудительно передан этой группе или пользователю, а не вашей обычной группе.

Для форсирования владения пользователем, выполните следующие шаги:

chown my_new_user.my_new_group /var/www/mydir

setUID для каталога

chmod u+s /var/www/mydir 

setGID для каталога

chmod u+g /var/www/mydir

http://www.toptip.ca/2010/03/linux-setgid-on-directory.html

2
29.04.2021, 00:20

Вы должны иметь возможность просто указать другого пользователя в вашей конфигурации, где бы вы ни хотели его использовать.

Пример:

<VirtualHost 12.34.56.78>
  User myusername
</VirtualHost>
1
29.04.2021, 00:20

Теги

Похожие вопросы