全球主机交流论坛

标题: linux账号的有效期 [打印本页]

作者: easyboy    时间: 2010-7-4 00:25
标题: linux账号的有效期
你们知道LINUX账号有效期怎么设置吗
就是每增加一个账号给予注册日期加一个月的有效期的脚本怎么写。。我搜索不到了。。
作者: Cat    时间: 2010-7-4 00:27
等高手出现吧
作者: yculer    时间: 2010-7-4 00:29
useradd -e 20xx-xx-xx username
作者: easyboy    时间: 2010-7-4 00:31
原帖由 yculer 于 2010-7-4 00:29 发表
useradd -e 20xx-xx-xx username

不是这个意思。
我的意思是说
比如今天4号3点用脚本创建了个SSH。自动加到8月4号的脚本
作者: easyboy    时间: 2010-7-4 00:50
有人告诉我下不
作者: cnx    时间: 2010-7-4 08:11
(, 下载次数: 5)

嘿嘿,我只有手动的。
作者: dream26    时间: 2010-7-4 08:23
原帖由 cnx 于 2010-7-4 08:11 发表
6032

嘿嘿,我只有手动的。



呵呵
作者: cuijz    时间: 2010-7-4 09:06
用这个命令 chage
Usage: chage [options] user

Options:
  -d, --lastday LAST_DAY        set last password change to LAST_DAY
  -E, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
  -h, --help                    display this help message and exit
  -I, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -l, --list                    show account aging information
  -m, --mindays MIN_DAYS        set minimum number of days before password
                                change to MIN_DAYS
  -M, --maxdays MAX_DAYS        set maximim number of days before password
                                change to MAX_DAYS
  -W, --warndays WARN_DAYS      set expiration warning days to WARN_DAYS
作者: easyboy    时间: 2010-7-4 10:08
标题: 回复 6# 的帖子
这个咋写?
作者: easyboy    时间: 2010-7-4 10:08
原帖由 cuijz 于 2010-7-4 09:06 发表
用这个命令 chage
Usage: chage [options] user

Options:
  -d, --lastday LAST_DAY        set last password change to LAST_DAY
  -E, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
...

能搞成脚本形式吗
作者: easyboy    时间: 2010-7-4 10:40
谁告诉我下吧。。
作者: easyboy    时间: 2010-7-4 12:09
谷歌了半天还是没找到
作者: 霸武邪皇    时间: 2010-7-4 12:44
好多高手都给出答案了
作者: cuijz    时间: 2010-7-4 12:45
chage -E "2010-07-31" easyboy
作者: 删除    时间: 2010-7-4 13:09
原帖由 yculer 于 2010-7-4 00:29 发表
useradd -e 20xx-xx-xx username

这个不对么??呵呵 看了半天都不知道你想要干什么
作者: easyboy    时间: 2010-7-4 13:57
我是想利用PHP调用脚本。创建用户的时候根据创建时间 增加相应的有效期
作者: zyypp    时间: 2010-7-4 15:56
我测试过了 默认情况下 useradd 之能被 root 执行
所以还要做些修改才行

首先 确认是否安装了 sudo 命令
然后修改 /etc/sudoers
因为 /etc/sudoers 是只读文件所以要用 visudo 来修改
在结尾加上一行
用户名 ALL=NOPASSWD:/usr/sbin/useradd
其中的红色部分的用户名改为你的执行 webserver 程序的用户名
比如 apache 默认的用户名就是 apache

然后再用下面的php代码就可以了(在主要的地方已经标上注释了)
  1. <?php
  2. header("content-Type: text/html; charset=utf-8");
  3. header("Cache-Control: no-cache, must-revalidate");
  4. header("Pragma: no-cache");
  5. echo '<pre>';
  6. $submit                =        $_GET['submit'];
  7. $username        =        $_GET['username'];
  8. $pass                =        $_GET['pass'];
  9. $password        =        crypt($pass); //用crypt将密码加密
  10. $edate                =        $_GET['edate'];
  11. $self                =        $_SERVER['PHP_SELF'];
  12. echo '<form methode="GET" action="">';
  13. echo '   用户名 <input type="text" name="username"></input>';
  14. echo '   密码 <input type="text" name="pass"></input>';
  15. echo '   有效期 <input type="text" name="edate"></input>';
  16. echo '   <input type="submit" class="ssubmit" name="submit" value="submit"></input>';
  17. echo '</form>';
  18. If ($submit == "submit")
  19. {
  20.         $expire_date = date("Y-m-d",time()+($edate*24*60*60));
  21.         echo $username;//用户名
  22.         echo '<br/>';
  23.         echo $pass;//密码明文
  24.         echo '<br/>';
  25.         echo $edate;//有效期
  26.         echo '<br/>';
  27.         echo $expire_date;//截止日期
  28.         echo '<br/>';
  29.         system("/usr/bin/sudo /usr/sbin/useradd -e $expire_date -p $password $username");
  30. }
  31. echo '</pre>';
  32. ?>
复制代码


主要函数说明
$username  用户名
$pass  密码明文
$password  用crypt将密码加密
$edate  有效期
$expire_date  截止日期

[ 本帖最后由 zyypp 于 2010-7-4 17:04 编辑 ]
作者: easyboy    时间: 2010-7-4 15:59
标题: 回复 17# 的帖子
亲一下
作者: zyypp    时间: 2010-7-4 16:04
标题: 回复 18# 的帖子
你先试一下 我没在lin下测试

作者: zyypp    时间: 2010-7-4 16:58
标题: 回复 19# 的帖子
17楼的代码 已经修改好了 我在lin环境下已经测试能够正常使用了
作者: easyboy    时间: 2010-7-4 19:49
标题: 回复 20# 的帖子
这个是再后台加有效期。。要是能完美到跟主机管理系统一样自己按月按季度加的就更好了。。我试下
作者: zyypp    时间: 2010-7-5 02:07
标题: 回复 21# 的帖子
没理解你的意思
作者: easyboy    时间: 2010-7-5 03:58
原帖由 zyypp 于 2010-7-5 02:07 发表
没理解你的意思

就是类似增加虚拟主机时间的一样,分别为增加一个月 半年(6个月) 一年

不知道LINUX的命令有办法完成不。不过还是十分感谢
作者: zyypp    时间: 2010-7-5 08:41
标题: 回复 23# 的帖子
我写的那个不是有一个 有效期的字段吗 你直接写入指定时间不就可以了 或者你修改下 把它改成下拉列表

作者: easyboy    时间: 2010-7-5 12:49
标题: 回复 24# 的帖子
了解。。我去试试




欢迎光临 全球主机交流论坛 (https://loc.193.gs/) Powered by Discuz! X3.4