创建用户 passwd 的命令行脚本

Cra*_*igt 1 php passwords scripting ubuntu

我对 Linux 和 PHP 很陌生,所以如果这是一个愚蠢的问题,请原谅我。

我需要创建一个 PHP 命令行脚本,将用户添加到系统中,以供 ftp 服务器使用。我现在已经设置好了,它可以很好地创建帐户。我面临的问题是,即使我在创建帐户时传递了密码,即。-p $password,我仍然需要在该帐户上运行“passwd”命令并手动设置密码,然后 proftpd 才会让该帐户登录。

对于我的一生,我无法弄清楚如何从 php.ini 中运行 passwd 命令。显然我可以运行它,但我不知道如何在提示时以编程方式输入密码。

只是为了了解更多信息,这是我在创建帐户时运行的命令。$username 和 $password 被传递到函数中。

shell_exec("useradd ".$username." -g ftpusers -m -p ".$password." -d
/home/ftp/".$username."/ -s /bin/false);
Run Code Online (Sandbox Code Playgroud)

现在我想添加一些内容:

shell_exec("passwd ".$username);
echo $password;
echo $password;
Run Code Online (Sandbox Code Playgroud)

仅供记录,最后一个示例仅用于说明。

任何帮助表示赞赏。

Tom*_*igh 5

您需要使用 useradd 使用哈希密码,例如

$password = escapeshellarg( crypt('password') );
shell_exec("useradd username -p $password");
Run Code Online (Sandbox Code Playgroud)

-p, --password PASSWORD 加密密码,由 crypt(3) 返回。默认是禁用该帐户。

男人用户添加