LDAP/memberOf をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
pukiwikiでldap認証を噛まそうと思った.
っでCentOS7で作ったLDAP(openldap)があってそれとの接続は上...
「&color(magenta){memberOf};」属性が必要なようで、作った...
一応sambaでADを動かすとその中のLDAP機能には「&color(magen...
っていうことはwindows向けの代物なのかな?
なら「スキーマ拡張」すれば使えるのかなとひらめいたが、sam...
っでOpenLDAPにmemberOf属性を追加させてみた
参照先:
[[https://kifarunix.com/how-to-create-openldap-member-gro...
[[http://www.ceres.dti.ne.jp/~t-yamada/ldap/authenticatio...
***現状確認と機能追加 [#a4b170f9]
memberOfが有効になる機能が既に入っているかを確認します
#code(nonumber){{
[root@ldap-server ~]# ldapsearch -LLL -Y EXTERNAL -H ldap...
}}
この結果で
#code(nonumber){{
:
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
:
}}
とか含む内容があれば器はできているのですが、ないのなら組...
いつものようにldifを用意して ldapadd で反映させます
#code(nonumber){{
[root@ldap-server ~]# vi add_memberof.ldif
dn: cn=module,cn=config
cn: module
objectClass: olcModuleList
olcModulePath: /usr/lib64/openldap
olcModuleLoad: memberof.la
[root@ldap-server ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f...
[root@ldap-server ~]# vi config_memberof.ldif
dn: olcOverlay=memberof,olcDatabase={2}hdb,cn=config
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: olcConfig
objectClass: top
olcOverlay: memberof
olcMemberOfRefInt: TRUE
olcMemberOfDangling: ignore
olcMemberOfGroupOC: groupOfNames
olcMemberOfMemberAD: member
olcMemberOfMemberOfAD: memberOf
[root@ldap-server ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f...
}}
そうして再度確認をすると下記のような表記になる
#code(nonumber){{
[root@ldap-server ~]# ldapsearch -LLL -Y EXTERNAL -H ldap...
:
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib64/openldap
olcModuleLoad: {0}memberof.la
:
dn: olcOverlay={0}memberof,olcDatabase={2}hdb,cn=config
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: olcConfig
objectClass: top
olcOverlay: {0}memberof
olcMemberOfDangling: ignore
olcMemberOfRefInt: TRUE
olcMemberOfGroupOC: groupOfNames
olcMemberOfMemberAD: member
olcMemberOfMemberOfAD: memberOf
:
}}
次に「refint.la」を組み込みます。この際、すでに「cn=modul...
#code(nonumber){{
[root@ldap-server ~]# vi add_refint.ldif
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: refint.la
[root@ldap-server ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f...
また確認すると
#code(nonumber){{
[root@ldap-server ~]# ldapsearch -LLL -Y EXTERNAL -H ldap...
:
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib64/openldap
olcModuleLoad: {0}memberof.la
olcModuleLoad: {1}refint.la
:
(略
[root@ldap-server ~]#
}}
となる。
これで下地の準備は完了. ldapを一旦再起動「systemctl resta...
***新しいグループを作ってそこにメンバーをアサインする [#l...
新しいグループ cryo を作ります。作る際に「member」として...
#code(nonumber){{
[root@ldap-server ~]# vi cryo_group.ldif
dn: cn=cryo,ou=group,dc=sybyl,dc=local
objectClass: groupOfNames
cn: cryo
member: uid=foo,ou=people,dc=sybyl,dc=local
[root@ldap-server ~]# ldapadd -x -D cn=Manager,dc=sybyl,d...
}}
この結果を確認してみます
#code(nonumber){{
[root@ldap-server ~]# ldapsearch -LLL -Y EXTERNAL -H ldap...
:
dn: cn=cryo,ou=Group,dc=sybyl,dc=local
objectClass: groupOfNames
cn: cryo
member: uid=foo,ou=people,dc=sybyl,dc=local
:
[root@ldap-server ~]# ldapsearch -LLL -Y EXTERNAL -H ldap...
:
dn: uid=foo,ou=People,dc=sybyl,dc=local
memberOf: cn=cryo,ou=group,dc=sybyl,dc=local
:
[root@ldap-server ~]#
}}
っとこれで「memberOf」が反映できた
***pukiwikiに適用する [#wdf1b856]
事前に「php-ldap」パッケージをインストールします
「pukiwiki.ini.php」にて
#code(nonumber){{
$auth_type = AUTH_TYPE_FORM;
$ldap_user_account = 1; // (0: Disabled, 1: Enabled)
$ldap_server = 'ldap://ldap-server:389';
$ldap_base_dn = 'dc=sybyl,dc=local';
$ldap_bind_dn = 'uid=$login,ou=people,dc=sybyl,dc=local';
$read_auth = 1;
$read_auth_pages = array(
'##'=>'valid-user', // すべてのページの閲覧に...
);
$edit_auth = 1;
$edit_auth_pages = array(
'##'=>'ldap:cryo,admin', // 全てのページの修正にはm...
);
}}
とかで。
終了行:
pukiwikiでldap認証を噛まそうと思った.
っでCentOS7で作ったLDAP(openldap)があってそれとの接続は上...
「&color(magenta){memberOf};」属性が必要なようで、作った...
一応sambaでADを動かすとその中のLDAP機能には「&color(magen...
っていうことはwindows向けの代物なのかな?
なら「スキーマ拡張」すれば使えるのかなとひらめいたが、sam...
っでOpenLDAPにmemberOf属性を追加させてみた
参照先:
[[https://kifarunix.com/how-to-create-openldap-member-gro...
[[http://www.ceres.dti.ne.jp/~t-yamada/ldap/authenticatio...
***現状確認と機能追加 [#a4b170f9]
memberOfが有効になる機能が既に入っているかを確認します
#code(nonumber){{
[root@ldap-server ~]# ldapsearch -LLL -Y EXTERNAL -H ldap...
}}
この結果で
#code(nonumber){{
:
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
:
}}
とか含む内容があれば器はできているのですが、ないのなら組...
いつものようにldifを用意して ldapadd で反映させます
#code(nonumber){{
[root@ldap-server ~]# vi add_memberof.ldif
dn: cn=module,cn=config
cn: module
objectClass: olcModuleList
olcModulePath: /usr/lib64/openldap
olcModuleLoad: memberof.la
[root@ldap-server ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f...
[root@ldap-server ~]# vi config_memberof.ldif
dn: olcOverlay=memberof,olcDatabase={2}hdb,cn=config
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: olcConfig
objectClass: top
olcOverlay: memberof
olcMemberOfRefInt: TRUE
olcMemberOfDangling: ignore
olcMemberOfGroupOC: groupOfNames
olcMemberOfMemberAD: member
olcMemberOfMemberOfAD: memberOf
[root@ldap-server ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f...
}}
そうして再度確認をすると下記のような表記になる
#code(nonumber){{
[root@ldap-server ~]# ldapsearch -LLL -Y EXTERNAL -H ldap...
:
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib64/openldap
olcModuleLoad: {0}memberof.la
:
dn: olcOverlay={0}memberof,olcDatabase={2}hdb,cn=config
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: olcConfig
objectClass: top
olcOverlay: {0}memberof
olcMemberOfDangling: ignore
olcMemberOfRefInt: TRUE
olcMemberOfGroupOC: groupOfNames
olcMemberOfMemberAD: member
olcMemberOfMemberOfAD: memberOf
:
}}
次に「refint.la」を組み込みます。この際、すでに「cn=modul...
#code(nonumber){{
[root@ldap-server ~]# vi add_refint.ldif
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: refint.la
[root@ldap-server ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f...
また確認すると
#code(nonumber){{
[root@ldap-server ~]# ldapsearch -LLL -Y EXTERNAL -H ldap...
:
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib64/openldap
olcModuleLoad: {0}memberof.la
olcModuleLoad: {1}refint.la
:
(略
[root@ldap-server ~]#
}}
となる。
これで下地の準備は完了. ldapを一旦再起動「systemctl resta...
***新しいグループを作ってそこにメンバーをアサインする [#l...
新しいグループ cryo を作ります。作る際に「member」として...
#code(nonumber){{
[root@ldap-server ~]# vi cryo_group.ldif
dn: cn=cryo,ou=group,dc=sybyl,dc=local
objectClass: groupOfNames
cn: cryo
member: uid=foo,ou=people,dc=sybyl,dc=local
[root@ldap-server ~]# ldapadd -x -D cn=Manager,dc=sybyl,d...
}}
この結果を確認してみます
#code(nonumber){{
[root@ldap-server ~]# ldapsearch -LLL -Y EXTERNAL -H ldap...
:
dn: cn=cryo,ou=Group,dc=sybyl,dc=local
objectClass: groupOfNames
cn: cryo
member: uid=foo,ou=people,dc=sybyl,dc=local
:
[root@ldap-server ~]# ldapsearch -LLL -Y EXTERNAL -H ldap...
:
dn: uid=foo,ou=People,dc=sybyl,dc=local
memberOf: cn=cryo,ou=group,dc=sybyl,dc=local
:
[root@ldap-server ~]#
}}
っとこれで「memberOf」が反映できた
***pukiwikiに適用する [#wdf1b856]
事前に「php-ldap」パッケージをインストールします
「pukiwiki.ini.php」にて
#code(nonumber){{
$auth_type = AUTH_TYPE_FORM;
$ldap_user_account = 1; // (0: Disabled, 1: Enabled)
$ldap_server = 'ldap://ldap-server:389';
$ldap_base_dn = 'dc=sybyl,dc=local';
$ldap_bind_dn = 'uid=$login,ou=people,dc=sybyl,dc=local';
$read_auth = 1;
$read_auth_pages = array(
'##'=>'valid-user', // すべてのページの閲覧に...
);
$edit_auth = 1;
$edit_auth_pages = array(
'##'=>'ldap:cryo,admin', // 全てのページの修正にはm...
);
}}
とかで。
ページ名:
1