Необходимо пускать пользователя по SSH в командную строку, но позволять ему запустить не более чем чётко заданный набор команд или программ. Контроль предполагается именно такой, потому что помимо командной строки, у удаленного пользователя есть доступ к каталогам по SFTP и, теоретически, он может закачать на сервер произвольный файл и выполнить его.
Пока думаю в направлении поиска некой "ограниченной командная оболочки" с руками задаваемым списком команд допускаемых на выполнение.
Желательно исходники, потому что нужна мне такая софтина и под венду (предполагается использовать OpenSSH и для виндоус).
Можно, конечно, написать самому, но может просто я думаю не в том направлении?!
Собственно, каковы подходы и принципы решения такого рода задачи? интересует вопрос как под Линукс и Виндоус?
PS: извините за оффтоп, но думаю у вас уместно спросить и про виндоус... некрасиво конечно спрашивать принципы решения проблем под виндоус на линукс-форуме, но где ещё расскажут на понятном для туксомана языке?
как ограничить список запускаемых команд через SSH (т.е. при коннекте через SSH)
Модераторы: SLEDopit, Модераторы разделов
-
Denjs
- Сообщения: 1685
- ОС: SuSe 10.2
-
skeletor
- Сообщения: 1224
Re: как ограничить список запускаемых команд через SSH
Установите переменную PATH для него, например, так
туда поместите нужные команды, закройте этого юзера в chroot окружении и этого должно быть достаточно.
Код: Выделить всё
$PATH=/home/user/binтуда поместите нужные команды, закройте этого юзера в chroot окружении и этого должно быть достаточно.
-
nesk
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: как ограничить список запускаемых команд через SSH
rbash как раз для этого
или еще rssh
или еще rssh
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED