Назад | Перейти на главную страницу

Linux - Ограничьте пользователя одним приложением в ssh

Это то, что я изучал некоторое время назад и нашел полезную информацию ... но теперь, когда мне действительно нужно это сделать, я, конечно, больше не могу найти то руководство, которое видел.

В любом случае, вот ситуация. У меня есть программа, которая запускается с использованием меню ncurses через SSH. Я хочу, чтобы пользователи могли входить в эту программу через SSH, но только в эту программу.

Что мне нужно сделать, чтобы этот сценарий стал возможен?

Моя цель - запретить им вообще видеть командную строку и ограничиться только этой программой. Это возможно? Как мне это сделать?

Это также называется подключенным входом.

Добавить в ~ / .profile пользователя выполнение программы и выход.

exec /usr/local/bin/program
exit

Умные пользователи знают, что они могут предоставить в своем ssh-клиенте команду, отличную от ожидаемой. Предотвратите это с помощью ForceCommand в конфигурации sshd:

ForceCommand

Принудительно выполняет команду, указанную ForceCommand, игнорируя любую команду, предоставленную клиентом и ~ / .ssh / rc, если он присутствует. Команда вызывается с помощью оболочки входа пользователя с параметром -c. Это относится к выполнению оболочки, команды или подсистемы. Это наиболее полезно внутри блока Match.

Match Group programusers
    ForceCommand /usr/local/bin/program