2日間この仕事をしましたが、すぐにあきらめようとします。誰かを助けてください。
私のActive DirectoryドメインにRed Hat 6サーバーが参加しています。通常の状況では、ログインはうまく機能します。 /etc/security/pam_winbind.conf ファイルで require_membership_of= を使用して、SSH ログインを特定の Active Directory グループに制限しました。良い結果。
これで、これらのユーザーが自分のホームディレクトリ(chroot)にのみアクセスし、SFTPログインのみを許可できるようにロックする必要があります。
/etc/ssh/sshd_configファイルを編集するために約10億の組み合わせを試しましたが、最終的にユーザーがホームフォルダに制限されていないかログインできなくなりました。次の設定は、ローカルユーザー/グループを使用してchrootログインとsftpログインを制限するときに正しく機能します。Match group
(もちろんローカルユーザーグループに変更しました)
私に質問してください考える私の事実は、LDAPユーザーがローカルユーザーではなく、ローカルグループがないことです。私のsshd_configファイルの関連部分は次のとおりです。
Match group 'Domain Users'
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
sshd を再起動するとエラーが表示されます。に/etc/ssh/sshd_config line 135: Bad Match condition
変更するとエラーは発生しませんが、LDAPユーザーはホームディレクトリに制限されません(chrootは機能しません)。私はそれを新しい/ chrootフォルダと/ home / % uに変更しようとしましたが、両方は機能しませんでした。'Domain Users'
Domain\040Users
ChrootDirectory %h
思い浮かぶ解決策は次のとおりです。
- LDAPユーザーが属するデフォルトグループを変更します。 (この設定はどこにもなく、/etc/default/useradd設定は適用されません。)
- sshd_configファイルを
Match group
ドメインユーザーに適したファイルに変更します。ドメインユーザーグループのLDAPで'Domain Users'
、、、Domain\ Users
およびSIDを試みました。Domain\040Users
これらすべてが機能しない場合、またはsshdを再起動するとエラーが発生する - 初めてログインしたときにシステムにローカルユーザー/グループを作成させます(ただし、ADのパスワード同期が中断される可能性があります)。
- 私が完全に逃したものもあります。
LDAPログインでchroot制限を設定した経験がある人はいますか?私はパニックになり、ブラウザでより多くのタブを開くことができないと思います。
答え1
#centos チャンネルの TrevorH1 のおかげで動作させることができました。
グループをスペースと一致させる方法(私の場合はドメインユーザー)は、スペース?
(標準シェルグローバルパターン)を表すために使用することです。これはスペース以外の文字を持つすべてのグループと一致しますが、私のニーズに適しています。
たとえば、私の新しいsshd_config
外観は次のとおりです。
Match Group domain?users
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
ドメインの代わりに小文字を使用しますか?私にとっては、ユーザーも重要です。 LDAP のグループも大文字です。これにより、id <username>
ユーザーが属するすべてのグループのリストを提供して、フィルタリングする必要があるグループを見つけることができます。複数のLDAPグループ(ドメインユーザー、ドメイン!ユーザー、ドメインユーザーなど)がある場合、これは必要な場合と必要ない場合があるすべての場合と一致します。
答え2
このマッチンググループ「ドメインユーザー」を試すことができます。これは私にとって効果的です。私が使用している構文も、グループ「WORKGROUP \ domain users」と一致させるのがあなたの構文よりも困難です。