У меня есть пользователь, которого посадили в тюрьму.
sshd_config:
Subsystem sftp internal-sftp
Match user matt
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
пароль:
matt:x:1001:5006:Matt Ryan,,,:/home/matt:/home/matt/bin/bash
Это отлично работает для sftp. Пользователь ограничен своей домашней папкой и любыми монтировками.
Но я также хотел бы предоставить этому доступ к командной оболочке. Вот что происходит, когда они пытаются войти в систему:
$ ssh matt@server.com
Linux devnode 2.6.38-linode31 #1 SMP Mon Mar 21 21:22:33 UTC 2011 i686 GNU/Linux
Ubuntu 10.04.2 LTS
Welcome to Ubuntu!
* Documentation: https://help.ubuntu.com/
Last login: Thu Mar 31 13:04:29 2011 from abc.nyc.res.rr.com
/home/matt/bin/bash: No such file or directory
Connection to server.com closed.
Через fstab папка bin монтируется в домашний каталог и присутствует.
Почему я получаю эту ошибку ... и как ее решить?
Спасибо за помощь!
Когда ты chroot
, названный каталог становится /
. Правильный путь оболочки внутри chroot
затем /bin/bash
не /home/matt/bin/bash
.
Вам также необходимо убедиться, что внутри достаточно других вещей. chroot
чтобы система работала. Вы можете проверить это с помощью sudo chroot /home/matt /bin/bash
и посмотрите, что работает, а что нет; по крайней мере, вам наверняка понадобится манекен /etc
, а bind
гора /proc
, и большая часть /lib
внутри chroot
.