web-dev-qa-db-ja.com

LDAPを使用してsudoer情報を保存する方法

LDAPサーバーと多くの稼働中のサーバーがあります。ユーザーの情報はLDAPにあります http://fclose.com/b/281/ 。ただし、sudoersリストは/ etc/sudoersに格納されます。ここで問題となるのは、sudoersリストをLDAPに格納して、中央で制御できるようにする方法です。

LDAPサーバーと稼働中のサーバーの両方でFedora12を使用しています。

1
ericzma

README.LDAP および sudoers.ldap のマニュアルページの公式手順に従ってください。

  1. SudoがLDAPサポート付きで構築されていることを確認してください。
  2. LDAPスキーマを更新します。
  3. sudoersファイルをLDAPにインポートします。
  4. nsswitch.confsudoersサービスを構成します。
3
user1686

以下のような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
2
atolani

これらの手順は、OpenLDAPを使用していることを前提としています。一部の詳細はArchLinuxに固有の場合があります。

  1. SudoがLDAPサポートで構築されていることを確認してください。 ( README.LDAP または this を参照)
  2. slapd.confを編集してinclude /etc/openldap/schema/Sudo.schemaを追加することにより、SudoスキーマをLDAPサーバーに追加します。このファイルは/usr/share/doc/Sudo/schema.OpenLDAPからコピーする必要があることに注意してください(README.LDAPを参照)。
  3. README.LDAPに従って、LDAPサーバーにindex sudoUser eq行をslapd.confに追加して、属性sudoUserにインデックスを付けるように指示し、LDAPサーバーを再起動します。
  4. Ou = SUDOersコンテナをデータベースに追加します。これは、ldapaddを介して以下を渡すことで実行できます。

    dn:ou = SUDOers、dc = example、dc = com
    objectClass:トップ
    objectClass:organizationalUnit
    ou:SUDOers

  5. 既存のsudoersファイルをcvtsudoersでLDIF形式に変換し、ldapaddでデータベースに追加します(README.LDAPを参照)。もちろん、構成は最初から生成することもできます。

  6. クライアントでldap.conf(Archでは/etc/openldap/ldap.conf)を作成(または編集)してsudoers_base ou=SUDOers,dc=example,dc=comを追加し、Sudo LDAP対応にします( sudoers.ldap を参照) 。 LDAP構成によっては、さまざまなLDAPオプションも設定する必要がある場合があります。オプションを設定するためのSudoの構文は、LDAP実装とは異なる場合があるため、同じ情報を2回提供する必要がある場合があります。
  7. nsswitch.confsudoersサービスをsudoers: files ldapに編集するか、SSSDでキャッシュする場合はsudoers: files sssに編集します(sudoers.ldap manualを参照)。 SSSDを使用してキャッシュする場合は、必要なエントリをsssd.confに追加する必要があります(systemdを実行しているシステムではsssd-Sudo.socketを有効にする必要があります( SSSD-Sudo のマニュアルページを参照))
0
eponymous