回答:
Match
オペレータは、非常に柔軟なルールをできるように、複数の引数を取ることができます。この場合、このようなことを実行して、目的を達成できます。
Match Group FOOGROUP User !username
ForceCommand /bin/customshell
!
渡される引数否定しUser
、ユーザがそうしても、基準をusername
グループ内にあるFOOGROUP
、Match
成功しないだろう、とusername
してログイン時にカスタムシェルを与えられません。
*,!username
、よりクリーンなアプローチです。しかし、あなたのソリューションが失敗し、別のケースでは、この種の混合されるMatch
とChrootDirectory
(両方のOpenSSH 5.3p1および7.4p1でテストを)。
構成ファイルエントリで複数の句を使用する必要がありますが、非常に具体的な方法で使用します。いくつかのセットアップにはバグがあり、一般的に推奨される最も単純な構文( "Match Group FOOGROUP User!username")により、グループ内の他の全員がMatchに失敗するか、chroot jailから逃れることができます。
OpenSSH_6.0p1 Debian-4、OpenSSL 1.0.2dを使用するDebian Jessieでは、グループ内の他の全員が接続できなくなるという結果になります。 その他は、刑務所の休憩を報告します。どちらの場合も、次の構文
Match Group FOOGROUP User *,!username
副作用なしで動作するようです。パーサーのある種のバグは間違いありません。
以下のオプションを使用すると、指定されたディレクトリ内のsftpユーザーと、sshを介してログインできる指定されたユーザーをjailできます。
Match Group groupname User *,!username
ありがとう。