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


13

SSHD構成に一致グループがあります。

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

マシンには「FOOGROUP」に属する多くのユーザーがいます。

私の質問:「FOOGROUP」に属する特定のユーザーを「Match Group」から除外するにはどうすればよいですか?

回答:


14

Matchオペレータは、非常に柔軟なルールをできるように、複数の引数を取ることができます。この場合、このようなことを実行して、目的を達成できます。

Match Group FOOGROUP User !username
  ForceCommand /bin/customshell

!渡される引数否定しUser、ユーザがそうしても、基準をusernameグループ内にあるFOOGROUPMatch成功しないだろう、とusernameしてログイン時にカスタムシェルを与えられません。


そして、これは "!username"だけを除外するという100%の確信がありますか?また、FOOGROUPに参加できる他のユーザーは変更されませんか?
エヴァクリスティン14年

2
はい。投稿する前にテストしましたが、説明どおりに機能します。
D_Bye 14年

1
そうです*,!username、よりクリーンなアプローチです。しかし、あなたのソリューションが失敗し、別のケースでは、この種の混合されるMatchChrootDirectory(両方のOpenSSH 5.3p1および7.4p1でテストを)。
Ouki

4

構成ファイルエントリで複数の句を使用する必要がありますが、非常に具体的な方法で使用します。いくつかのセットアップにはバグがあり、一般的に推奨される最も単純な構文( "Match Group FOOGROUP User!username")により、グループ内の他の全員がMatchに失敗するか、chroot jailから逃れることができます。

OpenSSH_6.0p1 Debian-4、OpenSSL 1.0.2dを使用するDebian Jessieでは、グループ内の他の全員が接続できなくなるという結果になります。 その他は、刑務所の休憩を報告します。どちらの場合も、次の構文

Match Group FOOGROUP User *,!username

副作用なしで動作するようです。パーサーのある種のバグは間違いありません。


0

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

Match Group groupname User *,!username

ありがとう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.