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
がグループFOOGROUP
に属していても、Match
は成功しません。およびusername
には、ログイン時にカスタムシェルが与えられません。
設定ファイルのエントリで複数の句を使用する必要がありますが、非常に特殊な方法です。一部の設定には、一般的に推奨される最も単純な構文(「Match Group FOOGROUP User!username」)が原因で、グループ内の他の全員が一致しなかったり、chroot刑務所から逃れたりするバグがあります。
OpenSSH_6.0p1 Debian-4、OpenSSL 1.0.2dを使用するDebian Jessieでは、グループ内の他の誰もが接続できなくなるという結果が得られます。 その他 脱獄の報告。どちらの場合も、構文
Match Group FOOGROUP User *,!username
副作用なしで動作するようです。間違いなく、パーサーのバグの一種です。
以下のオプションを使用すると、指定したディレクトリ内のsftpユーザーと、sshを介してログインできる指定したユーザーを投獄できます。
Match Group groupname User *,!username
ありがとう。