Linux学习总结(十六)系统用户及用户组管理
/etc/passwd
/etc/shadow
我们打印出首尾三行,来了解下:
每行由:分割为7段,每段含义为:
第一段:用户名,比如root 用户,普通用户test,lv,test1
第二段:早期存放账户登录密码,由于安全因素,现在存放到/etc/shadow中了,现在用x代替
第三段:uid,用户表示号,系统通过该数字识别用户身份,0代表root,1-499系统保留,作为管理账号,普通用户从500开始
第四段:gid,用户组标识号
第五段:注释说明,该字段没有实际意义,通常记录该用户的一些属性,例如姓名、电话、地址等等
第六段:用户的家目录,可以定义
第七段:shell,用户登录后要启动一个进程,用来将用户下达的指令传给内核
再来看/etc/shadow
同样用:分割为9段,每段含义为:
1.用户名
2 用户密码
3上次更改密码的日期
4要过多少天才可以更改密码,默认是0,即不限制
5密码多少天后到期,默认值足够大,可以理解不会过期
6密码过期前的提示,默认为7,密码过期前一周提醒用户,密码将在一周后过期
7 账户锁定期限, 比如设置为3,意思为密码已过期,用户没有在密码过期前修改密码,还有三天账户就会锁定
8账户的生命周期,到期后账户作废
9保留字段,没有实际意义
useradd 增加账户
格式: useradd 参数 用户名
-u 定义uid
-g 指定gid 该用户组必须存在,可以为组名,也可以为gid号
-d 定义家目录
-s 定义shell
userdel 删除账户
格式:userdel 参数 用户名
-r 删除账户时同时删除家目录
groupadd 增加组
格式 groupadd 参数 组名
-g 指定gid
groupdel 删除组
格式: groupdel 组名
usermod 修改账户信息
格式 usermod 参数 新信息 用户名
例如:usermod -u 510 test 把test用户uid更改为510
-u 修改用户
-g 修改用户组
-d 修改家目录
-s 修改shell
passwd 修改账户密码
之前已经多次介绍过该命令,passwd 不带任何参数,意思是修改当前登陆用户的密码,对于普通用户,必须输入旧密码,才能更改。root用户可以用passwd后跟用户名,重置普通用户的密码
mkpasswd 生成随机密码
-l 指定密码长度
-s 指定特殊字符个数
-d 指定数字个数
系统没有该命令,可以用yum install -y expect 安装下