The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"FreeBSD4.7 chroot для пользователя с shell-ом (проблемы)"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"FreeBSD4.7 chroot для пользователя с shell-ом (проблемы)"
Сообщение от Dragon_Stas emailИскать по авторуВ закладки on 15-Июл-03, 14:26  (MSK)
Есть пользователь user1 c домашней директорией /home/user1
В файле sudores прописано строчка
user1  ALL= NOPASSWD: /usr/sbin/chroot /home/user1 /bin/su user1
в каталог /home/user1 скопироал директории:
/etc
/bin
/sbin
/usr
Вхожу в систему под пользователем user1
выполняю команду /usr/sbin/chroot /home/user1 /bin/su user1
все отлично корнем становиться /home/user1, текущий пользователь user1, НО стоит ввести команду exit как я опять попадаю в первую консоль и корень меняется на /.
Подскажите/посоветуйте как запереть пользователя в chroot директории ?

P>S делал по статье http://www.tjw.org/chroot-login-HOWTO/, но по ней ни чего вообще не получается :(

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "FreeBSD4.7 chroot для пользователя с shell-ом (проблемы)"
Сообщение от Nimdar Искать по авторуВ закладки on 15-Июл-03, 14:31  (MSK)
>Есть пользователь user1 c домашней директорией /home/user1
>В файле sudores прописано строчка
>user1  ALL= NOPASSWD: /usr/sbin/chroot /home/user1 /bin/su user1
>в каталог /home/user1 скопироал директории:
>/etc
>/bin
>/sbin
>/usr
>Вхожу в систему под пользователем user1
>выполняю команду /usr/sbin/chroot /home/user1 /bin/su user1
>все отлично корнем становиться /home/user1, текущий пользователь user1, НО стоит ввести команду
>exit как я опять попадаю в первую консоль и корень меняется
>на /.
>Подскажите/посоветуйте как запереть пользователя в chroot директории ?
>
>P>S делал по статье http://www.tjw.org/chroot-login-HOWTO/, но по ней ни чего вообще не получается :(

Ну правильно :) Ты запускаешь su - и юзер chroot-ится. Как только выходишь, ессесно все возвращается обратно. :)
А что именно у тебя не получалось по статье?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "FreeBSD4.7 chroot для пользователя с shell-ом (проблемы)"
Сообщение от Dragon_Stas emailИскать по авторуВ закладки on 15-Июл-03, 20:15  (MSK)
>А что именно у тебя не получалось по статье?
БОЛЬШОЕ СПАСИБО Nimdar.
Ураа заработало!!!
В чем проблема была я так и не догнал возможно в отсутствии каталога /home/user1/home/user1 :(.
Правда возникли другие проблемы, но о них в конце :), а пока я опишу последовательность своих действий после которых часть того, что мне нужно заработало.
1) значит была создана учетная запись пользователя user1 т.е в /etc/passwd имеем следующую запись
user1:*:UID:GID:FIO:/home/user1:/usr/local/bin/bash
2) создал в /bin скрипт chroot-shell

#!/usr/local/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;
3) добавил в /etc/shells строчку /bin/chroot-shell
4) скопировал в /home/user1 каталоги
/usr/
/etc
/bin
/sbin
(далее предполагаю убить все ненужное из них и оставить минимум)
создал там же каталог /home/user1
5) в /usr/local/etc/sudores добывал строчку
user1 ALL = NOPASSWD: /usr/sbin/chroot /home/user1 /usr/bin/su - user1*
6) выполнил команду:
chsh user1
и изменил интерпритатор c /usr/local/bin/bash на /bin/chroot-shell

Ну вот после этих шагов у меня все заработало :) , теперь осталось разобраться как это все работает.

P>S Ну вот после возникли еще вопросы !

1) зачем в скрипте chroot-shell нужен цикл

for param in $*; do
                if [ $i -gt 0 ]; then
                        PARAMS="$PARAMS $param";
                fi
                let i++;
done;

ведь при запуске интерпритатора у нас $* пусты ?

2) при выполнении команды
mkhod -m 0666 /home/user1/dev/tty c 5 0
происходит вот такая ощибка:
usage: mknod name [b|c] major minor [owner:group]
не подскажите, где тут я глючу ведь я делаю все по FAQу.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "FreeBSD4.7 chroot для пользователя с shell-ом (проблемы)"
Сообщение от Dragon_Stas emailИскать по авторуВ закладки on 16-Июл-03, 10:26  (MSK)
>2) при выполнении команды
>mkhod -m 0666 /home/user1/dev/tty c 5 0
>происходит вот такая ощибка:
>usage: mknod name [b|c] major minor [owner:group]
>не подскажите, где тут я глючу ведь я делаю все по FAQу.
>
Вопрос номер 2 снимаю с поездки дня:
ответ на него прост :)
надо было смотреть ман FreeBSD, а не Слеквари (во FreeBSD в команде mknod отсутствует ключ -m )
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру