让你的Linux支持WEB修改密码(转)[@more@]现在使用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
...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拷贝到相应目录并做相应的权限设置)
到此为止,软件就安装完成了。

三、 使用WEB修改密码

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

400) {this.resized=true; this.width=400; this.alt='Click here to open new window';}" border=0>

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

400) {this.resized=true; this.width=400; this.alt='Click here to open new window';}" border=0>

如果出现了什么错误,则会出现相应的提示,其中包括:
1) ERROR:You didn't write your login, that's stupid...
你没有填写你的用户名,真笨!
2) ERROR:You didn't write your current password...
你没有填写你的当前密码;
3) ERROR:Your new password and confirmed new password do not match.
你两次输入的新密码不一样;
4)ERROR:You can't change password by WWW, contact to your administrator!
你不能通过WEB方式修改密码,请与管理员联系;
5)ERROR:Incorrect password...
当前密码不对(防止别人知道用户名情况下修改你密码)
6)ERROR:You didn't write your new password...
你没有填写你新密码;
7)ERROR:Unknown user.
用户名不存在,估计你输错了;
8)ERROR:You didn't 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写的权限,这样会出现一些问题。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10617731/viewspace-950333/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10617731/viewspace-950333/

让你的Linux支持WEB修改密码(转)相关推荐

  1. linux通过文件修改密码,如何通过Linux系统来修改密码

    现在使用Linux作为服务器的人越来越多,其实它非常适合中小企业,下面爱站技术频道小编一起教你如何通过Linux系统来修改密码,感兴趣的小伙伴们可以进入下文参考一下. 一. 下载软件 这个自由软件源于 ...

  2. 【linux】linux用户重置修改密码

    [linux]linux用户重置修改密码 1.背景 2.示例 1.背景 修改密码是操作系统最常见的操作. linux操作系统,通过passwd 系统命令来修改密码. 其中普通用户只能修改自己用户的密码 ...

  3. Linux下root修改密码报错解决方案

    2019独角兽企业重金招聘Python工程师标准>>> 今天准备修改Linux系统的root用户密码时,执行passwd root,出现了以下情况,修改密码失败: # passwd ...

  4. linux用户随机密码,Linux 生成随机密码/修改密码

    Linux生成随机密码方式: strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d 'n'; echo Linux修改密码 ...

  5. linux 修改用户密码 报错,Linux下root修改密码报错解决方案

    今天准备修改Linux系统的root用户密码时,执行passwd root,出现了以下情况,修改密码失败: # passwd root Changing password for user root. ...

  6. 阿里云linux 重启mysql数据库_阿里云linux服务器mysql修改密码教程

    阿里云机器最多的好像是linux系统了,我今天来为大家介绍一下阿里云服务器的linux系统修改mysql数据库密码的方法,希望对各位会有帮助,这里整理了几种方法. MYSQL的密码我们并不经常修改,但 ...

  7. 服务器 linux mysql5.7修改密码,navicat远程登录不了

    这里以mysql5.7作为例子 当服务器部署mysql,navicat远程访问,修改密码时需要修改两次 1.修改本地登录密码 2.修改远程访问登录密码 修改: ALTER USER 'root'@'l ...

  8. linux 普通用户修改密码

    作为一名技术人员,当你入职新公司之后,公司一般都会给你开一堆服务器的用户名密码,这些初始密码都是随机生成的,要想用脑子给记住那简直要命,而且很多时候这些密码都是有有效期到期都需要修改,所以最基本的修改 ...

  9. linux:用户修改密码方法

    今天终于拿到心心念念的服务器账号了,拿到密码的同时被告知需要改密码,输入passwd后,得到如下结果: passwd: Authentication token manipulation error ...

最新文章

  1. Pyinstaller 打包 torch 后执行失败 OSError: could not get source code
  2. 软件测试(一):概念篇
  3. 数据结构Stack:关系以及方法
  4. php PDO 浮点数返回,php – 如何在PDO中简单地返回对象?
  5. asp.net中此页的状态信息无效,可能已损坏的解决之道
  6. 语言设计谁年龄大_这桌子谁设计的?脑洞够大,除能360°翻转,打台球,乒乓球都行...
  7. 嵌入式Linux驱动学习之路(十五)按键驱动-定时器防抖
  8. 标准的SQL的解析顺序
  9. 芯片破壁者:硅谷“摩西”肖克利和他的半导体实验室
  10. 剑指offer——面试题6:重建二叉树
  11. EmptyRecycle() 清空回收站
  12. 十七、Fiddler抓包工具详细教程 — Fiddler常用插件
  13. Postman的测试脚本(一)
  14. 图片自适应手机横屏竖屏的宽高
  15. linux源码解析-dup_task_struct函数
  16. Pygame 入门基本指南
  17. qq企业邮箱怎么删除邮件服务器,腾讯企业邮箱如何删除邮件,有什么要注意的呢?...
  18. 微信小程序实战十三:狗狗小程序云搭建
  19. css div背景图大小,divcss如何改变背景图片大小
  20. ts文件引入js文件_如何编写一个d.ts文件的步骤详解

热门文章

  1. oracle 提取中文字符串拼音首字母函数,拼音简码提取函数
  2. U的含义,u是什么单位
  3. UE4 角色沿着样条线移动
  4. 运动会分数统计(数据结构课程设计)
  5. 如何找到精美联想锁屏壁纸?
  6. WSA微软官方安装教程(ADB安装教程)
  7. Python 防止死锁的方法
  8. BZOJ1733: [Usaco2005 feb]Secret Milking Machine 神秘的挤奶机
  9. C语言核桃的数量问题
  10. 看傲腾配OpenCAS加速联通沃云业务