OpenLDAP集中管理用戶帳號學習筆記(2009-10-23更新)

火星人 @ 2014-03-04 , reply:0
←手機掃碼閱讀

OpenLDAP集中管理用戶帳號學習筆記(2009-10-23更新)

OpenLDAP集中管理用戶帳號學習筆記

  本文使用Redhat Enterprice Linux 4.0版本測試,並成功實現。

        經過2年多的測試和使用,在CentOS 5.x/Cent OS4.x/RHEL4.x/RHEL 5.x都沒有任何問題。
        只是軟體包的版本有所所區別而已;伺服器端配置完全一樣,客戶端配置僅命令不同而已。

  openldap為系統自帶工具,可以在安裝時選擇相應軟體包安裝或用rpm命令安裝。

  需要的包為(RHEL4):
  openldap-2.2.13-2:包含 OpenLDAP 配置文件、庫和文檔
  openldap-servers-2.2.13-2:包含 slapd 和 slurpd 伺服器、遷移腳本和相關文件
  openldap-clients-2.2.13-2:包含客戶機程序,用來訪問和修改 OpenLDAP 目錄

  啟動:
    #service ldap start
    或
    #/etc/init.d/ldap start
    或
    #/etc/rc.d/init.d/ldap start
  將start參數改為restart或stop來重啟或停止ldap服務。

  設定在開機時自動啟動:
    #chkconfig ldap on
  作為練習,可將系統的防火牆關閉;至於實際應用需打開的埠請自行參考iptables相關文檔。關閉iptables防火牆:
    #service iptables stop
    或
    #/etc/init.d/iptables stop

  下面配置ldap。

  一、配置ldap伺服器的賬戶修改:
  在配置文件/etc/openldap/slapd.conf中加入以下行:
  loglevel 296
  local4.debug /var/log/slapd.log
  #上面兩行定義了ldap伺服器執行的日誌
  access to attrs=shadowLastChange,userPassword
        by self write
        by * auth

  access to *
        by * read

  #access 行定義了誰可以訪問目錄中的內容。我們希望用戶可以修改自己的密碼,並更新自己的 shadow 信息來反映密碼的變化。希望身份驗證程序能夠檢索用戶的密碼。還希望用戶能夠讀取所有其他條目。注意密碼條目是不可讀的,shadow 屬性的惟一用處就是管理密碼的過期問題。

  二、配置ldap伺服器的資料庫:
  修改文件/etc/openldap/slapd.conf的以下行:
  database        bdb
  suffix          "dc=my-domain,dc=com"
  rootdn          "cn=Manager,dc=my-domain,dc=com"
  把my-domain改為你的「域名」,本文中並不需要真正的域名,只是ldap的一個容器,但為了ldap的其他服務,建議用你的真實域名。
  這裡定義了ldap的資料庫和管理者。
  這裡還需要一個管理員密碼,加入下面這行(密碼111111):
  rootpw {MD5}lueSGJZetyySpUndWjMBEg==
  密碼可以用slappasswd命令生成,slappasswd -h {MD5}

  OK,ldap伺服器配置完成了,可以重新啟動一下ldap伺服器了。

  三、將用戶賬戶信息添加到ldap資料庫
  Redhat Enterprice Linux 4自帶了一組perl腳本來轉換本地用戶的信息。
  相關工具也可以到http://www.padl.com/下載
  這些腳本默認位於/usr/share/openldap/migration/下

  修改migrate_common.ph文件,我們的目的來說,只需要修改命名前綴的變數來使用條目的識別名就足夠了,如下所示:
  $DEFAULT_BASE = "dc=my-domain,dc=com"

  然後執行:
  migrate_base.pl > base.ldif
  這是創建根項,並為 Hosts、Networks、Group 和 People 等創建第一級的組織單元(OU)

  編輯 base.ldif,刪除除下面之外的所有條目:
  dn: dc=my-domain,dc=com
  dc: my-domain
  objectClass: top
  objectClass: domain

  dn: ou=People,dc=my-domain,dc=com
  ou: People
  objectClass: top
  objectClass: organizationalUnit

  dn: ou=Group,dc=my-domain,dc=com
  ou: Group
  objectClass: top
  objectClass: organizationalUnit

  執行:
  grep ldapuser /etc/group > group.ldapuser.in
  ./migrate_group.pl group.ldapuser.in > group.ldapuser.ldif
  導出ldapuser組的信息,以同樣方式到處其他組的信息

  執行:
  grep ldapuser /etc/passwd > passwd.ldapuser.in
  ./migrate_passwd.pl passwd.ldapuser.in > passwd.ldapuser.ldif
  可以複製passwd文件為passwd.in后將passwd.in中系統自帶的用戶刪除後作為腳本的輸入參數,這樣可以一次轉換所有用戶。不建議將系統自帶用戶導入ldap,這樣做的好處是萬一在ldap認證出現問題的情況下不至於連root賬戶也不能登錄。

  做完賬戶信息轉換后即可以導入ldap數據了,執行:
  ldapadd -x -D "cn=Manager,dc=my-domain,dc=com" -W -f base.ldif
  ldapadd -x -D "cn=Manager,dc=my-domain,dc=com" -W -f group.ldif
  ldapadd -x -D "cn=Manager,dc=my-domain,dc=com" -W -f passwd.ldif
  這裡的group.ldif和passwd.ldif對應的你的組信息和用戶信息的文件,注base.ldif必須最先導入。

  四、配置系統使用ldap認證系統用戶

  使用authconfig命令配置:
        注若使用RHEL5.x 或 Cent OS 5.x 則使用setup命令,然後選擇「Authentication Configuratio」

  把以下選項選上:
  Use LDAP
  Use MD5 Passwords
  Use Shadow Passwords
  Use LDAP Authentication
  Local authorization is sufficient(如果有此項)
  選擇下一步:
  請勿選擇使用TLS!
  輸入ldap伺服器地址或主機名,若有一台以上ldap伺服器則用空格隔開。
  輸入base dn:dc=my-domain,dc=com(參考base.ldif文件)

  將passwd、shadow、以及group文件備份后清除已經導入的用戶信息,再用id命令測試一下,確認用戶信息正確。
  OK!!大功告成!!


  其他客戶機只需執行行本文第四步即可!
  注1:若ldap伺服器使用主機名,客戶端必需能解析到該主機!
  注2:添加新用戶可以先建立本地用戶再參照本文第四步操作,加入ldap后再刪除本地用戶。
  注3:若用戶非資料庫高手,編輯用戶或組信息請務必使用ldapmodify命令,本人曾使用ldapphpadmin修改ldap資料庫,結果,呵呵!!
  注4:(2009-02-09)在RHEL 5.x和CentOS5.x 上執行啟動ldap服務時會報錯"bdb_db_open: Warning - No DB_CONFIG file found in directory /var/lib/ldap",該錯誤不影響ldap驗證服務;若一定要解決,執行以下命令即可:cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG ; chown ldap:ldap /var/lib/ldap/DB_CONFIG



更新2009-1-20



添加管理用戶帳號的腳本:

文本寫了一個簡單的創建用戶帳號的腳本方便帳號管理。
文中以中文和"#"開頭的是註釋和說明:

注,編輯腳本時別忘了把「#!/bin/sh」放在腳本文件的首行!


#!/bin/sh

###  Input the user account
if [ "$1" = "" ];then
   printf "Please input the user account: "
   read ans1
   user=$ans1
   echo      "\n"
else
   user=$1
fi
#提示用戶輸入用戶名賦值給變數user

###  make sure the username is unique
existuser=` id $ans1 2> /dev/null `
while [ "$existuser" != "" ]
do
   echo "user $user already exist!"
   printf "Please input another username: "
   read ans3
   user=$ans3
   existuser=` id $ans1 2> /dev/null `
   echo ""
done
檢查輸入的用戶名是否唯一,如果已經存在則提示用戶再次輸入用戶名並賦值給變數user

### adding user
useradd -g group1 -d /NFS/user/$user -m $user
passwd $user
#在本地文件里添加用戶並設定用戶密碼,
#注1、這裡的group1是指定默認組的組名,請自行更改
#注2、這裡的/NFS/user/是從遠程主機上mount過來的,用於配合automount服務並統一用戶主目錄使用,請自行更改
#注3、-m選項是當指定的用戶主目錄不存在時自動創建該目錄,在大多數情況下這是默認選項,即不加該選項,系統會自動加上

sed -i "s/\/NFS\/user\/$user/\/home\/$user/g" /etc/passwd
cd /ldapsettings/
grep $user /etc/passwd > newuser.in
/usr/share/openldap/migration/migrate_passwd.pl newuser.in > newuser.ldif
ldapadd -x -D "cn=Manager,dc=dam,dc=com" -w 1234567 -f /ldapsettings/newuser.ldif
rm -f /ldapsettings/newuser.in
rm -f /ldapsettings/newuser.ldif
sed -i '/$user\:/d' /etc/passwd
sed -i '/$user\:/d' /etc/shadow
#修改用戶的home目錄,並將本地的帳號信息導入ldap資料庫,刪除臨時文件,刪除本地用戶驗證信息



更新2009-2-3

一直在網上找用ldap驗證samba的文章。很多,但是都需要加入域,配置很麻煩,而且,samba畢竟和windows的域有太大差別了!

下文的配置其實只是讓samba讀取ldap資料庫來代替讀取sampasswd文件,僅此而已!

本文參考了下文,做了適當修改,並在CentOS 4.X 和CentOS 5.X 上測試成功:

使用openldap目錄服務進行samba用戶驗證 http://www.ringkee.com/note/opensource/samba.htm

  samba可把用戶信息存放到ldap目錄伺服器上,使用目錄伺服器上的用戶數據進行用戶驗證。這樣做的好處是:

    1. 集中存放用戶信息,多台Samba伺服器可共用一套用戶數據。
    2. 當用戶數量多時,採用ldap目錄伺服器可加快用戶驗證的速度。因為ldap目錄服務是專門為讀操作而優化的,搜索數據的速度是非常快的。
    3. 用戶可自由更改自已的密碼,而不用經過系統管理員,可大大減輕系統管理員的工作量。

一、配置ldap服務

  要 openldap能認識samba的用戶信息,我們需在openldap伺服器中導入samba.schema。該文件是不包含在openldap源碼中的,我們可在samba源碼目錄中的/examples/LDAP路徑中找到該文件。把它拷貝到openldap的schema目錄。接著編輯 slapd.conf文件,用include指令把samba.schema導入openldap。如:

到這裡下載samba的源碼包:http://us1.samba.org/samba/

      # See slapd.conf(5) for details on configuration options.
      # This file should NOT be world readable.

      include         /etc/openldap/schema/core.schema
      include         /etc/openldap/schema/cosine.schema
      include         /etc/openldap/schema/inetorgperson.schema
      include         /etc/openldap/schema/nis.schema
      #include         /etc/openldap/schema/redhat/autofs.schema
      include         /etc/openldap/schema/samba.schema                      #導入samba.schema文件

      # Allow LDAPv2 client connections.  This is NOT the default.
      allow bind_v2

  重啟ldap服務,使配置生效。
      # service ldap restart
      Stopping slapd:                                            [  OK  ]
      Checking configuration files for slapd: config file testing succeeded
      Starting slapd:                                            [  OK  ]

二、配置samba服務

  下來我們要配置samba伺服器了。打開smb.conf文件,添加以下內容:

      # You may wish to use password encryption. Please read ENCRYPTION.txt,
      # Win95.txt and WinNT.txt in the Samba documentation. Do not enable this
      # option unless you have read those documents
         security = user                                                #如果原來不是user,請改成user,因為我原來用的是share
         encrypt passwords = yes
      ;   passdb backend = smbpasswd guest              #取消smbpasswd驗證

      ldap admin dn = "cn=Manager,dc=my-domain,dc=com"  #指定管理員,請參考slapd.conf文件
      passdb backend = ldapsam:ldap://192.168.0.7       #指定用戶驗證的ldap目錄伺服器的IP地址或主機名
      ldap user suffix = dc=samba,dc=my-domain,dc=com   #用戶信息存放的目錄路徑
      ldap delete dn = no                               #不允許刪除dn
      ldap suffix = dc=my-domain,dc=com                 #指定搜索後綴

  存檔退出,重啟smb服務。運行以下命令,把cn=Manager,dc=my-domain,dc=com管理員的密碼「123456」保存到secrets.tdb文件中,以便samba伺服器與openldap伺服器進行通信。
      # service smb restart
      Shutting down SMB services:                                [  OK  ]
      Shutting down NMB services:                                [  OK  ]
      Starting SMB services:                                     [  OK  ]
      Starting NMB services:                                     [  OK  ]
      # smbpasswd -w 123456
      Setting stored password for "cn=Manager,dc=my-domain,dc=com" in secrets.tdb        #成功保存的提示信息
  千萬注意!!這裡的密碼「123456」,就是slapd.conf文件里指定的管理員的密碼!

  配置完成,使用smbpasswd命令就可把用戶信息保存到ldap目錄伺服器上了。

      # smbpasswd -a dwang
      New SMB password:
      Retype new SMB password:
      Added user dwang.             #成功添加用戶

三、設定ldap服務來維護samba帳號

  到此為止,使用ldap目錄伺服器進行Samba用戶驗證已配置完成。但現在還是要管理員在samba伺服器上使用smbpasswd命令為用戶維護密碼。從維護工作量和保密的角度出發,由用戶自已維護自已的密碼是一種最好的方法。具體設置方法是這樣的:
  通過目錄伺服器的許可權管理,我們也可把test用戶密碼屬性設置成只有 dn是cn=dwang,dc=samba,dc=it,dc=com的用戶和目錄伺服器管理員才能修改。要達到該項果,請把以下ACL加入到 slapd.conf中。

            access to attrs=sambaLMPassword
                    by dn="cn=Manager,dc=newavetech,dc=com" write
                    by anonymous auth
                    by self write
                    by * none

            access to attrs=sambaNTPassword
                    by dn="cn=Manager,dc=newavetech,dc=com" write
                    by anonymous auth
                    by self write
                    by * none

  重啟openldap伺服器使配置生效。
  用smbpasswd命令就能修改用戶的密碼了,不過別忘了原始密碼,否則又得勞駕管理員了!
  根據密碼複雜度要求,用戶自己設的密碼至少要有6位,以root許可權執行沒此要求。


(2009-02-11)


偶然發現了一款LDAP的管理工具LDAP Account Manager,主頁在:http://sourceforge.net/projects/lam
因為我使用的是CentOS 5.2,直接下載rpm包安裝:ldap-account-manager-2.5.0-0.fedora.1.noarch.rpm
安裝需求:LAM是用php編寫的,基於web管理。所以apache、php是不能少的,還需要個別的rpm包稍後介紹,只要你有CentOS的光碟就無需擔心。

一、安裝LAM
#rpm -ivh ldap-account-manager-2.5.0-0.fedora.1.noarch.rpm

安裝完后在文件夾/var/www/html/下會有一個lam文件夾。

#cd /var/www/html/lam/config
#cp cp config.cfg_sample config.cfg
#cp lam.conf_sample ldapserver1.conf

說明:
1、config.cfg是LAM的通用配置文件
2、ldapserver1.conf是LAM的伺服器配置文件,如果你有多台ldap伺服器就需要多複製幾個文件,例如:
#cp lam.conf_sample ldapserver2.conf
#cp lam.conf_sample ldapserver3.conf
#chown -R apache:apache /var/www/html/lam
這裡的ldapserver?文件名可任意,它就是你在使用LAM時看到的配置文件,建議使用ldapserver的主機名。

二、配置LAM

用瀏覽器訪問LAM,在瀏覽器里打開http://lamserver/lam/

有可能出現如下提示:
##########################################
Your PHP has no LDAP support!
Please install the LDAP extension for PHP.
##########################################

##########################################
Please increase the "memory_limit" parameter in your php.ini to at least "64M".
Your current memory limit is 16M.
##########################################

上面的問題缺少了php-ldap包,在CentOS5.2里,執行下面命令即可:
#rpm -ivh php-ldap-5.1.6-20.el5.i386.rpm

下面的問題是PHP內存限制的問題,修改PHP配置文件即可,執行如下命令:
#sed -i '/memory_limit/s/.*/memory_limit = 64M/' /etc/php.ini

以上命令是將文件/etc/php.ini中含有memory_limit的那行設定改為「memory_limit = 64M「,也可以用vi命令編輯。

安裝完rpm包和修改了配置文件后重啟apache伺服器:
#service httpd restart

再次用瀏覽器訪問LAM,在瀏覽器里打開http://lamserver/lam/,一切正常。

在右上角選擇"LAM configuration"-->"Edit general settings",密碼是lam,進去后重新設定密碼;其他設定我沒作修改。

回到主頁,在右上角選擇"LAM configuration"-->"Edit server profiles";在下拉框里選擇你複製的配置文件,進入配置。

默認密碼為「lam「,接下來就是根據你的ldap伺服器的設定在修改你複製過的配置文件,進去后別忘了修改密碼哦!配置完成。

下面是我認為有必要修改的一些選項:
################################
伺服器地址
樹狀結構後綴
用戶:  最小UID號
時區
組:  最小GID號
預設語言
合法用戶列表
編輯帳號類型:裡面的所有LDAP後綴
################################

三、使用LAM

在LAM主頁選擇你要維護的配置文件,輸入密碼。開始體驗便捷的ldap帳號管理吧!

註:這裡的密碼不是上文修改過的LAM密碼,是在LDAP server上配置LDAP配置文檔里的管理員密碼哦!


(2009-03-06)

四、配置squid適用openldap驗證

  squid可以使用LDAP目錄伺服器上的系統用戶數據進行用戶驗證。這樣做的好處是:

    1. 集中存放用戶信息,多台squid伺服器可共用一套用戶數據。
    2. 當用戶數量多時,採用ldap目錄伺服器可加快用戶驗證的速度。因為ldap目錄服務是專門為讀操作而優化的,搜索數據的速度是非常快的。
    3. 不再需要維護squid帳號文件,只需要維護Linux系統帳號,可減少出錯幾率和減少系統管理員的工作量。

    為配置成功,先將squid配置成能使用password file進行驗證(網上文章太多了,而且很容易)

  配置完以後,squid文件必定包含類似下面2行語句,將以下內容:

  auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid.passwd
  acl idtnw_aclauth proxy_auth REQUIRED

  替換成類似下面的語句:

  auth_param basic program /usr/lib/squid/squid_ldap_auth -b "dc=newavetech,dc=com" -D "cn=Manager,dc=newavetech,dc=com" -w "123456" -f "uid=%s" -h ldapserver1.newavetech.com
  auth_param basic children 5
  auth_param basic realm Your Organisation Name
  auth_param basic credentialsttl 5 minutes
  acl idtnw_aclauth proxy_auth REQUIRED

  說明:
  -b "dc=newavetech,dc=com"        該選項根據你的系統里的/etc/openldap/slapd.conf文件修改
  -D "cn=Manager,dc=newavetech,dc=com"   該選項根據你的系統里的/etc/openldap/slapd.conf文件修改
  -w "123456"               該選項根據你的系統里的/etc/openldap/slapd.conf文件中「rootpw            {MD5}VWjZk4C6Geu9wuO2vN+eVQ==」指定的密碼
  -h ldapserver1.newavetech.com      該選項指定了ldap伺服器

  重啟squid伺服器即可,linux系統用戶和密碼就和squid是一致的了。

(2009-03-06)      
怎樣讓系統自動創建用戶的home目錄

假設系統管理員已經掌握PAM配置文件的使用,並且了解在伺服器所在的環境當中,伺服器認證配置需要哪些其他類型的用戶信息和用戶認證。以下提供的例子是基於一個使用ldap驗證的用戶,作為用戶信息或者用戶認證的系統。

以下步驟包括手工編輯伺服器主要PAM認證配置文件/etc/pam.d/system-auth.在做任何改變之前,你應當備份一下/etc/pam.d /system-auth,並且保持一個root登陸窗口,以防止因輸入錯誤或者配置錯誤時可以恢復到原先的system-auth文件。記住,運行認證配置工具,例如authconfig-tui,會有可能造成手工在system-auth做的更改丟失。所以在更改了system-auth文件並且測試成功后應當做一個更改后的備份。

假設ldap服務已經正確配置且在伺服器上正常驗證用戶帳號。在/etc/pam.d/system-auth文件的session部分添加一行,以使用PAM模塊pam_mkhomedir.so 。如果用戶認證成功,用戶的home目錄沒有存在,這個模塊將自動創建用戶的home目錄。

session     required      pam_mkhomedir.so skel=/etc/skel umask=0077

將上面內容加到system-auth文件的session部分的。skel=/etc/skel選項告訴pam_mkhomedir.so拷貝/etc /skel下的文件到用戶的home目錄,就像操作系統普通用戶一樣。umask=0077選項讓pam_mkhomedir.so以700許可權創建 home目錄,就像操作系統普通用戶一樣。

注意:創建用戶home目錄的父目錄必須存在,否則pam_mkhomedir.so將不能創建用戶home目錄。

注意:在測試中將看到,如果用戶通過FTP第一次登錄系統,他們的home目錄可能不會被創建。如果第一次登錄出現問題,請使用其他的登錄方式。

Red Hat Enterprise Linux Server release 5.3 (Tikanga)
Kernel 2.6.18-128.ELsmp on an i686

su - dwang
Creating directory '/homes/dwang'.
Creating directory '/homes/dwang/.mozilla'.
Creating directory '/homes/dwang/.mozilla/plugins'.
Creating directory '/homes/dwang/.mozilla/extensions'.

如果域用戶通過X服務的prefdm第一次登錄系統, 它的home目錄也會被pam_mkhomedir.so成功創建。

[ 本帖最後由 mjwdj 於 2009-10-23 14:47 編輯 ]
《解決方案》

不錯,學習一下
《解決方案》

問一下樓主,客戶端使用authconfig修改為ldap驗證后,各種軟體使用是否都正常,特別是X下面的。
我這邊就一台debian,測試的時候要手工改一些pam.d下面的文件,可能是沒改好,用戶登錄倒是沒什麼問題, 但很多軟體沒法用,謝謝!
《解決方案》

關注!
《解決方案》

用centos4.4測試了一下,還沒有發現什麼問題
另外用authconfig配置客戶端的時候,最好把"cache information"選上,減少查詢次數。
《解決方案》

使用一段時間后的感受,配置文檔網上不少,下面的才是經典:wink: ,見笑了:
ldap的資料庫文件是在:/var/lib/ldap/下面的。
1、一開始把ldap放在一台計算的伺服器上,當這台伺服器負載重的時候,依靠ldap驗證登錄的機器登錄會非常慢(超慢,近乎死機),所以建議用一台空閑的主機(甚至可以是vmware一台虛擬機)。
2、和MySql一樣,有2種方法做資料庫的備份:一、用ldapsearch -x把內容倒出來存成文件,注意清除一下這個命令輸出的和數據無關的信息。萬一資料庫完了,把ldap相關的包刪掉,把原來的資料庫文件刪掉,在重新安裝ldap相關包,把備份的文件改成ldif擴展名,一次導入就行了。個人建議每次作修改時的ldif文件最好保存被查,最好編輯成一個ldif文件,也可以算是一種備份ldap數據的方案。二、另一種是把資料庫文件直接打包備份,出現問題時,停止ldap server,把文件解壓,再重新啟動。
3、authconfig文件修改的文件中有2個ldap.conf文件:/etc/ldap.conf和/etc/openldap/ldap.conf。在我看來前者只是客戶端在作認證時才用的,而後者是客戶端控制server時用的。具體點:不管在客戶端還是伺服器,如果用ldap做認證,伺服器的ldap server應該指向本機,前者是必須的,後者可有可無。在管理ldap server時後者是必須的,前者可有可無,即一台客戶端配置了/etc/openldap/ldap.conf文件,就能通過ldap相關的命令來配置文件中指定的伺服器,但這台機器未必使用了ldap認證。只要修改一下/etc/openldap/ldap.conf文件中的主機名或IP就能用一台機器配置任何一台ldap server。
為保持系統穩定,建議配置多台ldap server,並以空格分隔把主機名或IP列在/etc/ldap.conf文件中,這樣萬一第一台server宕了,第二台server會繼續認證。
另外,建議多台server使用不同的管理員密碼,要修改數據時只需修改你本地的/etc/openldap/ldap.conf文件中的主機名后對每台執行一次就行了。應該不會很麻煩。
《解決方案》

請問如何修改LDAP中的用戶密碼,用戶如何自己修改LDAP中的密碼。
如何為帳號設置密碼策略,謝謝!
《解決方案》

原帖由 heijieweb 於 2007-8-29 19:50 發表 http://bbs.chinaunix.net/images/common/back.gif
請問如何修改LDAP中的用戶密碼,用戶如何自己修改LDAP中的密碼。
如何為帳號設置密碼策略,謝謝!


可以直接用passwd命令修改密碼,修改時會提示輸入用戶原來的密碼(所以以root許可權也必須知道用戶原來的密碼)。如果原密碼丟了,據我所知,只能建個本地帳戶設定默認密碼,然後用上文中生成ldif文件的方法重新生成該用戶的ldif文件,用ldapmodify更新后,再讓用戶用passwd命令自己更改密碼。

帳號設置策略我沒設過,感覺linux的默認策略蠻好了,對於登錄許可權可以用pam來實現,有興趣可以用MSN聯繫,一起學習。

MSN: mjwdj80@hotmail.com
《解決方案》

快2年的帖子,終於更新了,自己頂一下……
《解決方案》

原帖由 mjwdj 於 2009-1-20 10:53 發表 http://bbs.chinaunix.net/images/common/back.gif
快2年的帖子,終於更新了,自己頂一下……


I fu you




[火星人 via ] OpenLDAP集中管理用戶帳號學習筆記(2009-10-23更新)已經有648次圍觀

http://www.coctec.com/docs/service/show-post-14243.html