Linux + Active Directory認証+特定のグループのみにログインを許可


14

Windows Active Directory認証を使用するLinuxボックスがいくつかありますが、これは正常に機能します(Samba + Winbind)。

ただし、特定のユーザーまたは特定のグループのみがActive Directory資格情報を使用してログインすることを許可します。現在、有効なADアカウントを持っている人は誰でもログインできます。これをいくつかのグループのみに制限したいと思います。これは実行可能ですか?

回答:


6

グループがLinuxシステムで使用できると仮定すると、/etc/security/access.confUbuntu、RedHatディストリビューション(およびそのフォーク)、およびおそらく他の多くのグループの編集をお勧めします。これはPAMファイルの編集を必要とせず、それを行うための非常に標準的な場所です。通常、ファイルにはコメントアウトされた例があります。


おかげで、これは私がやりたいことをするために最終的に使用したものです。上記のすべての答えは素晴らしいですが、これは私にとって最もうまくいったものです。Sambaファイルを使用してSambaをロックダウンし、現在このaccess.confファイルを使用してSSHログインをロックダウンしています。
ルマ

4

(私はここでsamba 3について話しているが、現在samba 4での経験はない。)

それらの/etc/pam.d/xxxファイルを編集する必要はありません。pam_winbind.confは必要なファイルで、通常は/etc/security/pam_winbind.confにあります。

これはpam_winbindモジュールの構成ファイルであり、CentOS / RedhatとDebian / Ubuntuの両方で機能します。pam_winbind.confマニュアルページを参照してください。

以下にサンプルファイルを示します。

#
# pam_winbind configuration file
#
# /etc/security/pam_winbind.conf
#

[global]

# turn on debugging
;debug = no

# turn on extended PAM state debugging
;debug_state = no

# request a cached login if possible
# (needs "winbind offline logon = yes" in smb.conf)
cached_login = yes

# authenticate using kerberos
;krb5_auth = no

# when using kerberos, request a "FILE" krb5 credential cache type
# (leave empty to just do krb5 authentication but not have a ticket
# afterwards)
;krb5_ccache_type =

# make successful authentication dependend on membership of one SID
# (can also take a name)
# require_membership_of = SID,SID,SID
require_membership_of = S-1-5-21-4255311587-2195296704-2687208041-1794

# password expiry warning period in days
;warn_pwd_expire = 14

# omit pam conversations
;silent = no

# create homedirectory on the fly
mkhomedir = yes

3

現在、AllowGroupsディレクティブを使用して、/etc/ssh/sshd_config誰がログインできるかを制限しています。その行に1つ以上のADグループを指定すると、それらのユーザーだけがログインできます。

ユーザーがいる場合にのみ動作することに注意してくださいだけで ssh経由でリモートからサーバにアクセスします。ローカルで歌っている場合は、別の解決策を見つける必要があります。


3

はい、あなたが正確に達成しようとしていることに応じて、これを行ういくつかの方法があります。

最初の方法は、samba configを使用して実行できます。これにより、これらのユーザーはSambaにのみ接続でき、他のユーザーは他のサービス(ssh、ローカル用語など)を介してログインできます。これにより、smb.confの[global]セクションに行を追加します。

valid users = @groupA @groupB

もう1つの方法は、PAMルールを変更することです。ここでは異なる分布にはわずかな違いがありますが、一般的に言えば、サービスごとのPAMルールと一般的なルールがあるため、最適なものを決定できます。pam_requireモジュールを使用してアカウント制限を追加する必要があります。私のラップトップ(Fedora 13)の例では、/ etc / pam.d / system-authのアカウントセクションを次のように変更します。

account     required      pam_unix.so
account     required      pam_require.so @groupA @groupB
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     required      pam_permit.so

管理を簡素化するために、このサーバーにログインできるユーザーを追跡する目的で、ADに新しいグループを作成できます。


1

上記のいずれかをRHEL 7で動作させるのに苦労しました。以下が動作するようになったものです。

/etc/sssd/sssd.conf

変更 access_provider = adaccess_provider = simple +simple_allow_groups = @group1-admins@xxx.xxx.com, @group2@xxx.xxx.com

ビスド

  • %group1-admins@xxx.xxx.com ALL=(ALL) ALL

sssdサービスを再起動します。


-3

AD認証を介してLinuxボックスにsshログインするために、AD_USERまたはAD_GROUPを1つだけ許可しました。

詳細は次のとおりです:(手順7および8に注意してください)

https://gist.githubusercontent.com/xianlin/8c09d916994dac7630b9/raw/ee07817a03bc5904a5404a7e7c94e08ea0c7560a/CentOS_AD_Integration


情報がありません
ジェフリー

リンクは無効で、役に立たない投稿です。
FreeSoftwareServers

私は唯一のステップ404のNO 7および8を参照
トッド・ウォルトン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.