2013-03-04 163 views
0

我已經在Windows XP上安裝了openldap版本2.4.23,並使用apache DS作爲客戶端。我可以在設置用於測試的客戶端服務器上對用戶進行身份驗證。OpanLdap密碼政策

我的下一步是打開密碼策略。這是對我來說有點朦朧的地方,我希望有人能幫助我。

我加了一個密碼策略也通過跟隨着命令

ldapadd的-x -c -f -D 「CN =經理,DC = maxcrc,DC = COM」 -w祕密

但經過如何添加密碼策略使其生效

openldap文檔說應該使用默認策略的DN配置密碼策略模塊。

我加入的slapd.conf文件中以下行

# invokes password policies for this DIT only 
overlay ppolicy 
# Default ppolicy 
ppolicy_default "cn=passwordDefault,ou=policies,dc=maxcrc,dc=com" 

但不知何故,它是沒有得到加載,我已經花了很多時間在這,但我沒有得到的正確引導一樣。

任何人都可以從簡單的外行人的角度闡明這一點嗎?

在此先感謝。

我的ldif文件如下。

dn: cn=passwordDefault,ou=policies,dc=localdomain,dc=com 
objectClass: pwdPolicy 
objectClass: person 
objectClass: top 
cn: passwordDefault 
sn: passwordDefault 
pwdAttribute: userPassword 
pwdCheckQuality: 1 
pwdMinAge: 1 
pwdMaxAge: 90 
pwdMinLength: 6 
pwdInHistory: 4 
pwdMaxFailure: 3 
pwdFailureCountInterval: 0 
pwdLockout: TRUE 
pwdLockoutDuration: 0 
pwdAllowUserChange: TRUE 
pwdExpireWarning: 604800 
pwdGraceAuthNLimit: 3 
pwdMustChange: TRUE 
pwdSafeModify: TRUE 

加入這一政策並重新啓動服務器後,我試圖改變現有的以及新加入的用戶的密碼。 服務器允許我將密碼更改爲長度小於6的字符串 而我在ldif中提到了pwdMinLength:6。

以及我嘗試更改密碼不止一次,但它允許我將密碼更改爲最近使用的密碼,而pwdInHistory:4在ldif中。

+1

你'ldapadd'命令看起來不正確,'-f'一個文件名(通常是LDIF文件)。 – 2013-03-04 17:29:44

+0

這也有助於向我們展示LDIF文件中的內容,以及您有什麼證據表明策略沒有生效。 – EJP 2013-03-05 01:09:46

+0

@ mr.spuratic:我只是錯過了這裏的文件名,完整ldapadd的命令是 ldapadd的-c -f passwordpolicy.ldif -D 「CN =經理,DC = maxcrc,DC = COM」 -x -w祕密 – 2013-03-05 07:12:05

回答

1

如果使用rootDN執行更新,則密碼策略不起作用。您必須使用現有的管理員帳戶或用戶自己的帳戶。

+0

我做不明白「改變密碼的擴展操作」是什麼意思,請您詳細說明一下。 謝謝 – 2013-03-06 13:50:35

0

不清楚你在測試時如何設置密碼,但我會檢查你是否以正確的格式傳遞密碼,這意味着服務器需要以明文方式接收密碼。某些客戶端在將值發送到OpenLDAP服務器之前會散列該值,在這種情況下,OpenLDAP服務器不可能確定密碼的長度。通信可以並且應該被加密,但不應該被預先哈希。散列可以由服務器進行處理:

pwdCheckQuality

如果該值是1,並且所提供的密碼是明文然後用戶提供的函數(使用pwdCheckModule定義 - 如果定義 - 將被調用,以檢查密碼質量,如果這個函數不可用,那麼密碼將被接受(假設它通過了由各種pwdPolicy屬性定義的所有其他測試)。

參考:http://www.zytrax.com/books/ldap/ch6/ppolicy.html