2017-01-23 13 views
0

私はOpenLDAPサーバにこのdlifを適用しようとしているにレコードを更新できるようにしますipServicePortと説明が"cn=ldap-city-thedomain-com,dc=repl,dc=thedomain,dc=com"はどのように正しく指定されたユーザーのアクセスがOpenLDAPの

の属性これは罰金適用するようだ:私はそれを検索する場合

$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f acl.ldif 
SASL/EXTERNAL authentication started 
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth 
SASL SSF: 0 
modifying entry "olcDatabase={1}hdb,cn=config" 

私は私の更新の電子を見つけることができますntry:私はこれらの資格情報を使用して変更をしようとするとき

$ sudo ldapsearch -Y EXTERNAL -H ldapi:// -b cn=config 'olcDatabase={1}hdb' 
SASL/EXTERNAL authentication started 
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth 
SASL SSF: 0 
# extended LDIF 
# 
# LDAPv3 
# base <cn=config> with scope subtree 
# filter: olcDatabase={1}hdb 
# requesting: ALL 
# 
# {1}hdb, config 
dn: olcDatabase={1}hdb,cn=config 
objectClass: olcDatabaseConfig 
objectClass: olcHdbConfig 
olcDatabase: {1}hdb 
olcDbDirectory: /var/lib/ldap 
olcSuffix: dc=thedomain,dc=com 
olcAccess: {0}to attrs=userPassword,shadowLastChange by self write by anonymou 
s auth by dn="cn=admin,dc=domain,dc=ie,dc=aws,dc=thedomain,dc=net" write by * n 
one 
olcAccess: {1}to dn.base="" by * read 
olcAccess: {2}to * by dn="cn=admin,dc=domain,dc=ie,dc=aws,dc=thedomain,dc=net" w 
rite by * read 
olcAccess: {3}to dn.exact="cn=ldap-city-thedomain-com,dc=repl,dc=thedomain, 
dc=com" attrs="ipServicePort,description" by dn="[email protected].com,ou=p 
eople,dc=thedomain,dc=com" write by * read 
olcLastMod: TRUE 
olcRootDN: cn=admin,dc=thedomain,dc=com 
olcRootPW: {SSHA}HASHEDPW 
olcSyncrepl: {0}rid=003 provider=ldap://ldap.city.thedomain.com binddn="cn 
=admin,dc=thedomain,dc=com" bindmethod=simple credentials=Cju8MJZhegnEgKp2nU s 
earchbase="dc=thedomain,dc=com" type=refreshAndPersist interval=00:00:00:10 re 
try="5 5 300 5" timeout=1 
olcSyncrepl: {1}rid=004 provider=ldap://ldap1.domain.ie.aws.thedomain.net binddn 
="cn=admin,dc=thedomain,dc=com" bindmethod=simple credentials=Cju8MJZhegnEgKp2 
nU searchbase="dc=thedomain,dc=com" type=refreshAndPersist interval=00:00:00:1 
0 retry="5 5 300 5" timeout=1 
olcMirrorMode: TRUE 
olcDbCheckpoint: 512 30 
olcDbConfig: {0}set_cachesize 0 2097152 0 
olcDbConfig: {1}set_lk_max_objects 1500 
olcDbConfig: {2}set_lk_max_locks 1500 
olcDbConfig: {3}set_lk_max_lockers 1500 
olcDbIndex: objectClass eq 
olcDbIndex: entryCSN eq 
olcDbIndex: entryUUID eq 
# search result 
search: 2 
result: 0 Success 
# numResponses: 2 
# numEntries: 1 

しかし、それはまだ失敗:

$ cat /tmp/modify.ldif 
dn: cn=ldap-city-thedomain-com,dc=repl,dc=thedomain,dc=com 
changetype: modify 
replace: ipServicePort 
ipServicePort: 1485176342 

dn: cn=ldap-city-thedomain-com,dc=repl,dc=thedomain,dc=com 
changetype: modify 
replace: description 
description: Updated by ldap.city.thedomain.com on Mon Jan 23 12:59:02 UTC 2017 

実行:私も私のACLがやや減り作ってみました

$ ldapmodify -H ldap://localhost -w PASSWORD -D "[email protected],ou=people,dc=thedomain,dc=com" -f /tmp/modify.ldif   
modifying entry "cn=ldap-city-thedomain-com,dc=repl,dc=thedomain,dc=com" 
ldap_modify: Insufficient access (50) 

私は以下のacl.ldifファイルを試しました:

dn: olcDatabase={1}hdb,cn=config 
changetype: modify 
add: olcAccess 
olcAccess: {3}to dn="cn=ldap-city-thedomain-com,dc=repl,dc=thedomain,dc=com" attrs="ipServicePort,description" by dn="[email protected],ou=people,dc=thedomain,dc=com" write by * read 

結果は同じ

dn: olcDatabase={1}hdb,cn=config 
changetype: modify 
add: olcAccess 
olcAccess: {3}to dn="cn=ldap-city-thedomain-com,dc=repl,dc=thedomain,dc=com" by dn="[email protected],ou=people,dc=thedomain,dc=com" write by * read 

結果は、私が避けるために期待していたのと同じ

dn: olcDatabase={1}hdb,cn=config 
changetype: modify 
add: olcAccess 
olcAccess: {3}to * by dn="[email protected],ou=people,dc=thedomain,dc=com" write by * read 

結果は、私はまだ試していない唯一のものと同じ

であったましたテスト中であってもこのデータベースを安全でないものにすることは、*このレコードを書くこと、または*すべてのレコードに書き込むことを許可することでした。同じから

DN: cn=ldap-city-thedomain-com,dc=repl,dc=thedomain,dc=com 

そして、私のユーザーDN:

は、私は私を示しApacheのディレクトリスタジオからの編集を許可するレコードのDNを撮影した

DN: [email protected],ou=people,dc=thedomain,dc=com 

私は、私の知識が不十分で、ドキュメンテーションを読んでいると私には苦痛を与えるので、私は明らかに何かをしていると確信しています。私は誰かが私の明白な誤りに気付くことができ、私が何度も何度も手を加えた後に私が間違って行ったことを見ることができないので、修正を提案することを望んでいる。

答えて

0

#openldap IRCのJoBbZに感謝します。これは私にとっては単純な誤解です。 ACL規則で重要な事項を注文します。 LDAPは最初の試合を見なくなりますので、olcAccessを2ではなく3として保存する必要があります

関連する問題