【发布时间】:2014-07-07 10:06:21
【问题描述】:
我编写了一个 php 脚本来允许用户为邮件服务创建帐户。
shell_exec("sudo useradd -m ".escapeshellcmd($user_name)." -s /sbin/nologin"." -p ".crypt(escapeshellcmd($user_password),"abcd"));
现在我想允许用户更改/删除他们的密码/帐户。我尝试使用
shell_exec("sudo deluser --remove-all-files -f ".$username);
我不知道如何实现密码更改。
不幸的是,这些命令似乎不起作用。我该如何实现这些?
更新:处理密码更改的一段代码
case 'change':
$username = $_POST['value'];
$newpwd = $_POST['Pwd'];
// Berry Langerak's code
$out = shell_exec(
sprintf(
"echo '%s:%s' | chpasswd",
escapeshellarg($username),
escapeshellarg($newpwd)
)
);
echo(json_encode($username." password has been updated"));
break;
【问题讨论】:
-
希望您的用户不能被称为“; rm -rf /*”