Chroot на sshd

Автор Pavel56, 08 февраля 2024, 08:53:46

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Pavel56

Здравствуйте =)
Имеется необходимость, третий день не могу ничего придумать, надеюсь на Вашу помощь.

В системе есть пользователь, например admin.
В системе есть кастомная оболочка вместо баша.
В /etc/passwd adminу указана эта оболочка при запуске.
Если мы подключаемся по ssh к компу от админа, то запускается эта оболочка и отлично работает
Задача такая:
Настроить sftp сервер так, чтобы при запуске sftp запускался chroot, и можно было, скажем лазить по папкам через  например WinScp, а при запуске ssh по прежнему запускалась оболочка.

Проблемы, которые у меня возникли:
1. При настройке для admin sftp и Subsystem internal-sftp, chroot отлично работает. Но вот если я подключаюсь по ssh, то получаю сообщение, что оболочка не доступна. Логично...

2. Я не могу поместить оболочку в chroot так как она не должна быть видна пользователю. Да, я могу настроить саму оболочку так, чтобы она полностью игнорировала свой бинарь и не показывала юзеру, но когда я подключусь по sftp, то её будет видно. То же самое с ссылками и монтированием (которое мне все равно так и не удалось настроить).

То есть задача сводится к следующему:
По sftp необходимо запустить chroot, и не запускать оболочку но так, чтобы при запуске по ssh могла запуститься оболочка, и так, чтобы в chroot её не было видно)

было бы идеально, если бы chroot запускался только по sftp, но не по ssh.

Если я мракобешу прошу простить, с линуксом знаком не сильно. На любые вопросы с удовольствием отвечу.