Как в linux добавить пользователя с доступом к папке?
Здравствуйте. Пытаюсь найти решение задачи, и никак не могу. То-ли не могу поставить правильно вопрос, то ли подобного вопроса не было, что менее вероятно. Суть задачи:
У меня есть сервер, на котором крутится веб сервер. Фтп клиентов нет и не хочется ставить.
Корневая директория /var/www/сайты
Сайтов много, на сервере работаю только я, и под рутом
внутри /var/www находятся ридектории www-data:www-data (33:33)
Встала необходимость дать доступ пользователю к какому то сайту, а может к нескольким сайтам. Нужно сделать так, чтобы он другие сайты не только не смог бы скачать, но и видеть их файлы.
Как этого добиться? Если я создам пользователя, и добавлю его в группу www-data то он получается будет иметь доступ ко всем сайтам
Вопрос скорее всего очень простой, но я уже не первый раз пытаюсь разобраться, не получается.
Александр, Потерялся в числах. Что такое 33? все файлы сайтов живут под пользователем www-data и в группе www-data, идентификаторы пользователя и группы 33
adduser --help
BusyBox v1.27.2 (2017-12-12 10:41:50 GMT) multi-call binary.
Usage: adduser [OPTIONS] USER [GROUP]
Create new user, or add USER to GROUP
-h DIR Home directory
-g GECOS GECOS field
-s SHELL Login shell
-G GRP Group
-S Create a system user
-D Don't assign a password
-H Don't create home directory
-u UID User id
-k SKEL Skeleton directory (/etc/skel)
addgroup --help
BusyBox v1.27.2 (2017-12-12 10:41:50 GMT) multi-call binary.
Usage: addgroup [-g GID] [-S] [USER] GROUP
Add a group or add a user to a group
-g GID Group id
-S Create a system group
Такие задачи я решаю с помощью ACL. Вот пример скрипта, который устанавливает нужные права на нужные директории (пользователи, естественно, должны уже существовать):
предположу:
на все каталоги дайте полные права для группы.
для каждого сайта делаем отдельную группу и делаем ее группой-владельцем. у all права отбираем вовсе. возможно стоит www-data также добавить во все эти группы
пользователя, которому надо получить доступ к какому-то сайту, добавляем в группу этого сайта
что получится.
веб-сервер владелец файлов, имеет на них все права, все ок
пользователь входит в группу, у группы есть права - пользователь получает доступ к файлам.
каталоги, в чьи группы пользователь не входит, пользователю видны, но войти в них он не может
что необходимо учесть:
поиграться со sticky-bit и umask, иначе права на новые файлы "уплывут".