Openssh

如何從 SSHD 中的“匹配組”中排除?

  • June 5, 2018

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

似乎沒有副作用。毫無疑問,解析器中存在某種錯誤。

引用自:https://unix.stackexchange.com/questions/137422