Часто возникает необходимость, чтобы при создании файла или директории в Ubuntu автоматически задавалась группа и пользователь www-data
. Для этого необходимо выполнить следующие шаги:
Создание пользователей
Создаём пользователя. Флаг -m
нужен для создания домашней директории пользователя (для ее названия используется имя пользователя)..
useradd -m имя_пользователя
Для введения пароля нового пользователя или изменения пароля существующего введите в командной строке команду
passwd имя_пользователя
Позже пользователь сможет изменить свой пароль при помощи команды passwd
. Для этого ему понадобится ввести текущий пароль и новый.
Добавление пользователя в группу
Для добавления пользователя в группу используется команда usermod
. Давайте добавим пользователя имя_пользователя
в группу www-data
. Опция -a
означает append
(добавить, прикрепить), а опция -G
служит для указания названия вторичной группы.
usermod -a -G www-data имя_пользователя
Когда вы создаете пользователя при помощи команды adduser
, для него автоматически создается первичная группа, носящая его имя. Поэтому в настоящее время пользователь имя_пользователя
состоит в первичной группе имя_пользователя
и вторичной www-data
.
Также можно добавить пользователя сразу в несколько групп, перечислив их через запятую без пробелов (-G group1,group2,group3).
А эта команда изменит первичную группу пользователя имя_пользователя
на группу www-data
:
usermod -g www-data имя_пользователя
Задание прав на файлы и папки
Для того, чтобы все файлы в папке и подпапке также имели группу www-data
, можно выполнить следующие команды:
sudo chgrp -R www-data польный_путь_к_папке
sudo chmod -R g+s польный_путь_к_папке
Где польный_путь_к_папке
- путь к папке, в которой находятся файлы. Первая команда задает группу www-data
для всех файлов в папке и подпапках, а вторая команда устанавливает бит setgid для папки, что позволяет новым файлам, созданным в этой папке и подпапках, наследовать группу, установленную для этой папки.
Права доступа
Для предотвращения несанкционированного доступа к файлам и папкам веб-приложения необходимо установить соответствующие права доступа. Например, можно установить права 755
на директорию приложения и права 644
на файлы:
sudo chmod -R 755 польный_путь_к_папке
sudo find польный_путь_к_папке -type f -exec chmod 644 {} \; -print
Ссылки: