[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: SSH2 & Restricted Shell ?



CuPoTKa wrote:

> Хотя если лузер способен написать скриптину то он обойдет все restrictions.
> Есть еще идеи у народа как сделать, чтоб лузер не вылезал из своего home?

Можно поместить его в chrooted окружение (man chroot). Только надо у него в
хоуме воссоздать всю структуру корневого каталога. Это сделать не так сложно,
как кажется. Надо сделать в его жесткие ссылки на все файлы, которые нужны ему
для работы. Этих файлов достаточно много, именно поэтому лучше сделать жесткие
ссылки, а не копировать эти файлы в каждый хоум. Все нужные ему файлы должны
быть на той же файловой системе, что и его хоум. Если у тебя на винчестере один
раздел "/", проблем быть не должно. Иначе, надо завести какого-то левого юзера в
той же файловой системе и все нужные файлы туда ему скопировать. И потом делать
жесткие ссылки на эти скопированные файлы.
Вот, например, скрипт для создания жестких ссылок на все файлы из /bin (без
рекурсии):
===
#!/bin/bash

mkdir /home/vasya/bin
for each_file in `ls -a /bin`; do
        if [ ! -d $each_file ]; then
                ln $each_file /home/vasya/$each_file;
        fi;
done;
===
Конечно, придется попотеть. Надо будет решить, какие файлы юзеру нужны. Не
забыть про /var/mail/vasya, /dev/null. Зато из chroot'a юзер ну никак не
вырвется (только если сломает что-то суидное у себя в chroot'e).
Надо еще в ftp-демоне прописать, что он анонимус, это тоже удержит его в своем
хоуме.

Но задумайся, так ли это все надо? Пусть юзеры ходят лучше куда хотят. Можно
комп засунуть в сейф и в землю зарыть - тогда его никто не взломает кроме
кротов. Дебиан создавался для реализации людских возможностей, а не для их
запретов. Это единственный известный мне дистрибут, где хоумы создаются с
правами -rwxr-xr-x, и я считаю, это правильно. Надо по умолчанию делиться
информацией, а не закрывать ее. Ты думаешь, почему в каталоге /bin, например,
файлы открыты на чтение? Юзерам ведь не нужно бинарники читать, достаточно бита
+х. Может я тебе подсказал хорошую идею и ты хочешь снять +r оттуда? "А вдруг
они возьмут отладчик, проведут reverse engineering, найдут баг и все нахрен
сломают?" Надо другими методами систему защищать. Она по умолчанию и так
достаточно хорошо защищена. На то и юникс.




Reply to: