LDAPサーバーと多くの稼働中のサーバーがあります。ユーザーの情報はLDAPにあります http://fclose.com/b/281/ 。ただし、sudoersリストは/ etc/sudoersに格納されます。ここで問題となるのは、sudoersリストをLDAPに格納して、中央で制御できるようにする方法です。
LDAPサーバーと稼働中のサーバーの両方でFedora12を使用しています。
README.LDAP および sudoers.ldap
のマニュアルページの公式手順に従ってください。
Sudo
がLDAPサポート付きで構築されていることを確認してください。sudoers
ファイルをLDAPにインポートします。nsswitch.conf
でsudoers
サービスを構成します。以下のようなSudoエントリを追加します
dn: ou=sudoers,ou=people,dc=example,dc=com
ou: sudoers
objectClass: top
objectClass: organizationalUnit
dn: cn=sudogroup,ou=sudoers,ou=people,dc=example,dc=com
objectClass: top
objectClass: sudoRole
cn: sudogroup
sudoUser: thomas
sudoHost: ALL
sudoRunAs: ALL
sudoCommand: ALL
クライアントのldap.confにsudoers_baseを追加します。
sudoers_base ou=sudoers,ou=people,dc=example,dc=com
&以下のように/etc/nsswitch.confを編集します
sudoers : files ldap
これらの手順は、OpenLDAPを使用していることを前提としています。一部の詳細はArchLinuxに固有の場合があります。
Sudo
がLDAPサポートで構築されていることを確認してください。 ( README.LDAP または this を参照)slapd.conf
を編集してinclude /etc/openldap/schema/Sudo.schema
を追加することにより、SudoスキーマをLDAPサーバーに追加します。このファイルは/usr/share/doc/Sudo/schema.OpenLDAP
からコピーする必要があることに注意してください(README.LDAPを参照)。index sudoUser eq
行をslapd.conf
に追加して、属性sudoUser
にインデックスを付けるように指示し、LDAPサーバーを再起動します。Ou = SUDOersコンテナをデータベースに追加します。これは、ldapadd
を介して以下を渡すことで実行できます。
dn:ou = SUDOers、dc = example、dc = com
objectClass:トップ
objectClass:organizationalUnit
ou:SUDOers
既存のsudoers
ファイルをcvtsudoers
でLDIF形式に変換し、ldapadd
でデータベースに追加します(README.LDAPを参照)。もちろん、構成は最初から生成することもできます。
ldap.conf
(Archでは/etc/openldap/ldap.conf
)を作成(または編集)してsudoers_base ou=SUDOers,dc=example,dc=com
を追加し、Sudo LDAP対応にします( sudoers.ldap
を参照) 。 LDAP構成によっては、さまざまなLDAPオプションも設定する必要がある場合があります。オプションを設定するためのSudoの構文は、LDAP実装とは異なる場合があるため、同じ情報を2回提供する必要がある場合があります。nsswitch.conf
のsudoers
サービスをsudoers: files ldap
に編集するか、SSSD
でキャッシュする場合はsudoers: files sss
に編集します(sudoers.ldap manual
を参照)。 SSSDを使用してキャッシュする場合は、必要なエントリをsssd.confに追加する必要があります(systemdを実行しているシステムではsssd-Sudo.socket
を有効にする必要があります( SSSD-Sudo のマニュアルページを参照))