Отказавший к su после создания chroot тюрьмы

На хосте CentOS на 64 бита я использую сценарий make_chroot_jail.sh для заключения пользователя в тюрьму не разрешая этому видеть, что что-либо ожидает, это дома в /home/jail/home/user1.

Я сделал это вводящий это:

sudo ./make_chroot_jail.sh user1

после, при попытке соединиться с user1 сначала я получал ошибку как:

/bin/su: user guest does not exist

я зафиксировал это путем копирования некоторых пропущенных библиотек:

sudo cp /lib64/libnss_compat.so.2 /lib64/libnss_files.so.2 /lib64/libnss_dns.so.2 /lib64/libxcrypt.so.2 /home/jail/lib64/
sudo cp -r /lib64/security/ /home/jail/lib64/

Но теперь, при попытке соединиться с вводом user1 su user1 и затем ввод его является паролем, я получаю эту ошибку:

could not open session

Таким образом, вопрос состоит в том, как соединиться с user1 в этой ситуации?

P.S. Вот полномочия некоторых файлов, это могло бы быть полезно для предоставления решения:

-rwsr-xr-x 1 root root /home/jail/bin/su
drwxr-xr-x 4 root root /home/jail/etc
-rw-r--r-- 1 root root /home/jail/etc/pam.d/su
-rw-r--r-- 1 root root /home/jail/etc/passwd
-rw------- 1 root root /home/jail/etc/shadow

UPDATE1

После некоторых модификаций мне удалось соединиться с user1, но сессия сразу закрывается! Я предполагаю это проблема PAM, однако наклон находит способ зафиксировать ее.

Здесь запись в журнале для близкого действия от /val/log/secure:

Oct  6 15:19:42 localhost su: pam_unix(su:session): session closed for user user1

Что делает сессию для выхода сразу после запуска?

1
задан 07.10.2010, 01:25

1 ответ

Я нашел решение.

В первую очередь, необходимо забыть о make_chroot_jail.sh и использовать Jailkit.

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

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

A. Сделать ./configure; make; make install поскольку это, описывает в INSTALL.txt.

B. Добавить /usr/sbin к $PATH если это уже не там.

C. Сделайте это:

jk_init -v -j /home/jail basicshell editors extendedshell netutils ssh sftp scp

Это может перестать работать с сообщением об ошибке как это:

`ERROR: configfile /usr/jk_init.ini does not exist`

Зафиксировать это, в /usr/sbin/jk_init изменение INIPREFIX='/usr' кому: INIPREFIX='/etc/jailkit' и попробуйте еще раз.

D. Сделайте это:

jk_jailuser -v -m -j /home/jail customer01

Это может перестать работать с сообщением об ошибке как это:

invalid shell, /home/jail/usr/sbin/jk_lsh does not exist

Для фиксации делают это:

jk_init -v -j /home/jail jk_lsh

и попробуйте еще раз. Вы могли бы вместо этого добавить jk_lsh к списку на шаге C.

E. Теперь при попытке соединиться с customer01, соединение может сразу выйти после запуска. Устранить эту проблему в /home/jail/etc/passwd измените оболочку customer01 и установите его для избиения как это:

customer01:x:518:601::/home/customer01:/bin/bash

вместо этого:

customer01:x:518:601::/home/customer01:/usr/sbin/jk_lsh
0
ответ дан 17.12.2019, 00:32

Теги

Похожие вопросы