%20%E3%81%AB%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88%E3%80%81%E7%95%B0%E3%81%AA%E3%82%8B%20posixgroup%20%E3%83%A1%E3%83%B3%E3%83%90%E3%83%BC%E3%82%B7%E3%83%83%E3%83%97%E3%82%92%E6%8C%81%E3%81%A4%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82.png)
Unixクライアントを備えたOpenLDAPサーバーで次の目的を達成する方法についてのアイデアはありますか
目的: a) 各ユーザーは、LDAP サーバー設定を通じて、異なるホスト (UNIX サーバー) への個別のアクセス制限を持つ必要があります。b) 各ログイン ユーザー (許可されている場合) は、LDAP サーバー設定に基づいて、異なるマシンで個別の posixgroup メンバーシップを持つ必要があります。たとえば、ユーザー janaki は、server-1 では sudo posixgroup メンバーになりますが、server-2 ではメンバーにはなりません。
パートAの目標は以下のように達成できました。
LDAP オーバーレイ (memberof および refint) を使用して、ユーザーに対して個別のアクセス制限を必要とする各マシン/ホストに対して、メンバー属性を持つ個別のグループ (objectClass groupofNames) を作成します。LDAP サーバーでこれらのグループ (type groupofnames) にユーザー (posixAccount) を追加して、各サーバーへの認証アクセスを有効にします。クライアント マシン (unix サーバー) で、nss_base_passwd フィルターを追加して、memberof=cn=group-name (LDAP でこのサーバーを表すグループ名) をテストします。これは成功し、機能しています。
必要なのは、パート b をどのように実現するかということです。つまり、これを実現するには、openldap サーバーと unix クライアントでどのような構成が必要ですか。
- ジャナキより
答え1
LDAP では、オブジェクト クラス posixGroup を使用できます。このオブジェクト クラスを使用すると、各クライアント コンピュータの Unix グループに対応するグループを作成できます。次に、ユーザーの UID を指定する memberUid 属性を使用して、これらのグループにユーザーを追加できます。クライアント マシンでは、/etc/ldap.conf ファイルで nss_base_group フィルターを構成して、LDAP サーバーから posixGroup オブジェクトを取得できます。これにより、クライアント コンピュータは、LDAP サーバーからのグループ メンバーシップ情報を使用して、ユーザーがログオンしたときにその Unix グループ メンバーシップを判別できます。もう 1 つお勧めしたいのは、pam_ldap モジュールを使用してユーザーを認証し、ユーザーがログインしたときに LDAP サーバーの設定に基づいてグループ メンバーシップを設定することです。
編集1(コメントを参照して参照してください): はい、posixGroup オブジェクト クラスと nss_base_group フィルターを使用して、異なるクライアント マシン上の異なるユーザーに異なる Unix グループ メンバーシップを設定するという目的を達成できます。
これを行うには、クライアント マシンで使用するグループごとに、LDAP サーバーに posixGroup オブジェクトを作成します。次に、memberUid 属性を使用して、各グループのメンバーであるユーザーの UID を指定します。
クライアント マシンでは、/etc/ldap.conf ファイルで nss_base_group フィルターを構成して、LDAP サーバーから posixGroup オブジェクトを取得できます。たとえば、クライアント マシンの /etc/ldap.conf ファイルに次の行を追加できます。
nss_base_group ou=Groups,dc=example,dc=com?one
これにより、クライアント マシンは LDAP サーバー内の Groups OU で posixGroup オブジェクトを検索し、それらのオブジェクトの情報を使用して、ユーザーがログインしたときに Unix グループ メンバーシップを設定します。
pam_ldap モジュールを使用して、ユーザーがログインしたときに LDAP サーバーの設定に基づいてユーザーを認証し、グループ メンバーシップを設定することは可能です。pam_ldap モジュールは、ユーザーがクライアント マシンにログインしたときに、LDAP サーバーを使用してユーザーを認証し、グループ メンバーシップを設定するように構成できます。
pam_ldap モジュールを使用するには、クライアント マシンの /etc/pam.d/common-auth ファイルに次の行を追加します。
auth sufficient pam_ldap.so
これにより、pam_ldap モジュールは LDAP サーバーを使用してユーザーを認証し、LDAP サーバーの情報に基づいてグループ メンバーシップを設定します。