Linux 技术手札

安装 ChangePassword 线上修改系统密码工具

ChangePassword 是一个让用户线上修改系统密码的小工具, 它是由 C 写成的 CGI, 除了修改系统密码外, 还未援线上修改 Samba 及 Squid 的密码。虽然接口看上去很简单, 但对只想给用户修改密码很实用, 以下是安装方法。

1. ChangePassword 只提供源始码, 所以要先安装 GCC:

RHEL / CentOS:

# yum group install “Development Tools”

Debian / Ubuntu:

$ sudo apt-get install build-essential

2. 下载及解压 ChangePassword 的源始码:

# cd /usr/local/src
# wget http://prdownloads.sourceforge.net/changepassword/changepassword-0.9.tar.gz
# tar zxvf changepassword-0.9.tar.gz

3. 在编译前要先安装一个备頼包, 这个档案已经在 ChangePassword 的源始档内:

# cd changepassword-0.9/smbencrypt/
# 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 试过之执行会报错:

# vi conf.h

将头三行改成:

储存后离开编译器, 并建立 /root/tmp 目录:

# mkdir /root/tmp

4. 现在可以编译 ChangePassword, 由于我不需要修改 Samba 及 Squid 密码, 所以编译时会将它们闭:

# ./configure -enable-cgidir=/var/www/cgi-bin -disable-smbpasswd -disable-squidpasswd
# make && make install

编译后, /var/www/cgi-bin/ 目录下会编译到一个档案 changepassword.cgi, 这个就是修改密码的 cgi, 用浏览器开启主机的 /cgi-bin/changepassword.cgi, 例如:

http://x.x.x.x/cgi-bin/changepassword.cgi

可以看到修改密码的画面。请注册, 所有 wheel (管理员群组) 群组的帐号, 基于保安理由, 是不允许修改密码的。

Exit mobile version