目前小弟有架設兩台主機,一台稱A,一台稱為B
A主機上運作OpenLDAP,同時管理所有的帳號。
B主機上運作Openwebmail,使用auth_pam.pl進行認証
目前Openwebmail可以透過LDAP Server新增的使用者登入,可以正常使用
但是有個問題,我可以從任何主機的console端來變更這個使用者的密碼,但是就是無法由Openwebmail端來變更使用者密碼?這有點麻煩。
我現在用的環境是FC3(兩台都是),OWM是2.5.1-1,在OpenLDAP伺服器上所
做的acl如下(參考LDAP系統管理一書):
access to attrs=userPassword
by self write
by * read
by * auth
access to *
by * read
(如果第一區塊的by * read拿掉,Owm就無法登入了)
而安裝Openwebmail及LDAP Server的/etc/pam.d/openwebmail都設定如下:
#%PAM-1.0
auth required /lib/security/pam_unix.so
auth sufficient /lib/security/pam_ldap.so
account required /lib/security/pam_unix.so
account sufficient /lib/security/pam_ldap.so
(原來是以為要設定在Openldap這台上,可是好像也是一樣?)
而opwebmail主機上的/var/www/cgi-bin/openwebmail/etc/auth_pam.conf中的設定如下(參考官方網站)
servicename openwebmail
passwdfile_plaintext /etc/passwd
重新初始化後,可以正常登入owm。
但是在owm中換密碼時,就無法成功,而openwebmail上的錯誤訊息出現如下所示:
change password error auth_pam.pl, ret -4, pam_authtok() err 20, Authentication token manipulation error
請問這到底是怎麼一回事?