php - 创建用户密码的命令行脚本

标签 php ubuntu scripting passwords

我对 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);

现在我希望添加以下内容:
shell_exec("passwd ".$username);
echo $password;
echo $password;

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

任何帮助表示赞赏。

最佳答案

您需要使用 useradd 使用散列密码,例如

$password = escapeshellarg( crypt('password') );
shell_exec("useradd username -p $password");

-p, --password PASSWORD The encrypted password, as returned by crypt(3). The default is to disable the account.



(man useradd)

关于php - 创建用户密码的命令行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1593429/

相关文章:

php - 具有多个服务器和 php worker 的 Gearman

ubuntu - 安装 Memcached 的问题

linux - 如何停止分钟的 cron 工作?

php - 在 PHP 中运行 MySQL *.sql 文件

php - 在 laravel 5 中使用 bootstrap 进行多级导航

PHP日期问题

php - 强制 WordPress 画廊使用媒体文件链接而不是附件链接

ubuntu - 强制ssh私钥每次都使用密码

pdf - 使用一些实用程序或脚本将嵌入的 PDF 字体提取到外部 ttf 文件

c - 如何将基于列表的文件复制到同样基于列表创建的相应文件夹中?