adduser怎么设置密码?

yousoft2013 2001-07-05 12:54:40
我想通过web控制adduser,但无法设置其密码
system('/usr/sbin/useradd -p passwd username');
这里的passwd的加密后的密码,怎么办呢???有没有方法解决
或者如何设置初始密码呢?



解决问题就给分,一定!
...全文
665 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yousoft2013 2001-07-19
  • 打赏
  • 举报
回复
问题搞定,谢谢ipman和hu_zz,sudo只是个工具,默认Linux下根本不存在的,要自已去下载来安装。chpasswd在linux才有,而且用于passwd可行!sudo我也找到了,不过其安全性不知怎样!
yousoft2013 2001-07-11
  • 打赏
  • 举报
回复
linux根本找不到ipman说的命令!
hu_zy 2001-07-09
  • 打赏
  • 举报
回复
ipman说的已经很清楚了!
kahntang 2001-07-09
  • 打赏
  • 举报
回复
用vi编辑password
yousoft2013 2001-07-08
  • 打赏
  • 举报
回复
有没有人知道啊?!
yousoft2013 2001-07-06
  • 打赏
  • 举报
回复
有没有人知道啊?!
yousoft2013 2001-07-05
  • 打赏
  • 举报
回复
以上是加了个james用户,但james的密码呢?我想知道的是这个。
不会加个没有登录密码的用户吧,这没有任何意义哦!
ipman 2001-07-05
  • 打赏
  • 举报
回复
给系统添加一个用户,需要su成root,su的时候是要进行身份认证的,这个认证过程就是一个交互过程。按文章里面说的方法是实现不了的。这个问题的根本原因是在PHP执行一系列外部命令的时候,其实是相当于一个shell脚本。有一个方法可以绕过这个问题,在linux里面有个sudo的命令,sudo 就是以root身份执行一些命令,编辑/etc下面的sudoer文件,把nobody加入进去,并设置成nopasswd,就可以不进行身份验证,然后执行passthru(sudo adduser newuser),用户就加上去了。接下来的问题是给newuser加上passwd,root给普通用户加密码也是要进行确认的。如何绕过这个问题呢?系统里面还有一个命令 chpasswd,chpasswd 的用法是一次修改一群用户的口令,而这群用户的口令是需要写进一个文件里面去。格式是 user:passwd,一个用户占一行。PHP就可以利用这个命令,先fopen一个临时文件,把user:passwd写进去,然后passthru(sudo chpasswd < tempfile),至此,新用户的添加工作就完成了。

把nobody加入sudoer里面会带来一些安全上的问题,所以要注意给nobody一些限制,在sudoer里面可以加入允许执行的命令。另外PHP脚本的写作的时候也要注意考虑一些特殊字符的处理。
ipman 2001-07-05
  • 打赏
  • 举报
回复
<?
/* PHP中如何增加一个系统用户
下面是一段例程,增加一个名字为james的用户,
root密码是 verygood。仅供参考
*/
$sucommand = "su --login root --command";
$useradd = "useradd ";
$rootpasswd = "verygood";
$user = "james";
$user_add = sprintf("%s \"%s %s\"",$sucommand,$useradd,$user);
$fp = @popen($user_add,"w");
@fputs($fp,$rootpasswd);
@pclose($fp);
?>

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧