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:
[email protected] 《解決方案》
快2年的帖子,終於更新了,自己頂一下……
《解決方案》
原帖由 mjwdj 於 2009-1-20 10:53 發表 http://bbs.chinaunix.net/images/common/back.gif
快2年的帖子,終於更新了,自己頂一下……
I fu you