2oxonian - а где здесь мат-то??? ткни пожалуйста
2hbb - теоретически можно поставить права доступа 600 на /, вот только потом все проги запускаться перестанут(потому как к ним нет доступа), реальнее просто запретить запись в тех местах, куда лазить не надо и все.
Что значит "выходить"?
Они обязаны иметь доступ к содержимому /bin /usr/bin /usr/local/bin - иначе нафиг нужна эта система?
из /etc тоже прийдется читать кое-что. И из /usr/share, и /lib /usr/lib ...
Если есть что прикрыть, положи это в куда-то и дай соответствующие права, и все.
выражаю свое фи
если пользователям не надо куда попало лезть то надо просто закрыть это куда попало.
Если боитесь за взлом системы то пользуйте повышение безопаности, ссылка на FAQ есть
chroot надо делать.
1. Делаешь юзера, в его home дире создаёшь /etc /dev /bin /lib /usr /usr/bin /home /home/юзер/home.
2. В dev делаешь mknod tty и urandom
3. Копируешь bash,su,cp,ln,ls,rm,mv,du,ssh,scp,env. C ldd смотришь для всех бинаров нужные библиотеки и их тоже копируешь к юзеру
4. Если su использует pam, то надо новый su собрать.
5. Если красная шапка, то надо ещё /lib/libnss_files.so.2, /lib/libnsl.so.1 и /lib/libnss_compat.so.2
6. С visudo добывать следующее:
user ALL= NOPASSWD: /usr/sbin/chroot /home/user /bin/su - user*
7. В passwd для login shell надо поставить следующее:
#!/bin/bash
if [ "$1" = "-c" ]; then
i=0;
PARAMS="";
for param in $*; do
if [ $i -gt 0 ]; then
PARAMS="$PARAMS $param";
fi
let i++;
done;
sudo /usr/sbin/chroot /home/$USER /bin/su - $USER -c "$PARAMS"
else
sudo /usr/sbin/chroot /home/$USER /bin/su - $USER
fi;
8. Можно создавать новый юзеров и давать им шелл.
з.ы. Каждому своё. но у меня такая штука работает и всё happy.