首页 / 网页编程 / PHP / 使用PHP脚本修改Linux或Unix系统口令
使用PHP脚本修改Linux或Unix系统口令2008-05-02赵珂本文介绍如何使用PHP脚本修改Linux或Unix系统口令需要的工具和安装:你必须安装下面的工具和软件:– 修改口令的Shell脚本– Sudo 访问权– Apache or Lighttpd web 服务器– PHP服务端程序步骤#1: 安装可以修改用户口令的shell脚本该脚本可以实际用于修改Linux用户的口令(已在Linux和FreeBSD测试).例子: shell脚本代码#!/bin/sh
#
exec expect -f “$0″ ${1+”$@”}
set password [lindex $argv 1]
spawn passwd [lindex $argv 0]
sleep 1
expect “assword:”
send “$password
”
expect “assword:”
send “$password
”
expect eof运行shell脚本(下载链接)$ chpasswd username password下载该脚本, 然后拷贝到你的web根目录或者服务器的其它位置(用户可读):$ cp chpasswd /var/www/或者, 如果你使用Lighttpd web服务器:$ cp chpasswd /home/lighttpd步骤#2: 通过sudo以root身份执行命令Apache或Lighttpd web服务器进入后台运行后会马上使用非root权限. 这样可以很好的防止口令修改, 就像passwd命令需要root权限才能修改其它用户帐号的口令.通常, Apache 2使用www-data用户, Lighttpd使用lighttpd用户(皆为普通用户, 非root用户). 使用root用户登陆, 然后执行下面的命令:# visudo现在你的web服务器允许执行口令修改脚本(chpasswd). 如果你使用Apache web服务器, 执行下面的命令:www-data ALL=NOPASSWD: /var/www/chpasswd或者, 如果你使用Lighttpd web服务器, 执行下面的命令:httpd ALL=NOPASSWD: /home/lighttpd/chpasswd保存和退出文件.