• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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 截止日期
    上一篇:只允许用来代理上网的SSH账号的方法
    下一篇:linux格式化新硬盘并挂载并设置开机自动挂载
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    php创建带有效期的linux账户 php,创建,带,有效期,的,linux,