РЕДАКТИРОВАТЬ: После долгих копаний это почти наверняка является результатом вызова /etc/profile.d/...
перед выполнением rbash, и, следовательно, не является проблемой с ограниченным bash в себе.
Кажется, существует тривиальное обходное решение rbash, согласно которому пользователь SSH может просто запросить выполнение bash.
Среда состоит из ограниченного $PATH
с небольшим набором доступных команд. Команда id
недоступна, на этом я основываю следующую расшифровку:
testuser@jumphost:~$ id
-rbash: id: command not found
.. но потом ..
testuser@jumphost:~$ ssh localhost "bash"
testuser@localhost's password:
id
uid=3033(testuser) gid=4033(jumpuser) groups=5033(foogroup) context=jumpuser_u:jumpuser_r:jumpuser_t:s0
..bash вызывается; ограниченная оболочка была обойдена.
Я попытался реализовать вызов rbash через Match Group
/ ForceCommand
в sshd_config
, и хотя он вызывает rbash для меня, проблема возможности просто выполнить bash все еще существует.
Мы не используем открытые ключи по умолчанию для внешних пользователей по логистическим причинам, поэтому возможность "command="
в файле ~/.authorized_keys
не является опцией. Мы также хотели бы предложить больше , чем просто SSH пользователей .. kinit
/ klist
, а также несколько других неквалифицированных программ.
Есть ли механизм, ограничивающий это поведение?