给ftp用户一个随机密码

时间:2017-06-05 09:51:38

标签: php ssh exec

所以我正在尝试创建一个新的ftp用户和目录,并仅授予他该目录的权限。但问题是为创建的用户设置密码。它创建了用户,但是当我尝试为他设置密码时我得到了这个

  

创建主目录/home/kwgazl69' ... Copying files from / etc / skel'...输入新的UNIX密码:passwd:user'test123'不存在

我做错了什么?这是代码

$src = $request->path;
$dest = "/home/$randomNum/serverFiles";

echo $ssh->exec("adduser --force-badname $randomNum");
echo $ssh->exec("passwd test123");

echo $ssh->exec("cp -r $src $dest");
echo $ssh->exec("usermod -d $dest $randomNum");

echo $ssh->exec("cd $dest && ./samp03svr");

$ssh->disconnect();
  

添加用户ln2i78yt' ... Adding new group ln2i78yt'(1010)...添加新用户ln2i78yt' (1010) with group ln2i78yt'...创建主目录/home/ln2i78yt' ... Copying files from / etc / skel'...输入新的UNIX password:passwd:unrecognized选项'--stdin'用法:passwd [options] [LOGIN]选项:-a, - all报告所有帐户的密码状态-d, - delete删除指定帐户的密码-e, --expire force expire指定帐户的密码-h, - help显示此帮助消息并退出-k, - keep-tokens仅在过期后更改密码-i, - inactive INACTIVE在到期后将密码设置为非活动状态-l, - lock锁定指定帐户的密码-n, - mindays MIN_DAYS将密码更改前的最小天数设置为MIN_DAYS -q, - quiet安全模式-r, - 存储库REPOSITORY更改密码在REPOSITORY存储库中-R, - root CHROOT_DIR目录chroot到-S, - 状态报告密码状态在指定帐户-u, - unlock解锁指定帐户的密码-w, - warndays WARN_DAYS设置到期警告天数到WARN_DAYS -x, - maxdays MAX_DAYS设置密码更改为MAX_DAYS前的最大天数

2 个答案:

答案 0 :(得分:0)

您实际上是在尝试更改用户' test123'的密码,而不是将密码设置为' test123'。

您需要将密码传递给stdin,所以:

echo $ssh->exec('echo -e "test123\ntest123" | passwd ' . $randomNum);

答案 1 :(得分:0)

Just期望第一个参数是用户名,之后它会要求输入两次密码。您可以尝试使用另一个名为passwd的命令。它希望用冒号分隔用户名和密码。

chpasswd