php创建带有效期的linux账户
2010-12-20 18:56
375 查看
所以只能想办法让 webserver 调用这个命令了,平时想要提高权限只有 su 和 sudo 这两个命令,所以我就把思路放在这上面了,可是结果调用了这两个命令后也还是不行,在网上搜了搜知道可以修改 sudo 的配置来达到我想要的效果,好了不再废话了,下面进入正题.
首先 确认是否安装了 sudo 命令
然后修改 /etc/sudoers
因为 /etc/sudoers 是只读文件所以要用 visudo 来修改
在结尾加上一行
用户名 ALL=NOPASSWD:/usr/sbin/useradd
其上面的用户名改为你的执行 webserver 程序的用户名
比如 apache 默认的用户名就是 apache
然后再用下面的php代码就可以了(在主要的地方已经标上注释了)
PHP代码:(请把<后面的空格去掉,否则无法正常使用)
主要函数说明
首先 确认是否安装了 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*24*60*60)); 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 截止日期
相关文章推荐
- Linux创建子账户并设置使用秘钥登录
- Linux环境下,使用PHP创建一个守护进程
- linux 创建账户,并添加到sudoers文件中
- Linux创建子账户并设置密码
- Shell开发批量创建Linux账户和随机8位数密码
- PHP调用Linux的命令行执行文件压缩命令&&创建文件夹修改权限
- 为ELK在linux上创建具有管理员操作权限的账户
- 使用virtualBox创建一个Linux虚拟机及配置apache和php
- Linux、apache 无法使用PHP创建目录和文件
- 如何创建 linux 下的计划任务运行 php 文件?
- 无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
- 一分钟在Linux环境下创建一台SFTP服务器(含账户创建)
- linux下创建具有root权限的账户
- linux下如何创建nolgin-shell账户
- 在 Linux 上使用 Google Maps API Version 2、DB2/Informix、PHP 和 JMeter 创建地图
- ahjesus linux连接阿里云ubuntu服务器更改默认账号和密码、创建子账户的步骤
- 为Linux集群创建新账户,并配置hadoop集群
- 通过修改配置文件,手动创建一个Linux可登陆账户
- 有关linux下php创建目录权限问题
- linux下创建线程内存泄漏,php的json_encode等