ChangePassword 是一個讓用戶線上修改系統密碼的小工具, 它是由 C 寫成的 CGI, 除了修改系統密碼外, 還未援線上修改 Samba 及 Squid 的密碼。雖然介面看上去很簡單, 但對只想給用戶修改密碼很實用, 以下是安裝方法。
1. ChangePassword 只提供源始碼, 所以要先安裝 GCC:
RHEL / CentOS:
Debian / Ubuntu:
2. 下載及解壓 ChangePassword 的源始碼:
# wget http://prdownloads.sourceforge.net/changepassword/changepassword-0.9.tar.gz
# tar zxvf changepassword-0.9.tar.gz
3. 在編譯前要先安裝一個備頼包, 這個檔案已經在 ChangePassword 的源始檔內:
# tar -zxvf libdes-4.04b.tar.gz
# cd des/
# make
# cp libdes.a ../
# cd ../..
Could not rename the temporary password file.
/home/httpd/html/default/cgi-bin/
4. 修改 conf.h
開啟 ChangePassword 目錄下的 conf.h 檔案, 將頭三行的路徑, 由 /tmp 改為 /root/tmp, 如果沒有修改, 在 CentOS 7 試過之執行會報錯:
將頭三行改成:
1 2 3 |
char TMPFILE[]="/root/tmp/changepassword-shadow-XXXXXX"; char TMPSMBFILE[]="/root/tmp/changepassword-smb-XXXXXX"; char TMPSQUIDFILE[]="/root/tmp/changepassword-squid-XXXXXX"; |
儲存後離開編譯器, 並建立 /root/tmp 目錄:
4. 現在可以編譯 ChangePassword, 由於我不需要修改 Samba 及 Squid 密碼, 所以編譯時會將它們閉:
# make && make install
編譯後, /var/www/cgi-bin/ 目錄下會編譯到一個檔案 changepassword.cgi, 這個就是修改密碼的 cgi, 用瀏覽器開啟主機的 /cgi-bin/changepassword.cgi, 例如:
http://x.x.x.x/cgi-bin/changepassword.cgi
可以看到修改密碼的畫面。請註冊, 所有 wheel (管理員群組) 群組的帳號, 基於保安理由, 是不允許修改密碼的。
No Responses