У меня есть пользователь в моей системе Linux, которому разрешено использовать только SSH для scp
, sftp
и rsync
, но не разрешено иметь сеанс оболочки в сеансе SSH. Я хочу знать безопасный способ установить ограничение.
Типичный ответ - ограничить пользовательскую оболочку, установив в /etc/passwd
оболочку по умолчанию rssh
. Однако изменение оболочки по умолчанию, очевидно, также влияет на другие приложения, которые зависят от переменной среды SHELL. Например, в последней версии Fedora 22 это, кажется, влияет на команду less, которая вызывает оболочку по умолчанию, поэтому пользователь получит странное предупреждение от rssh
когда он запускает команду less (например, когда sudoed другим пользователем, не подключенным). через SSH). Могут быть и другие программы, которые затронуты более масштабно и драматично.
Установка для авторизованного пользователем ключа для ограничения запуска программы на самом деле не работает, потому что он может использовать sftp
/scp
чтобы изменить его на что-то не ограничивающее.
Итак, как еще можно ограничить доступ пользователя?