インターネットプロジェクトのLDAP。 パート5

みなさんこんにちは! 今日、OpenLDAPの実装に関する一連の記事(1、2、3、4)を完了し、LDAPへのsudoerの保存について説明します。



LDAPのサポートはsudo自体に組み込まれているため、pam-modulesはここでは役に立ちません。 Debianでは、sudo-ldapパッケージをインストールする必要があります。

apt-get install sudo-ldap





とりわけ、パッケージは必要なLDAPスキームでファイルをインストールします:

/usr/share/doc/sudo-ldap/schema.OpenLDAP



、LDAPサーバーの両方にコピーし、/ etc / ldap / slapd.confファイルに書き込む必要があります。

include /etc/ldap/schema/sudo.schema





その後、sudoCommand、sudoHost、sudoRunAs、sudoUser、およびsudoOptionの各フィールドを持つsudoRoleクラスのオブジェクトが使用可能になります。

sudoは、/ etc / ldap / ldap.confファイルの設定を使用してsudoRoleオブジェクトを検索します。

uri ldap://ldap.habr.ru

sudoers_base ou=servers,dc=habr,dc=ru

sudoers_debug 0







デバッグ2をインストールすると、sudoコマンドを実行した後、LDAPで見つかったsudoと一致するオブジェクトのリストが表示されます。



ただし、これまでのところ、単一のオブジェクトはありません。

コンテナーou =サーバー、dc = habr、dc = ruを作成しました。ここには、タイプgroupOfUniqueNamesのオブジェクトを持つコンテナーサーバーを格納します。 サーバーにアクセスできるユーザーへのリンクが含まれています。たとえば、

cn =シェルユーザー、ou = dev.habr.ru、ou =サーバー、dc = habr、dc = ru

sudoのデータを保存するために、ou = sudoers、ou = dev.habr.ru、ou = servers、dc = habr、dc = ruのコンテナを作成しました。ここにはクラスsudoRoleのオブジェクトがあります。 たとえば、次のとおりです。



dn: cn=%www-data,ou=sudoers,ou=dev.habr.ru,ou=servers,dc=habr,dc=ru

objectClass: sudoRole

objectClass: top

cn: %www-data

sudoCommand: ALL

sudoHost: dev.habr.ru

sudoRunAs: www-data

sudoUser: %www-data









またはそのような:

dn: cn=developers,ou=sudoers,ou=dev.habr.ru,ou=servers,dc=habr,dc=ru

objectClass: sudoRole

objectClass: top

cn: developers

sudoCommand: ALL

sudoRunAs: ALL

sudoHost: dev.habr.ru

sudoUser: dev0

sudoUser: dev1

sudoUser: dev2









管理者の場合、別のコンテナ「groupOfUniqueNames」があります。cn= admins、ou = global、ou = servers、dc = habr、dc = ru

個別のsudoers:

dn: cn=admins,ou=sudoers,ou=global,ou=servers,dc=habr,dc=ru

objectClass: sudoRole

objectClass: top

cn: admins

sudoCommand: ALL

sudoRunAs: ALL

sudoHost: ALL

sudoUser: admin0

sudoUser: admin1

sudoUser: admin2









デフォルト設定のオブジェクトがまだあります:

dn: cn=defaults,ou=sudoers,ou=global,ou=servers,dc=habr,dc=ru

objectClass: sudoRole

objectClass: top

cn: defaults

sudoOption: ignore_local_sudoers

sudoOption: env_reset







これで、sudoを試すことができます!



コメントまたはPMでご質問にお答えします。



All Articles