|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
基础这个东西是个比较笼统的概念,如果你之前学习过c语言, c语言被认为是 本文引见若何利用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\r” expect “assword:” send “$password\r” expect eof运转shell剧本(下载链接):
$ chpasswd username password下载该剧本,然后拷贝到你的web根目次或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保留和加入文件。
步调3.创立一个基于PHP的接口
如今你需求写一个php剧本。这里有一个php剧本实例。你可以依据你的需求来修正。最少你需求准确设置好的shell剧本地位。翻开php剧本和找到shellscript一行:
$shellscript = “sudo /home/lighttpd/chpasswd”;修正shellscript指向到准确的地位。PHP的源代码从这里下载:
步调4:运转剧本
在你的web阅读器地址栏输出网地址,你将会看到用户名和口令提醒:
假如口令修正胜利,你会失掉切实其实认提醒:
因为一些缘由,假如口令修正掉败,你可以参考上面提醒取得更多具体的毛病信息:
步调5:平安
◆永久不要经由过程http协定直接运转下面的剧本.而是利用https协定。
◆把剧本放入到受口令回护的目次。
◆永久不要信赖用户的输出。下面的php剧本只是一个例子。在实际的临盆情况中,你需求思索采取更壮大的用户输出确认。会商PHP编程的平安超越了本文的局限。你可以参考一本好的PHP书本或利用你喜好的搜刮引擎搜刮相干的网站。
大部分语言的基础,不是说c有多好,而是c相对起手容易学,让你认为这个是编程语言, |
|