所以我正在尝试创建一个新的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前的最大天数
答案 0 :(得分:0)
您实际上是在尝试更改用户' test123'的密码,而不是将密码设置为' test123'。
您需要将密码传递给stdin,所以:
echo $ssh->exec('echo -e "test123\ntest123" | passwd ' . $randomNum);
答案 1 :(得分:0)
Just
期望第一个参数是用户名,之后它会要求输入两次密码。您可以尝试使用另一个名为passwd
的命令。它希望用冒号分隔用户名和密码。
chpasswd