Как установить права пользователя на сервере Ubuntu
У меня проблема. Я хотел бы установить разрешения на моем сервере. У меня есть следующая структура каталогов:
/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
1 ответ
Я не знаю, достаточно ли это "просто" для вас, но это можно сделать с помощью инструментов, уже включенных в систему.
Это может быть легко достигнуто с помощью 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
)