所以只能想办法让 webserver 调用这个命令了,平时想要提高权限只有 su 和 sudo 这两个命令,所以我就把思路放在这上面了,可是结果调用了这两个命令后也还是不行,在网上搜了搜知道可以修改 sudo 的配置来达到我想要的效果,好了不再废话了,下面进入正题. 首先 确认是否安装了 sudo 命令 然后修改 /etc/sudoers 因为 /etc/sudoers 是只读文件所以要用 visudo 来修改 在结尾加上一行 用户名 ALL=NOPASSWD:/usr/sbin/useradd 其上面的用户名改为你的执行 webserver 程序的用户名 比如 apache 默认的用户名就是 apache 然后再用下面的php代码就可以了(在主要的地方已经标上注释了) PHP代码:(请把<后面的空格去掉,否则无法正常使用) 复制代码代码如下: header("content-Type: text/html; charset=utf-8"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); echo '< pre>'; $submit = $_GET['submit']; $username = $_GET['username']; $pass = $_GET['pass']; $password = crypt($pass); //用crypt将密码加密 $edate = $_GET['edate']; $self = $_SERVER['PHP_SELF']; echo '< form methode="GET" action="" >'; echo ' 用户名 < input type="text" name="username">< /input>'; echo ' 密码 < input type="text" name="pass">< /input>'; echo ' 有效期 < input type="text" name="edate">< /input>'; echo ' < input type="submit" class="ssubmit" name="submit" value="submit">< /input>'; echo '< /form>'; If ($submit == "submit") { $expire_date = date("Y-m-d",time()+($edate***)); echo $username;//用户名 echo '< br/>'; echo $pass;//密码明文 echo '< br/>'; echo $edate;//有效期 echo '< br/>'; echo $expire_date;//截止日期 echo '< br/>'; system("/usr/bin/sudo /usr/sbin/useradd -e $expire_date -p $password $username"); } echo '< /pre>'; 主要函数说明 复制代码代码如下: $username 用户名 $pass 密码明文 $password 用crypt将密码加密 $edate 有效期 $expire_date 截止日期
推荐整理分享php创建带有效期的linux账户(php创建注释的方法),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:有效的php变量名,php创建带有效期的数据库,php使用,php使用,有效的php变量名,php文件创建时间,php创建带有效期的数据库,php创建带有效期的数据库,内容如对您有帮助,希望把文章链接给更多的朋友!
linux格式化新硬盘并挂载并设置开机自动挂载 Linux的硬盘识别:2.6kernel以后,linux会将识别到的硬件设备,在/dev/下建立相应的设备文件.如:sda表示第1块SCSI硬盘hda表示第1块IDE硬盘(即连接在第1个IDE接口的M
Linux下双网卡双网关路由表配置相关资料 最近在一个双线路机房测试一台服务器,打算作为论坛的数据库服务器使用,服务器操作系统为Linux。计划配置为双IP,双域名,使得浏览者通过电信和
Linux环境下双网卡主机路由配置教程 一、环境:三台直接相连的计算机主机如图PC1------PC2------PC3其中PC2上有两块网卡eth0、eth1,分别与PC3、PC1相连------代表网线二、需求:将PC2配置为路由器