分享
 
 
 

让你的Linux支持WEB修改密码

王朝system·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

现在使用Linux做为服务器越来越普遍,一个中小机构采用Linux做邮件服务器、WEB服务器等都十分合适。而这些服务的用户(如E-Mail用户)常常并不是十分熟悉电脑,修改自己的密码比较费劲。所以,如果能够提供一个操作方便的修改密码的方法是十分有用的。下面,我们就一起来让你的Linux服务器支持用户通过WEB方式来修改密码。

自由软件chpasswd能够使你十分轻松地完成这个功能需求。

一、 下载软件

这个自由软件源于波兰,截止到笔者写这篇文章时,最新版本是2.1版。你可以在http://sic.popnet.pl/~mlody/chpasswd/下载到这个软件。

该软件已在Slackware 4.0/7.0、Debian GNU/Linux woody、RedHat 6.1/5.2中测试通过。

软件源程序包名称是:chpasswd.2.1.tar.gz,它是使用gzip压缩过的,压缩后大小为83K。笔者在此假设你将这个软件下载后,存放在/usr/local目录下。

二、 安装软件

这个软件的安装十分简单:

1. 以root用户登录系统;

2. 转到/usr/local目录,然后解压缩这个软件:

cd /usr/local

tar -zxvf chpasswd.2.1.tar.gz

成功执行后,会在/usr/local目录下新生成一个chpasswd.2.1目录。

3. 进入软件目录,安装软件:

cd chpasswd.2.1

./build.sh

这时将出现以下输出(中文部分是笔者加上去的注解):

create-html.sh for chpasswd 2.0, make by ml0dy

conwerting... error1 file

conwerting... error2 file

conwerting... error3 file

conwerting... error4 file

conwerting... error5 file

conwerting... error6 file

conwerting... error7 file

conwerting... error8 file

conwerting... index file

conwerting... ok file

done. (准备WEB页面文件)

Configure script for chpasswd 2.0, make by ml0dy MLODY@POPNET.PL

...finded HTTP daemon (/usr/local/apache/bin/httpd) (自动发现HTTP进程)

...COOL, Apache HTTP daemon (ver.1.3.14) (发现是Apache)

...configure file: /usr/local/apache/conf/httpd.conf (配置文件是httpd.conf)

...Group = nobody

CGI-BIN directory: /usr/local/apache/cgi-bin (找到CGI目录)

...correcting Makefile

gcc -DHAVE_CONFIG_H -I. -O2 -Wall -c libs/commonio.c -o libs/commonio.o

gcc -DHAVE_CONFIG_H -I. -O2 -Wall -c libs/commonio.c -o libs/commonio.o

gcc -DHAVE_CONFIG_H -I. -O2 -Wall -c libs/pwio.c -o libs/pwio.o

gcc -DHAVE_CONFIG_H -I. -O2 -Wall -c libs/shadowio.c -o libs/shadowio.o

gcc -DHAVE_CONFIG_H -I. -O2 -Wall -c libs/sgetpwent.c -o libs/sgetpwent.o

gcc -Wall -O2 -c salt.c

gcc -Wall -O2 -c pw_encrypt.c

gcc -Wall -O2 -c md5_crypt.c

gcc -Wall -O2 -c des_crypt.c

gcc -Wall -O2 -c cgilib.c

gcc -Wall -O2 -c mgets.c

gcc -Wall -O2 -DHAVE_SHADOW -o chpasswd chpasswd.c salt.o pw_encrypt.o md5_cryp(至此完成了编译过程)

cp chpasswd /usr/local/apache/cgi-bin/chpasswd.cgi

chown root /usr/local/apache/cgi-bin/chpasswd.cgi

chgrp nobody /usr/local/apache/cgi-bin/chpasswd.cgi

chmod u+s /usr/local/apache/cgi-bin/chpasswd.cgi

chmod a-rx /usr/local/apache/cgi-bin/chpasswd.cgi

chmod g+rx /usr/local/apache/cgi-bin/chpasswd.cgi

(将chpasswd.cgi拷贝到相应目录并做相应的权限设置)

(在我这里编译的最后还有一步,cp www.deny /etc/www.deny,我查看了该文件,发现里面列举了不能使用www方式修改密码的用户——子夜游魂注)

到此为止,软件就安装完成了。

三、 使用WEB修改密码

软件就安装完成后,你只要将chpasswd.cgi链接到你主页上就可以完成了,或者在客户端浏览器上输入www.yourdomain.com/cgi-bin/chpasswd.cgi,你将看到以下界面:

500) {this.resized=true; this.width=500;}" onmouseover="this.style.cursor='hand'" onclick="{window.open('http://www.chinalinuxpub.com/images/chpasswd01.jpg');}" src="http://www.chinalinuxpub.com/images/chpasswd01.jpg" onmousewheel="return bbimg(this)"

在login栏中输入你的用户名,在current passwd栏中输入你原来的密码,并在new passwd和new passwd(confirm)栏中输入新密码(注意,两个密码需一致),然后按下change按钮。当出现以下画面,就表示修改成功:

500) {this.resized=true; this.width=500;}" onmouseover="this.style.cursor='hand'" onclick="{window.open('http://www.chinalinuxpub.com/images/chpasswd02.jpg');}" src="http://www.chinalinuxpub.com/images/chpasswd02.jpg" onmousewheel="return bbimg(this)"

如果出现了什么错误,则会出现相应的提示,其中包括:

1) ERROR:You didn write your login, thats stupid...

你没有填写你的用户名,真笨!

2) ERROR:You didn write your current password...

你没有填写你的当前密码;

3) ERROR:Your new password and confirmed new password do not match.

你两次输入的新密码不一样;

4)ERROR:You can change password by WWW, contact to your administrator!

你不能通过WEB方式修改密码,请与管理员联系;

5)ERROR:Incorrect password...

当前密码不对(防止别人知道用户名情况下修改你密码)

6)ERROR:You didn write your new password...

你没有填写你新密码;

7)ERROR:Unknown user.

用户名不存在,估计你输错了;

8)ERROR:You didn write your new password (confirm)...

你没有输入new password (confirm)。

这八种错误都有出现一个类似于上面的这个的网页,给您提示。

四、 使用技巧

1. 禁止某些用户通过WEB方式修改密码:

有些系统帐号如root、ftp等帐号一般是不需要通过WEB方式来修改的,另外,有时你会不想让某个用户通过WEB方式修改密码,你只需修改一下配置文件就行了。

安装chpasswd后,会生成一个/etc/www.deny文件,在这个文件中列出的用户均不能通过WEB方式进行修改密码。你只需将用户添加进去就可以了,马上生效。

2. 修改chpasswd的页面

如果你对chpasswd自带的这些页面不满意的话,你可以自己修改它。

它们在/usr/local/chpasswd.2.1/html目录中,这个目录有以下几个文件:

index.html:修改的主界面

ok.html:修改成功的界面

error1.html

error2.html

……

error8.html:就是上面所述的8个错误的界面。

你可以直接修改它们,修改完成后后转到/usr/local/chpasswd.2.1目录下,执行./create-html.sh命令。然后再执行./bulid.sh完成安装。

另外请注意:在有些系统中为了追求更大的安全性,连root用户都没对/etc/shadow写的权限,这样会出现一些问题。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有