使用 shell_exec('passwd') 更改用户密码

2023-12-07

我需要能够通过网页(在受控环境中)更改用户的密码。 因此,为此,我使用以下代码:

<?php
$output = shell_exec("sudo -u dummy passwd testUser testUserPassword");
$output2 = shell_exec("dummyPassword");
echo $output;
echo $output2;
echo "done";
?>

我的问题是该脚本没有更改用户“testUser”的密码。 我究竟做错了什么?

Thanks


另一种选择是使用一个 shell 脚本,比如名为 passwd_change.sh 的地方,如下所示:

#!/usr/bin/expect -f
set username [lindex $argv 0]
set password [lindex $argv 1]

spawn passwd $username
expect "(current) UNIX password: " 
send "$password\r"
expect "Enter new UNIX password: "
send "$password\r"
expect "Retype new UNIX password: "
send "$password\r"
expect eof

然后在你的 php 代码中执行以下操作:

<?php
shell_exec("sudo -u root /path/to/passwd_change.sh testUser testUserPass");
?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 shell_exec('passwd') 更改用户密码 的相关文章

随机推荐