一、Linux用户账号管理基本操作命令
1、useradd
作用:在linux系统中添加一个用户账号
示例:[root@rhel4 root]# useradd shangwen
2、passwd
作用:给用户账号设置口令
示例:[root@rhel4 root]# passwd shangwen
3、usermod
作用:修改用户相关属性
示例:
[root@rhel4 root]# usermod –L shangwen //锁定账号
[root@rhel4 root]# usermod –U shangwen //解锁账号
[root@rhel4 root]# usermod –e 2007-10-10 shangwen //设置账号的过期时间
4、whoami
作用:查询当前登录账号是谁
示例:[root@rhel4 root]# whoami
5、su
作用:在普通用户和root 账号之间切换
示例:
[root@rhel4 root]# su shangwen //切换到普通账号
[shangwen@rhel4 shangwen]$ su - //返回到root账号
6、groupadd
作用:添加组账号
示例:[root@rhel4 root]# groupadd students
7、指定或修改用户的所属组
[root@rhel4 root]# useradd –g students shangwen
//新建一个用户shangwen并且指定用户所属组为students
[root@rhel4 root]# usermod –g teachers shangwen
//修改shangwen用户的所属组为teachers
8、groupdel
作用:删除组账号
示例:[root@rhel4 root]# groupdel students
二、解析存放linux用户账号文件
1、/etc/passwd文件格式如下:
LoginName:Password:UID:GID:UserInfo:Home:Shell
Login Name 用户登录名
Password 这里都是X, 加密的密码存储在/etc/shadow中.
UID 用户ID,任何拥有0值UID的用户都具有根用户(系统管理员)访问权限,通常500是默认的第一个新建用户的ID
GID 用户组ID,同上
User Info 备注信息
Home 用户home目录路径,即用户的工作目录
Shell 给用户指定的shell程序
[root@rhle4 ~]# tail -1 /etc/passwd
shangwen:x:500:500::/home/shangwen:/bin/bash
2、/etc/shadow文件格式如下:
Username:passwd:lastchg:min:max:warn:inactive:expire:flag
Username: 用户登录名、
Passwd: 加密的用户口令、、
Lastchg: 两次修改口令之间至少经过的天数、从1970年1月1日起到上次修改口令所经过的天数
Min: 口令还会有效的最大天数(如果是 99999则表示永不过期)、
Warn: 口令失效前多少天内系统向用户发出警告、
Inactive: 禁止登陆前用户名还有效的天数、
Expire: 用户被禁止登陆的时间、
flag: 保留字段(暂未使用)。
[root@rhle4 ~]# tail -1 /etc/shadow
shangwen:$1$m7rRqc8T$KQsbjQw84oos5Q2yJmTYw.:14060:0:99999:7:::
三、设置用户口令使用期限
口令老化(Password aging)是一种增强的系统口令生命期认证机制,虽然它会一定程序的削弱用户使用的便利性,但是它能够确保用户的口令定期更换,这是一种非常好的安全措施。大部分的Linux发行版默认都不会打开口令老化功能,但是我们可以很容易地启用它。
1、 编辑/etc/login.defs文件,我们可以通过以下参数来修改口令老化的默认配置:
[root@rhel4 ~]# vi /etc/login.defs
# Password aging controls:
# PASS_MAX_DAYS 密码有效期天数设置为9999,实际上就是关闭了口令老化功能
# PASS_MIN_DAYS 表示自从上次密码修改以来多少天后用户才被允许修改口令
# PASS_MIN_LEN
# PASS_WARN_AGE 表示在口令到期前多少天开始通知用户口令即将到期.
PASS_MAX_DAYS 9999
PASS_MIN_DAYS 0
PASS_WARN_AGE 7
2、另外我们也可以编辑/etc/default/useradd文件,在其中查找INACTIVE和EXPIRE关键字:
[root@rhle4 ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=14
//设置在口令已过期而用户一直没有修改口令多少天后用户帐户将置为不可用而锁定,以上设置是14天
EXPIRE=
//直接指明新用户的口令的失效日期,格式为YYYY-MM-DD。
SHELL=/bin/bash
SKEL=/etc/skel
以上的设置都只对配置修改后创建的新用户有效,如果要更改已经创建的用户配置,可以使用chage工具, 以下将设置用户shangwen的PASS_MAX_DAYS为60天,并且相应的更新shadow文件。
[root@rhel4 ~]# chage -M 60 shangwen
我们可以使用-l选项查看用户密码老化相关信息,-m设置PASS_MIN_DAYS,-W设置PASS_WARN_AGE等等。chage工具可以让我们设置口令老化的方方面面参数。以下是chage的详细参数信息:
用法:chage [选项] 用户名 选项: -d, --lastday 最近日期 将最近一次密码设置时间设为“最近日期” -E, --expiredate 过期日期 将帐户过期时间设为“过期日期” -h, --help 显示此帮助信息并退出 -I, --inactive 失效密码 将因过期而失效的密码设为“失效密码” -l, --list 显示帐户年龄信息 -m, --mindays 最小天数 将两次改变密码之间相距的最小天数设为“最小天数” -M, --maxdays 最大天数 将两次改变密码之间相距的最大天数设为“最大天数” -W, --warndays 警告天数 将过期警告天数设为“警告天数” |