У меня есть проблема. Я хотел бы установить полномочия на своем сервере. У меня есть следующая структура каталогов:
/var/www/html/project_1
/var/www/html/project_2
/var/www/html/project_3
У меня есть также пользователи:
user_1
user_2
user_3
Моя цель состоит в том, чтобы дать пользовательские полномочия указанным каталогам, например, "user_1" должен только иметь полномочия только к "project_1" и "project_2".
Я хотел бы иметь простой способ добавить и удалить пользовательские полномочия к каталогам. Как я могу сделать это?
Спасибо за справку. BR
Я не знаю, достаточно ли это "просто" для Вас, но это может быть сделано с помощью инструментов, уже включенных в систему.
<час> Это может быть легко выполнено с помощью chmod
и chown
команды. С chown
можно установить владение файлов и каталогов, и с chmod
можно установить полномочия.
, Поскольку можно хотеть, чтобы многочисленные пользователи получили доступ к единственному каталогу, необходимо было бы создать группу пользователей для него и добавить пользователей к нему:
groupadd g_project_1
useradd -G g_project_1 user_1
#Repeat useradd for every user who is to access project_1
Теперь Вы устанавливаете группу владения project_1
к g_project_1
(я не знаю, необходимо ли это, но можно хотеть сохранить www-data
как пользователь владения каталога), таким образом, Вы выполнили бы эту команду:
chgrp g_project_1 project_1
Теперь необходимо установить полномочия каталога на 0770 (rwx * для пользователя, rwx для группы и никакого доступа для других):
chmod 0770 project_1
Для обеспечения файлов и каталогов внутри получают то же владение при создании, также выполняют следующую команду:
chmod g+s project_1
Делают это аналогично для других каталогов проекта и пользователей. попробуйте его на одном фиктивном проекте сначала , может случиться так, что я сделал ошибку...
* Исполняемое разрешение на каталоге управляет, может ли кто-то ввести его (cd
), тогда как чтение средств управления разрешением, видя его содержание (ls
)