как ограничить список запускаемых команд через SSH (т.е. при коннекте через SSH)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

как ограничить список запускаемых команд через SSH

Сообщение Denjs »

Необходимо пускать пользователя по SSH в командную строку, но позволять ему запустить не более чем чётко заданный набор команд или программ. Контроль предполагается именно такой, потому что помимо командной строки, у удаленного пользователя есть доступ к каталогам по SFTP и, теоретически, он может закачать на сервер произвольный файл и выполнить его.

Пока думаю в направлении поиска некой "ограниченной командная оболочки" с руками задаваемым списком команд допускаемых на выполнение.
Желательно исходники, потому что нужна мне такая софтина и под венду (предполагается использовать OpenSSH и для виндоус).
Можно, конечно, написать самому, но может просто я думаю не в том направлении?!

Собственно, каковы подходы и принципы решения такого рода задачи? интересует вопрос как под Линукс и Виндоус?

PS: извините за оффтоп, но думаю у вас уместно спросить и про виндоус... некрасиво конечно спрашивать принципы решения проблем под виндоус на линукс-форуме, но где ещё расскажут на понятном для туксомана языке?
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Аватара пользователя
skeletor
Сообщения: 1224

Re: как ограничить список запускаемых команд через SSH

Сообщение skeletor »

Установите переменную PATH для него, например, так

Код: Выделить всё

$PATH=/home/user/bin

туда поместите нужные команды, закройте этого юзера в chroot окружении и этого должно быть достаточно.
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: как ограничить список запускаемых команд через SSH

Сообщение nesk »

rbash как раз для этого
или еще rssh
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали: