1 | chage
|
2 | ===
|
3 |
|
4 | 修改帐号和密码的有效期限
|
5 |
|
6 | ## 补充说明
|
7 |
|
8 | **chage命令** 是用来修改帐号和密码的有效期限。
|
9 |
|
10 | ### 语法
|
11 |
|
12 | ```shell
|
13 | chage [选项] 用户名
|
14 | ```
|
15 |
|
16 | ### 选项
|
17 |
|
18 | ```shell
|
19 | -m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
|
20 | -M:密码保持有效的最大天数。
|
21 | -w:用户密码到期前,提前收到警告信息的天数。
|
22 | -E:帐号到期的日期。过了这天,此帐号将不可用。
|
23 | -d:上一次更改的日期。
|
24 | -I:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
|
25 | -l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
|
26 | ```
|
27 |
|
28 | ### 实例
|
29 |
|
30 | 可以编辑`/etc/login.defs`来设定几个参数,以后设置口令默认就按照参数设定为准:
|
31 |
|
32 | ```shell
|
33 | PASS_MAX_DAYS 99999
|
34 | PASS_MIN_DAYS 0
|
35 | PASS_MIN_LEN 5
|
36 | PASS_WARN_AGE 7
|
37 | ```
|
38 |
|
39 | 当然在`/etc/default/useradd`可以找到如下2个参数进行设置:
|
40 |
|
41 | ```shell
|
42 | # useradd defaults file
|
43 | GROUP=100
|
44 | HOME=/home
|
45 | INACTIVE=-1
|
46 | EXPIRE=
|
47 | SHELL=/bin/bash
|
48 | SKEL=/etc/skel
|
49 | CREATE_MAIL_SPOOL=yes
|
50 | ```
|
51 |
|
52 | 通过修改配置文件,能对之后新建用户起作用,而目前系统已经存在的用户,则直接用chage来配置。
|
53 |
|
54 | 我的服务器root帐户密码策略信息如下:
|
55 |
|
56 | ```shell
|
57 | chage -l root
|
58 |
|
59 | 最近一次密码修改时间 : 3月 12, 2013
|
60 | 密码过期时间 :从不
|
61 | 密码失效时间 :从不
|
62 | 帐户过期时间 :从不
|
63 | 两次改变密码之间相距的最小天数 :0
|
64 | 两次改变密码之间相距的最大天数 :99999
|
65 | 在密码过期之前警告的天数 :7
|
66 | ```
|
67 |
|
68 | 我可以通过如下命令修改我的密码过期时间:
|
69 |
|
70 | ```shell
|
71 | chage -M 60 root
|
72 | chage -l root
|
73 |
|
74 | 最近一次密码修改时间 : 3月 12, 2013
|
75 | 密码过期时间 : 5月 11, 2013
|
76 | 密码失效时间 :从不
|
77 | 帐户过期时间 :从不
|
78 | 两次改变密码之间相距的最小天数 :0
|
79 | 两次改变密码之间相距的最大天数 :60
|
80 | 在密码过期之前警告的天数 :9
|
81 | ```
|
82 |
|
83 | 然后通过如下命令设置密码失效时间:
|
84 |
|
85 | ```shell
|
86 | chage -I 5 root
|
87 | chage -l root
|
88 |
|
89 | 最近一次密码修改时间 : 3月 12, 2013
|
90 | 密码过期时间 : 5月 11, 2013
|
91 | 密码失效时间 : 5月 16, 2013
|
92 | 帐户过期时间 :从不
|
93 | 两次改变密码之间相距的最小天数 :0
|
94 | 两次改变密码之间相距的最大天数 :60
|
95 | 在密码过期之前警告的天数 :9
|
96 | ```
|
97 |
|
98 | 从上述命令可以看到,在密码过期后5天,密码自动失效,这个用户将无法登陆系统了。
|
99 |
|
100 |
|