我是靠谱客的博主 斯文大象,最近开发中收集的这篇文章主要介绍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 截止日期

最后

以上就是斯文大象为你收集整理的php创建带有效期的linux账户的全部内容,希望文章能够帮你解决php创建带有效期的linux账户所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(222)

评论列表共有 0 条评论

立即
投稿
返回
顶部