SSHDの「一致グループ」から除外するには?

SSHDの「一致グループ」から除外するには?

SSHD設定に一致するグループがあります。

cat /etc/ssh/sshd_config
...
    Match Group FOOGROUP
    ForceCommand /bin/customshell
...

システムに「FOOGROUP」に属するユーザーがたくさんいます。

私の質問:「一致グループ」から「FOOGROUP」の特定のユーザーを除外する方法は?

答え1

このMatch演算子は複数の引数を使用でき、非常に柔軟なルールを受け入れます。この場合、必要なものを達成するためにこのようなことを行うことができます。

Match Group FOOGROUP User !username
  ForceCommand /bin/customshell

!条件に渡されたパラメータを無効にすると、Userユーザーがusernameグループにあっても成功しなくなり、FOOGROUPログイン時にカスタムシェルを取得できなくなります。Matchusername

答え2

構成ファイル項目には複数の句を使用する必要がありますが、非常に具体的な方法で使用する必要があります。一部の設定には、一般的に推奨される最も単純な構文( "match group FOOGROUP user!username")が発生し、グループ内の他のユーザーが一致しないようにするか、chroot刑務所から逃れることを許可するバグがあります。

OpenSSH_6.0p1 Debian-4、OpenSSL 1.0.2d を使用している Debian Jessie では、グループの他のユーザーが接続できなくなったという結果が出ました。 他の人脱獄を報告してください。どちらの場合も構文は次のとおりです。

Match Group FOOGROUP User *,!username

副作用はないようです。間違いなく、パーサーにはある種のバグがあります。

答え3

以下のオプションを使用すると、sftpユーザーを指定されたディレクトリに入れることができ、指定されたユーザーはSSHを介してログインすることもできます。

Match Group groupname User *,!username

ありがとうございます。

関連情報