Openssh
如何從 SSHD 中的“匹配組”中排除?
SSHD 配置中有一個匹配組:
cat /etc/ssh/sshd_config ... Match Group FOOGROUP ForceCommand /bin/customshell ...
機器上有許多使用者在“FOOGROUP”中。
**我的問題:**如何從“匹配組”中排除“FOOGROUP”中的給定使用者?
運算符可以採用
Match
多個參數,從而允許非常靈活的規則。在這種情況下,你可以做這樣的事情來實現你想要的。Match Group FOOGROUP User !username ForceCommand /bin/customshell
!
否定傳遞給標準的參數,User
因此即使使用者username
在 groupFOOGROUP
中,Match
也不會成功,並且username
不會在登錄時獲得自定義 shell。
您需要在配置文件條目中使用多個子句,但要以非常具體的方式。在某些設置中存在一個錯誤,導致通常推薦且最簡單的語法(“匹配組 FOOGROUP 使用者!使用者名”)導致組中的其他所有人無法匹配或讓他們逃離他們的 chroot 監獄。
在使用 OpenSSH_6.0p1 Debian-4、OpenSSL 1.0.2d 的 Debian Jessie 上,我得到的結果是組中的其他所有人都無法再連接。 其他人報告越獄。在這兩種情況下,語法
Match Group FOOGROUP User *,!username
似乎沒有副作用。毫無疑問,解析器中存在某種錯誤。