php创建带有效期的linux账户

所以只能想办法让 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*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 截止日期

(0)

相关推荐

  • Win7系统下如何创建带密码隐藏的文件夹保护个人隐私文件

    Win7系统下如何创建带密码隐藏的文件夹保护个人隐私文件

  • 在Word中创建带引出线的标注

    有时,需要在Word中创建带引出线的标注.那么如何在Word中创建带引出线的标注呢?在Word中创建带引出线的标注的方法很简单.本文就来介绍一下在Word中创建带引出线的标注的方法以供参考. 1. 在 ...

  • 怎么在word2016软件中创建带模板的文档

    今天给大家介绍一下怎么在word2016软件中创建带模板的文档的具体操作步骤.1. 首先打开电脑上的word2016软件,如图2.在打开的编辑页面,点击左上方的[文件]选项3. 在打开的文件窗口中,点 ...

  • macbook电脑怎么创建一个管理员类型的账户

    最近有小伙伴问macbook苹果电脑怎么新建管理员账户,下面小编介绍一下.具体如下:1. 打开电脑,点击"系统偏好设置"图标2.进入后,点击页面中的"用户与群组" ...

  • Access如何创建带条件的查询

    access是一款好用的小型数据库管理软件,那么Access如何创建带条件的查询呢?小编这就来告诉大家. 操作方法 01 首先点击上面菜单栏的"创建",点击"查询设计&q ...

  • securecrt创建秘钥访问linux

    securecrt创建秘钥访问linux 操作方法 01 CRT默认身份验证第一的是口令验证,这次我们测试使用它的密钥身份验证. 02 1.选择工具,创建公钥 03 2.选择RSA加密算法 04 3. ...

  • Linux账户管理

    当用户登陆Linux系统时,Linux将做如下检查: 1)在/etc/passwd文件里匹配输入的用户名,获取该用户名的UID和GID(其中GID和/etc/group关联)、Home目录和Shell ...

  • linux 账户管理命令 useradd、groupadd使用方法

    内容提要:1. 掌握用户的 增/删/改 命令2. 掌握组的 增/删/改 命令 组管理1)groupaddgroupadd 用于添加组账号.格式如下:groupadd [-g GID] GROUP其中: ...

  • 怎么创建和删除指定用户账户NET USER命令

    NET USER命令是用于创建和修改计算机上的用户账户,该命令写出NET USER. 命名格式NET USER [username [password|*] [/DOMAIN]username{pas ...