LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1200|回复: 1

PHP在网页上注册系统用户的问题

[复制链接]
发表于 2006-10-26 22:14:20 | 显示全部楼层 |阅读模式
<?
  /* PHP中如何增加一个系统用户
  下面是一段例程,增加一个名字为james的用户,
  root密码是 verygood。仅供参考
  */

  $rootpasswd="verygoog";
  $user_add = "su root -c useradd james"
  $fp = popen($user_add,"w");
  fputs($fp,$rootpasswd);
  pclose($fp);
  ?>
这样失败了,没有提示错误,但是在SHELL下运行su root -c useradd james再输入密码是可以创建成果的阿,这个是为什么呢?要怎么做啊?
发表于 2006-11-9 11:53:54 | 显示全部楼层
我说一下我的看法,仅供参考

上面的php实际上是通过php,运行一个shell,那么首先要明确这个shell由谁来运行,我们通常在终端下输入这个命令,就是由我们当前的用户来运行的,可是php在服务器上运行shell的身份实际上就是运行apache用户的身份(应该是nobody吧?忘了),而这个用户是没有权限的,也就是说他根本就不能 su root, 更不用说 -c useradd james了。
解决方案是给apache换一个有shell权限的家伙来运行

楼主自己测试一下?我没有lap的机子
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表