LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 912|回复: 3

请解释expiry -c 和expiry -f 的含义.

[复制链接]
发表于 2007-6-16 11:39:35 | 显示全部楼层 |阅读模式
今天阅读的debian的passwd包下的expiry命令.
理解到:
-c 是用来检查帐号失效日期.
-f 是强制实行帐号失效日期.

可是,帐号失效日期是系统中默认规定的,为什么还要这个命令用来检测和强制呢?

不强制经过我测试也可以运作的很好,到了失效日期自然失效.

请各位朋友予以解答.

--------------------------------------------------------------
酷!Unix学风.
到咱Q群论道先
33523191
嘎嘎来.
--------------------------------------------------------------
 楼主| 发表于 2007-6-17 09:22:27 | 显示全部楼层
靠,大家就这么对待我啊.
回复 支持 反对

使用道具 举报

发表于 2007-6-17 22:06:15 | 显示全部楼层
才不到一天么,就这么等不及?没人义务给你做免费咨询。
expiry没什么大用处:
expiry -c只是返回0/1表示密码是否过期:
# 先使用chage设置帐户密码过期
# 然后,expiry -c返回1,表示密码已过期:
bumpy:/data1/tmp/shadow-4.0.16$ expiry -c; echo $?
1
# 登录修改密码以后,expiry -c返回0
bumpy:/data1/tmp/shadow-4.0.16$ expiry -c; echo $?
0

expiry -f是在帐户过期时,直接在命令行修改密码。我这里会报错误,不知道是不是bug。不过这个东西也是鸡肋,可有可无。
bumpy:/data1/tmp/shadow-4.0.16$ expiry -f
Your password has expired.  Choose a new password.

initgroups: Operation not permitted
bumpy:/data1/tmp/shadow-4.0.16$
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-19 07:04:25 | 显示全部楼层
debian:~# useradd -m debian
debian:~# passwd debian
debian:~# chage -d 2007-6-5 debian
debian:~# chage -M 5 debian
debian:~# chage -l debian
Last password change                                    : Jun 05, 2007
Password expires                                        : Jun 10, 2007
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 5
Number of days of warning before password expires       : 7
debian:~# su - debia
Unknown id: debia
debian:~# su - debian
You are required to change your password immediately (password aged)
su: Authentication token is no longer valid; new one required.
(Ignored)
debian@debian:~$ expiry -c
debian@debian:~$ echo $?
1
debian@debian:~$ expiry -f
Your password has expired.  Choose a new password.

initgroups: Operation not permitted
debian@debian:~$ id debian
uid=1001(debian) gid=1001(debian) groups=1001(debian)

提示说组的初始化不允许,也确实是,因为以普通用户登录的.但是,如果在root下,这个命令又只能修改root.好像没有什么意义.但是,我总隐约觉得在shell编程中肯定有用.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表