Как посадить в тюрьму пользователя Linux

Есть ли что-то похожее на chroot, но для пользователей?

Мы собираемся предоставить доступ к нашим серверам для клиента и хотели бы, чтобы он видел только разрешенные нами каталоги.


person Andrei Serdeliuc ॐ    schedule 07.05.2009    source источник
comment
Разве не для этого были разработаны разрешения?   -  person David Schmitt    schedule 07.05.2009
comment
Я хочу пойти немного дальше, чем просто запретить доступ на чтение/запись.   -  person Andrei Serdeliuc ॐ    schedule 07.05.2009
comment
chroot запрещает только чтение/запись.   -  person David Schmitt    schedule 08.05.2009


Ответы (6)


Поиск в Google по запросу «openssh jail» привел меня к SSHjail для openSSH. Если ваш клиент использует ssh/scp для доступа к указанным серверам, это может быть то, что вы ищете.

person Tiberiu Ana    schedule 07.05.2009

«Лучший ответ» от 2009 года устарел. OpenSSH теперь поставляется с опцией ChrootDirectory. См. http://www.debian-administration.org/articles/590 для уже старая версия ssh.

person huyz    schedule 18.06.2011

Важно отметить, что chroot(2) не предназначен для обеспечения безопасности. Сбежать из chroot-тюрьмы невероятно легко. Дополнительную информацию см. в этой статье о злоупотреблении chroot.

person Chas. Owens    schedule 07.05.2009
comment
Это должен быть комментарий, а не ответ. - person nobody; 07.08.2014
comment
Комментарий без ответа, только ссылка и ссылка уже мертва (сервер не работает). - person Palec; 07.08.2014

Если вы действительно хотите дойти до такой крайности, SE Linux (или любой другой обязательный контроль доступа) — это определенное улучшение разрешений Unix по умолчанию.

person David Schmitt    schedule 07.05.2009

Эффективный способ сделать это — использовать lshell.

person unwellmilles    schedule 26.10.2013

Нет простого способа посадить пользователей в тюрьму в их домашних каталогах. Кстати, я бы НИКОГДА не давал доступ к своим системам кому-то, кому я не доверяю как минимум.

В прошлый раз я использовал «неизбежное» меню, основанное на http://bash.cyberciti.biz/guide/A_menu_box .bashrc запускает этот скрипт, от которого невозможно уйти:

~/.bashrc :
(LAST LINE)
./menu.sh; exit 0

Да, мне приходилось писать скрипты для каждого пункта меню (получать логи, проверять sys, ...), но никто не запускал 'chown -R root:root /' вместо *. Бесценный.

[EDIT]: создайте выделенного пользователя, не делайте этого как root !!!

person user1293603    schedule 07.08.2014
comment
Как упоминалось в stackoverflow.com/a/21649384/2404541, пользователь может просто написать сценарий, отправив кучу ^Z или ^C символы клиенту сразу после ввода пароля, чтобы полностью сократить любые усилия, предпринятые в bashrc. lshell кажется лучшим решением из того, что я читал до сих пор... - person TheStoryCoder; 12.04.2018