Из конспекта по материалам Интернет:
В файле конфигурации Apache параметры User и Group задают пользователя и группу, от имени которых будет действовать Apache:
:~$ cat /etc/apache2/apache2.conf | grep APACHE_RUN_.*
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
Значение параметров ${APACHE_RUN_USER} и ${APACHE_RUN_GROUP} определены в файле /etc/apache2/envvars:
:~$ cat /etc/apache2/envvars | grep APACHE_RUN_.*
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
Apache, согласно этой конфигурации, будет работать от имени пользователя www-data, состоящего в группе www-data.
Для локального каталога сайта ~/sites/, владельцем каталогов и файлов которого является пользователь текущей учётной записи, www-data будет относится к третей категории пользователей — "остальные". Поэтому следует включить пользователя текущей учётной записи (себя любимого) в группу пользователей www-data и назначить её как группу совладельцев каталога ~/sites/ с правами читать и исполнять файлы. Всем "остальным" пользователям доступ следует запретить.
Чтобы добавить к существующей группе нового пользователя следует выполнить команду:
usermod -a -G <группа> <имя_пользователя>
В нашем случае:
sudo usermod -a -G www-data <имя_пользователя>
Воспользуемся командой для просмотра групп пользователя, чтобы убедиться в успехе проделанной операции. Команда groups - выводит список групп пользователя, имя которого получает на вводе, если имя пользователя не указано, то команда groups выводит список групп для владельца текущего процесса:
groups <имя_пользователя>
Теперь необходимо задать права для каталогов и файлов нашего сайта исходя из следующих соображений:
1. Владелец (пользователь текущей учётной записи) должен иметь возможность полного доступа к файлам и каталогам сайта (rwx), т.к. именно он будет создавать новые файлы сайта и редактировать существующие.
2. Группа совладельцев www-data, должна иметь возможность просматривать содержимое каталогов и файлов, а также запускать файлы (r-x). Однако, нужно иметь ввиду, что для некоторых каталогов сайта (например, тех куда Apache записывает новые файлы) потребуются полные права (rwx).
3. Категорию "остальные пользователи" можно вообще оставить без прав (—).
Реализуем задуманное следующей командой:
sudo chmod -R 750 /home/имя_пользователя/sites/
Данная команда дает полный доступ (rwx) владельцу каталога sites (7), доступ на чтение и запуск (r-x) совладельцам (5) и запрещает доступ всем остальным (0 в конце). Ключ -R говорит о том, что выполнить операцию смены прав доступа нужно рекурсивно, т. е. для всех файлов и подкаталогов внутри каталога sites и для него самого.