Назад | Перейти на главную страницу

Пользователь Linux для доступа и выполнения только в одном месте

Я пытаюсь найти решение для этого:

У меня есть пользователь, которого я создал с помощью команды useradd. Я хочу разрешить этому пользователю делать все, что он хочет, в особом месте, например / var / www /. Ему может потребоваться загрузить или загрузить файл, извлечь заархивированную папку, составить список файлов и папок, изменить разрешения и т. Д.

Он должен быть ограничен на что-либо еще, например, создание другого пользователя / группы, использование sudo, установку / удаление чего-либо или даже доступ к другим папкам или любому другому. Возможно ли этого добиться? Может ли кто-нибудь помочь мне в ближайшее время.

К вашему сведению: ОС: Linux, любая платформа: AWS

Вы можете поместить пользователя в cgroup и chroot. Если вы хотите, чтобы также использовался SSH, вы можете взглянуть на Jailkit, который позволяет заключать пользователей ssh ​​в тюрьму. На практике должно быть достаточно контрольной группы плюс строгие разрешения на вашем сервере.

Пользователи, созданные с помощью useradd не имею судо доступ по умолчанию, установка пакетов, добавление пользователей и т. д. невозможны ... Только корень может это сделать (через судо или прямо из оболочки или скрипта).

Дайте пользователю Пользователь домашний каталог (несколько способов сделать это, используйте команду например [посмотрите внизу]).

И установить доступы

Например, в /home/theuser (sudo, или сначала станьте root)

sudo mkdir /home/theuser
sudo chmod 700 /home/theuser
# next create / move user home dir to /home/theuser
sudo usermod -m -d /home/theuser theuser
# give a password to the user
sudo passwd theuser

И пользователь войдет в систему / home / theuser, сможет там делать все, что захочет. Создавать, удалять файлы и каталоги. Загрузить файлы (если ему разрешено использовать ssh загружать файлы через rsync например).

Последний пункт вашего вопроса "даже доступ к другим папкам". При условии, что другие домашние каталоги - обычно - доступны только их владельцам (доступ, например drwx------ или 0700), вы действительно хотите, чтобы пользователь не мог видеть системные файлы и т. д.?

В этом случае вы должны поместить пользователя в его домашний каталог, см. этот документ на AskUbuntu, на самом деле не специфичен для Ubuntu.

Причина, по которой я спрашивал о файловой системе, заключается в том, что вы также можете использовать ACL (списки контроля доступа) для установки определенного доступа для данного пользователя на любом уровне файловой системы (систем). Например. предотвращение посещения пользователем определенных областей системы. Дополнительная информация о ACL