linux用户管理详细【转】

chage命令管理用户口令时效  

2011-09-24 22:28:27|  分类: rhel5_033|字号 订阅

 
 

-m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。

-M 密码保持有效的最大天数。

-W 用户密码到期前,提前收到警告信息的天数。

-E 帐号到期的日期。过了这天,此帐号将不可用。

-d 上一次更改的日期

-i 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。

-l 例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。

 

用户和组群账户管理

 

Linux用户账户配置文件

用户管理主要通过修改用户配置文件完成,用户管理控制工具最终目的也是为了修改用户配置文件,那就让我们一起来认识一下Linux用户账户的配置文件. 
1.用户信息文件/etc/passwd 
/etc /passwd是系统识别用户的一个文件,系统所有的用户在这里都有记载。假设当以medesky这个账户登录时,系统会检查/etc/passwd文件,查看是否有medesky这个账户,然后确定medesky的UID,通过UID来确认用户和身份,如果存在则读取/etc/shadow影子文件中的密码。如果密码核实无误则登录系统,读取用户的配置文件。 
任何用户都可以读取该文件内容,在/etc/passwd中,每一行表示的是一个用户账户的信息,一行有7个断位,每个段位用“:”分隔,文件的内容如下所示: 
[root@localhost medesky]# wc -l /etc/passwd 
36 /etc/passwd 
[root@localhost medesky]# cat /etc/passwd 
root:x:0:0:root:/root:/bin/bash 
bin:x:1:1:bin:/bin:/sbin/nologin 
daemon:x:2:2:daemon:/sbin:/sbin/nologin 
adm:x:3:4:adm:/var/adm:/sbin/nologin 
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 
sync:x:5:0:sync:/sbin:/bin/sync 
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown 
halt:x:7:0:halt:/sbin:/sbin/halt 
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin 
news:x:9:13:news:/etc/news: 
medesky:x:500:500:medesky:/home/medesky:/bin/bash 
… 
下表为/etc/passwd文件中各个字段的含义

字段

含义

用户名 用户登录系统时使用的用户名
密码 密码位,存放加密的密码,实际看到的是X,密码已被映射到/etc/shadow文件中了
UID 用户标识号
GID 缺省组标识号
用户名全称 用户名描述,可以不设置
用户宿主目录 用户登录系统后首先进入的目录
用户使用shell 用户使用的shell类型

简单来解释用户UID这个概念: 
UID使用户的ID值,在系统中每个用户的UID值是惟一的,更确切地说每个用户都要对应一个惟一的UID。系统的UID的值从0开始,是一个整数,最大值可以在/etc/login.defs文件中查到,在Red Hat系列的Linux系统中最大值默认是60000.使用如下的命令可以查到最大UID的值。 
[root@localhost me]# cat /etc/login.defs | grep UID_MAX 
UID_MAX                 60000 
Linux系统中用户分为三种,它们对应的UID如下: 
超级用户(root,UID=0) 
普通用户(UID 500-60000) 
伪用户(UID 1-499)

密码位为什么要保留呢?其实我们在创建用户密码的时候先将密码保存到passwd文件中,然后执行pwconv命令将密码写到shadow文件中,我们也可以执行pwunconv命令将密码从shadow文件中写到passwd文件中。为了安全,创建密码的同时系统会自动执行pwconv命令。

2.密码文件/etc/shadow 
/etc/shadow文件是/etc/passwd的影子文件,这个文件并不由/etc/passwd产生,这两个文件应该是对应互补的。shadow内容包括用户及被加密的密码以及其他/etc/passwd不能包括的信息,比如用户的有效期限等。 
这个文件只有用户root可以读取操作,/etc/shadow文件的权限不能随便更改为其他用户可读。如果发现这个文件的权限变成了其他用户组群或用户可读了,要进行检查,以防系统安全问题的发生。 
/etc/shadow文件的内容包括9个断位,每个段位之间用“:”分割,文件的内容如下所示。  
[root@localhost me]# cat /etc/shadow 
root::14997:0:99999:7::: 
bin:*:14985:0:99999:7::: 
daemon:*:14985:0:99999:7::: 
adm:*:14985:0:99999:7::: 
me::14985:0:99999:7::: 
zlz::14985:0:99999:7::: 
bb::14985:0:99999:7::: 
trc::14985:0:99999:7::: 
medesky::14985:0:99999:7::: 
……

下表为/etc/shadow文件中各个字段的含义

字段

含义

用户名 这里的用户名和/etc/passwd中的用户名是相同的
密码 密码已经加密,密码已经加密,如果有些用户显示的是“!!”,则表示这个用户不能登录到系统。
最后一次修改时间 从1970年1月1日算起到最近一次修改密码的时间间隔(天数)
两次修改密码间隔最少的天数 如果设置为0,则禁用该功能。该字段是指用户可以更改密码的天数
两次修改密码间隔的最大天数 如果设置为0,则禁用该功能。该字段是指用户必须更改密码的天数
提前多少天警告用户密码过期 用户登录系统后,系统登录程序提醒用户密码将要过期
账号闲置时间 账号闲置时间
用户过期日期 指定用户账户过期的天数,如果这个字段的值为空,账户永久可用
保留字段 目前为空,以备将来Linux发展之用

Linux组群账户配置文件

具有某种共同特征的集合就是用户组群。 
1./etc/group文件 
[root@localhost ~]# cat /etc/group 
root:x:0:root 
bin:x:1:root,bin,daemon 
daemon:x:2:root,bin,daemon 
sys:x:3:root,bin,adm 
adm:x:4:root,adm,daemon 
medesky:x:500:medesky,zlz,bb,hh,wl 
/etc/group文件中各字段的含义见下表:

字段

含义

组群名 用户组群名称
组群密码 密码位,存放加密的密码,实际看到的是X,密码已被映射到/etc/gshadow文件中了
组群标识号 组群标识号
组群成员 属于这个组群的成员在这里都会列出来

2./etc/gshadow文件 
[root@localhost ~]# cat /etc/gshadow 
root:::root,medesky 
bin:::root,bin,daemon 
medesky:!!:: 
zlz:!:: 
bb:!:: 
…… 
/etc/group文件中各字段的含义见下表:

字段 含义
组群名 组群的名称
组群密码 密码已加密,如果有些组群在这里显示的是“!”,表示这个组群没有密码。
组管理员 组群的管理者,有权对该组添加、删除用户
组成员 属于改组的用户成员列表

 

账户相关文件或目录

1.存放用户启动文件的目录/etc/skel 
/etc/skel这个目录有root用户管理,当管理员创建新用户时,这个目录下的文件会自动复制到新创建的用户的宿主目录下。/etc/skel目录下的所有文件都是隐藏的。

2.规定创建新用户时的一些默认设置的配置文件/etc/login.defs 
/etc/login.defs文件规定了创建新用户是的一些默认设置,比如创建用户是否需要宿主目录、UID和GID的范围、用户的期限等,这个文件可以通过root用户来修改 
下面简单介绍CentOS5.5系统中/etc/login.defs文件的内容。 
[lgly@localhost ~]$ cat /etc/login.defs 
# *REQUIRED* 
#   Directory where mailboxes reside, _or_ name of file, relative to the 
#   home directory.  If you _do_ define both, MAIL_DIR takes precedence. 
#   QMAIL_DIR is for Qmail 

#QMAIL_DIR      Maildir 
MAIL_DIR        /var/spool/mail 
#MAIL_FILE      .mail

# Password aging controls: 

#       PASS_MAX_DAYS   Maximum number of days a password may be used. 
#       PASS_MIN_DAYS   Minimum number of days allowed between password
changes. 
#       PASS_MIN_LEN    Minimum acceptable password length. 
#       PASS_WARN_AGE   Number of days warning given before a password
xpires. 

//用户必须更改密码的天数 
PASS_MAX_DAYS   99999        
//用户可以更改密码的天数 
PASS_MIN_DAYS   0            
//密码最小长度 
PASS_MIN_LEN    5            
//在用户密码过期前的警告时间 
PASS_WARN_AGE   7            

# Min/max values for automatic uid selection in useradd 
//创建新用户时用户的UID从500开始 
UID_MIN                   500 
//用户的最大UID值为60000 
UID_MAX                 60000 

# Min/max values for automatic gid selection in groupadd 

GID_MIN                   500 
GID_MAX                 60000

# If defined, this command is run when removing a user. 
# It should remove any at/cron/print jobs etc. owned by 
# the user to be removed (passed as the first argument). 

#USERDEL_CMD    /usr/sbin/userdel_local

# If useradd should create home directories for users by default 
# On RH systems, we do. This option is overridden with the -m flag on 
# useradd command line. 
//是否要求创建用户宿主目录,yes表示要求创建 
CREATE_HOME     yes

# The permission mask is initialized to this value. If not specified, 
# the permission mask will be initialized to 022. 
//缺省创建文件和目录的权限 
UMASK           077

# This enables userdel to remove user groups if no members exist. 

USERGROUPS_ENAB yes

# Use MD5 or DES to encrypt password? Red Hat use MD5 by default. 
MD5_CRYPT_ENAB yes

3.useradd命令添加用户时的规则文件/etc/default/useradd 
# useradd defaults file 
GROUP=100 
//用户的宿主目录创建在/home中 
HOME=/home 
//是否禁用账户,-1表示不禁用 
INACTIVE=-1 
//账户终止日期,不设置表示不启用 
EXPIRE= 
//所有shell类型 
SHELL=/bin/bash 
//创建新用户时从何处复制文件到宿主目录 
SKEL=/etc/skel 
CREATE_MAIL_SPOOL=yes

4.登录信息文件/etc/issue、/etc/motd 
/etc/issue:用户在没有登录到系统就可以看到的信息 
/etc/motd:只有在用户成功登录到系统之后才可以看到的信息

为什么普通用户可以更改密码?

[root@localhost ~]# ll /usr/bin/passwd 
-rwsr-xr-x 1 root root 22984 2007-01-07 /usr/bin/passwd 
原因在于passwd这条命令的权限 
SetUID的定义:当一个可执行程序具有SetUID权限,用户执行这个程序时,将以这个程序所有者的身份执行 
SetUID=4 
给touch命令授予SetUID权限 
[root@localhost ~]# ll /bin/touch 
-rwxr-xr-x 1 root root 42284 2010-03-01 /bin/touch 
//[root@localhost ~]# chmod u+s /bin/touch 
[root@localhost ~]# chmod 4755 /bin/touch 
[root@localhost ~]# ll /bin/touch 
-rwsr-xr-x 1 root root 42284 2010-03-01 /bin/touch 
SetGID的定义:当一个可执行程序具有SetGID权限,用户执行这个程序时,将以这个程序所属组的身份执行 
SetUID=2 
查找SetUID程序 
[root@localhost ~]# find / -perm -4000 -o -perm –2000

粘着位(t)=1[临时文件存放的目录tmp] 
t,如果一个权限为777目录具有粘着位,每个用户都可以在这个目录下创建文件,但是只能删除所有者为自己的文件

 

用户或用户组管理命令

1.用户管理命令

添加用户 
useradd 设置选项 用户名 
-D:查看缺省参数,相当于查看/etc/default/useradd文件 
-u:UID 
-g:缺省所属组GID 
-G:指定用户所属多个组 
-d:宿主目录 
-s:命令解释器shell 
-c:描述信息,如果描述信息中包含空格,就要用双引号引起来 
-e:指定用户失效时间 
passwd 用户名

修改用户信息 
usermod 跟添加用户一样 
将用户me的登录名改为medesky 
# usermod -l medesky me 
将用户medesky添加到root组中 
# usermod -G root medesky

 2.用户组管理命令 
添加用户组:group -g GID 组名 
删除用户组:groupdel 组名 
修改用户组名称:groupmod -n medesky me(修改me组名为medesky) 
gpasswd 组 //给组设置密码 
gpasswd [-r] 组 //删除用户组密码 
gpasswd [-R] 组 //禁止用户切换为该组 
gpasswd [-a 用户] 组 //添加用户到用户组 
gpasswd [-d 用户] 组 //从用户组删除用户 
gpasswd [-A 用户,...] 组 //设置用户组管理员

授权用户me和lgly对目录/test/soft有写权限 
[root@localhost test]# groupadd medesky 
[root@localhost test]# usermod -G medesky lgly 
[root@localhost test]# gpasswd -a me medesky 
正在将用户“me”加入到“medesky”组中 
[root@localhost test]# grep medesky /etc/group 
medesky:x:503:lgly,me 
[root@localhost test]# ll -d soft/ 
drwxr-xr-x 2 root root 4096 01-25 10:27 soft/ 
[root@localhost test]# chmod g+w soft/ 
[root@localhost test]# ll -d soft/ 
drwxrwxr-x 2 root root 4096 01-25 10:27 soft/ 
[root@localhost test]# chgrp medesky soft 
[root@localhost test]# ll -d soft/ 
drwxrwxr-x 2 root medesky 4096 01-25 10:27 soft/

3.用户和组群维护命令

pwck:检测/etc/passwd文件 
vipw:编辑/etc/passwd会自动锁定文件 
su [用户名]:切换用户(su – 用户名:环境变量切换) 
passwd -S [用户名]:查看指定用户密码状态

newgrp [用户组]:切换用户组 
grpck:检测用户组配置文件 
chgrp:修改文件所属组 
vigr:编辑/etc/group文件的同时锁定文件

删除用户 
userdel [-r] 用户名 //加上“-r”选项之后会同时删除用户目录 
手工删除: 
使用find命令查找俗语某个用户或用户组的文件 
find选项-user、-uid、 -group、-gid 
1、对对需要保留的文件进行移动和备份 
2、对不需要的文件进行删除 
3、清楚用户文件中的相关表项 
4、清楚用户宿主目录

禁用和恢复用户 
禁用 
usermod -L username 
passwd -l username 
恢复 
usermod -U username 
passwd -u username 
禁用原理,看下面的代码就会明白滴 
[root@localhost ~]# grep "^me" /etc/shadow 
me:$hh123456:14985:0:99999:7::: 
[root@localhost ~]# passwd -l me 
Locking password for user me. 
passwd: Success 
[root@localhost ~]# grep "^me" /etc/shadow 
me:!!hh123456:14985:0:99999:7:::

如果我们想停止shadow功能,这个时候我们应该怎么去做呢? 
pwconv /pwunconv 
grpconv/grpunconv 
authconfig命令临时有效 
如果想永久生效修改/etc/sysconfig/authconfig文件 
system-config-users 启用图形界面的用户管理程序

账户信息显示 
finger [用户名]:查看用户详细信息 
groups [用户名]: 查看该用户隶属那些组 
id:查询uid信息、gid信息以及组的信息…… 
who、w:查看当前登录用户信息,w查看的用户信息更全点

账户安全 
Linux系统上账户安全可以使用chage命令管理用户口令时效,防止用户口令由于长时间使用导致泄漏,或是被黑客破解口令而受到攻击。

  
语法 
chage [选项] [用户名] 

-d, –lastday 最近日期        密码最后修改的日期 
-E, –expiredate 过期日期     设置密码的过期日期,如果为0,代表密码立即过期;如果为-1,代表密码用不过期 
-h, –help                    显示此帮助信息并退出 
-I, –inactive 失效密码       密码过期后,锁定账户的天数 
-l, –list                    查看密码设置情况 
-m, –mindays 最小天数        密码修改最小天数 
-M, –maxdays 最大天数        密码修改最大天数 
-W, –warndays 警告天数       设置密码过期前,开始警告的天数

例如:

[root@m1-150.db.album.mdc.139.com ~]#  chage --list zengxi
Last password change                                    : Apr 27, 2011
Password expires                                        : never
Password inactive                                       : never
Account expires                                         : Oct 28, 2011  账号过期时间
Minimum number of days between password change          : 0
Maximum number of days between password change          : 99999
Number of days of warning before password expires       : 7

sudo 
执行sudo命令时,临时成为root,命令可以尽可能的细 
配置文件:/etc/sudoers,编辑配置文件命令visudo。 
格式如下: 
medesky 192.168.61.155=/bin/touch,/usr/sbin/useradd

John 
破解medesky密码 
# grep medesky /etc/passwd > /test/medesky.pw 
# grep medesky /etc/shadow > /test/medesky.sd 
# /test/john-1.6.6/run/unshadow /test/medesky.pw /test/medesky.sd > /test/medesky.john 
# /test/john-1.6.6/run/john /test/medesky.john

创建用户和组群的特殊方法

 

1.修改用户和用户组群的配置文件来添加用。                         1.修改/etc/passwd文件 
添加如下一条用户记录 
php:x:505:500:php:/home/php:/bin/bash 
2.修改/etc/shadow文件 
添加如下一条记录 
php:x:14999:0:99999:7::: 
(注:如果你和我一样比较懒的话,也可以执行pwconv命令,让/etc/passwd和/etc/shadow同步,注意查看/etc/shadow的内容是否同步,具体步骤如下: 
[root@localhost ~]# pwconv 
[root@localhost ~]# grep php /etc/shadow 
) 
3.创建用户的主目录并把/etc/skel目录下的隐藏文件复制过去,具体命令如下: 
[root@localhost ~]# cp -rf /etc/skel/ /home/php 
[root@localhost ~]# ls /home 
bb    lost+found  medesky01  medesky03  medesky05  php  zlz 
lgly  me          medesky02  medesky04  medesky06  trc 
(当然你也可以先创建目录然后将skel中的文件复制到php中,具体步骤如下: 
[root@localhost ~]# mkdir /home/php 
[root@localhost ~]# ls /home 
bb    lost+found  medesky01  medesky03  medesky05  php  zlz 
lgly  me          medesky02  medesky04  medesky06  trc 
[root@localhost ~]# ls -a /home/php 
[root@localhost ~]# cp -rf /etc/skel/. /home/php 
[root@localhost ~]# ls -a /home/php 
.  ..  .bash_logout  .bash_profile  .bashrc  .kde  .mozilla 
) 
4.改变新增用户宿主目录的属组合权限,具体如下: 
[root@localhost ~]# chown -R php /home/php 
[root@localhost ~]# chmod 700 /home/php 
[root@localhost ~]# ll -a /home/php 
总计 56 
drwx——  4 php  root 4096 01-25 22:28 . 
drwxr-xr-x 16 root root 4096 01-25 22:26 .. 
-rw-r–r–  1 php  root   33 01-25 22:28 .bash_logout 
-rw-r–r–  1 php  root  176 01-25 22:28 .bash_profile 
-rw-r–r–  1 php  root  124 01-25 22:28 .bashrc 
drwxr-xr-x  3 php  root 4096 01-25 22:28 .kde 
drwxr-xr-x  4 php  root 4096 01-25 22:28 .mozilla 
5.设置新增用户的密码 
passwd [用户名] 
(当然你也可以手动在shadow文件中添加,我们首先要获得一个用MD5加过密的密码,然后将获得的加密密码粘贴到shadow对应的用户处,具体步骤如下: 
[root@localhost ~]# grub-md5-crypt 
Password: 
Retype password: 
$1$yYlrx/$oHMFJPZ18bSB3..lcLJxA0 
[root@localhost ~]# vi /etc/shadow 
//在shadow文件中增加如下这条记录 
php:$1$yYlrx/$oHMFJPZ18bSB3..lcLJxA0:14999:0:99999:7::: 
) 
6.测试添加用户是否成功 
[root@localhost ~]# su – php 
[php@localhost ~]$ pwd 
/home/php

2.大批量添加用户 
1.创建用户文件和密码文件,具体内容如下: 
[root@localhost ~]# cat /test/passwd.info 
medesky01::1001:500:medesky01:/home/medesky01:/bin/bash 
medesky02::1002:500:medesky02:/home/medesky02:/bin/bash 
medesky03::1003:500:medesky03:/home/medesky03:/bin/bash 
medesky04::1004:500:medesky04:/home/medesky04:/bin/bash 
medesky05::1005:500:medesky05:/home/medesky05:/bin/bash 
medesky06::1006:500:medesky06:/home/medesky06:/bin/bash 
[root@localhost ~]# cat /test/shadow.info 
medesky01:123456 
medesky02:123456 
medesky03:123456 
medesky04:123456 
medesky05:123456 
medesky06:123456 
2.执行newusers命令导入用户信息文件,如下: 
[root@localhost ~]# newusers < passwd.info 
3.执行pwunconv命令取消shadow功能 
4.执行chpasswd命令导入密码文件,如下: 
[root@localhost ~]# chpasswd < shadow.info 
5.执行pwconv命令将密码写入到shadow文件中

 

=============

ubuntu 建立用户 无家目录,必须手动建立家目录和SHELL环境。

root@yyt02:~# useradd terry
root@yyt02:~# passwd terry

root@yyt02:~# mkdir /home/terry                                    
root@yyt02:~# chown terry:terry /home/terry

root@yyt02:~# usermod -d /home/terry -s /bin/bash terry

 

对于新添加的用户,用户密码过期时间是从/etc/login.defs中PASS_MAX_DAYS提取的,普通系统默认就是99999,而有些安全操作系统是90。更改此处,只是让新建的用户默认密码过期时间变化,已有用户密码过期时间仍然不变。

[sysman@SHWeb3 ~] sudo chage --help
chage: invalid option -- -
Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]
        [-I inactive] [-E expire] [-d last_day] user

[sysman@SHWeb3 ~] sudo man chage
CHAGE(1)                                                                                                      CHAGE(1)

NAME
       chage - change user password expiry information

SYNOPSIS
       chage [-m mindays] [-M maxdays] [-d lastday] [-I inactive]
             [-E expiredate] [-W warndays] user

 

chage:密码失效是通过此命令来管理的。

  参数意思:
  -m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。
  -M 密码保持有效的最大天数。
  -W 用户密码到期前,提前收到警告信息的天数。
  -E 帐号到期的日期。过了这天,此帐号将不可用。
  -d 上一次更改的日期
  -i 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
  -l 例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。

[sysman@SHWeb3 ~]$ sudo chage -l root
Minimum:        0
Maximum:        99999
Warning:        7
Inactive:       -1
Last Change:            Mar 15, 2010
Password Expires:       Never
Password Inactive:      Never
Account Expires:        Never

更改用: sudo chage -M 90 root

[sysman@SHWeb3 ~]$ sudo chage -M 90 root

[sysman@SHWeb3 ~]$ sudo chage -l root
Minimum:        0
Maximum:        90
Warning:        7
Inactive:       -1
Last Change:            Jun 08, 2010
Password Expires:       Sep 06, 2010
Password Inactive:      Never
Account Expires:        Never

如果以后添加一个用户,那么默认的时间还是没改的,还必须得去/etc/login.defs修改PASS_MAX_DAYS 的默认值.那么如果我直接修改全局/etc/login.defs所在的用户会跟着改变吗? 据我的测试是不会改变的,除非重启后,但我们的服务器不是你想重启的就可以重启的!如果管理严格的地方,重启还得经过很多程序步骤.改完全局时,没有更改 的用户,想要让他也同样具备此功能.就得一个个的执行!

你也可以直接用vim 编辑器去编辑PASS_MAX_DAYS 99999

也可以用其它的工具

sudo sed -i.bak -e 's/^\(PASS_MAX_DAYS\).*/\1   90/' /etc/login.defs

查看一下是否

sudo cat /etc/login.defs |grep "PASS_M";

强制用户登陆时修改口令
chage -d 0 username(linux)
passwd -f username(solaris)

强制用户下次登陆时修改密码,并且设置密码最低有效期0和最高有限期90,提前15天发警报提示
chage -d 0 -m 0 -M 90 -W 15 root(linux)
passwd -f -n 0 -x 90 -w 15 root(solaris)
查看某个用户的密码设置情况
chage -l username
修改密码配置文件
/etc/login.defs

chage命令管理用户口令时效 - zhuzhu - 五事九思  (大连Linux主机维护)
 

Windows 主机中,不管是服务器,还是客户机,都有自己可以设置的相关的用户帐号与密码信息,。多久过期,多久进行提示一下更换密码。那么在伟大的Centos Linux 6.0系统也有这样的操作方式。那么下面我们就来看一下这样的操作方式与例子。当然本文中,青年怪客,只提到一种操作方式,那就是使用chage的方式进行操作,其实方式还是还是有很多的,如以后我将为大家提到的使用修改配置文件来达到其中应有的效果。            /etc/login.defs 以及/etc/default/useradd 来提高Centos 系统中的安全级别。

请看例子。下面使用root来进行相关的测试,并查看应有的效果。

[root@localhost ~]# chage

Usage: chage [options] [LOGIN]

Options:

  -d, –lastday LAST_DAY        set date of 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

查看当前的没有进行更改过root帐号信息。

[root@localhost ~]# chage -l root

Last password change                                    : Jul 30, 2011

Password expires                                        : never

Password inactive                                       : never

Account expires                                         : never

Minimum number of days between password change           : 0

Maximum number of days between password change           : 99999

Number of days of warning before password expires           : 7

[root@localhost ~]# chage -m 1 -M 60 -W 5 root

设置相应的root信息 

[root@localhost ~]#chage -m 1 -M 60 -W 5 root
查看生效后的root信息,与之原有信息进行相应的对比。有明显的变化

 [root@localhost ~]# chage -l  root

Last password change                                    : Jul 30, 2011

Password expires                                        : Sep 28, 2011   密码过期

Password inactive                                       : never     密码不活跃

Account expires                                         : never     帐户过期

Minimum number of days between password change          : 1

Maximum number of days between password change          : 60

Number of days of warning before password expires          : 5

查看是否生效,以及相关的帐号信息

[root@localhost home]# passwd -S root

root PS 2011-07-29 1 60 5 -1 (Password set, SHA512 crypt.)

cnetos 6.0下Chage的使用方法来提升系统安全级别
/etc/shadow文件的格式如下:
username:password:last_change:min_change:max_change:warm:failed_expire:expiration:reserved
一共 8 个冒号,各字段说明:
last_change:表示自从Linux使用以来,口令被修改的天数。可用chage -d命令修改。
min_change:表示口令的最小修改间隔。可用chage -m命令修改。
max_change:表示口令更改周期。可用chage -M命令修改。
warm:表示口令失效的天数。可用chage -W命令修改。
failed_expire:表示口令失效后帐号的锁定天数。可用chage -I命令修改。
expiration:表示帐号到期日时间。可用chage -E命令修改。
reserved:没有使用,留待以后使用。

posted on 2013-12-30 10:45  ByFenny  阅读(290)  评论(0)    收藏  举报

导航