在linux系统中,用户管理是基于用户名和密码的方式进行资源的分配
用户类别: 用户标识:UserID,UID 16bits二进制数字:0-65535 管理员:ID号为0;------只要是为0的就是管理员用户 普通用户:1-65535 系统用户:1-499(CentOS 6),1-999(CentOS 7) 登录用户:500-60000(CentOS6),1000-60000(CentOS7) 名称解析:名称转换 Username <--> UID 根据名称解析库进行: /etc/passwd 计算机只会过识别ID号判断用户类型 组类别: 组标识:GroupID,GID 管理员组:0 普通用户组:1-65535 系统用户组:1-499(CentOS6),1-999(CentOS7) 登录用户组:500-60000(CentOS6),1000-60000(CentOS7) 名称解析: groupname <--> gid 解析库:/etc/group
Linux组的类别:
用户的主要组(主组): 用户必须属于一个且只有一个主组组名同用户名,且仅包含一个用户: 用户的附加组(辅助组): 一个用户可以属于零个或多个辅助组 私有组:组名同用户名,且只包含一个用户 公共组:组内包含了多个用户
Linux用户和组的主要配置文件: /etc/passwd:用户及其属性信息(名称、UID、主组ID等) /etc/group:组及其属性信息 /etc/shadow:用户密码及其相关属性 /etc/gshadow:组密码及其相关属性
/etc/passwd
[root@qzx ~]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash 1 2 3 4 5 6 7 1.用户名 2.用户密码,这里的x表示隐藏,具体密码在/etc/shadow 3.UID 4.GID 5.用户的详细说明信息 6.用户的家目录 7.用户的默认shell
/etc/group
[root@qzx ~]# cat /etc/group bin:x:1:bin,daemon 组名:组密码:组id:以当前组为附加组的用户列表(多个的话可以用,隔开)
/etc/shadow
qzx:$6$BhPk8ACU5lLXaACs$iB4zKp0r2B/zo5GkgXjzvSgTGfsyxtpd9sXL939Oxcg.oMR6k5G1Bnmaqp59ivH8rzFrgGslbLt4/4L0dk5.q.:17002:0:99999:7::: 1、用户名 2、加了密的密码,$6表示sha512加密 3、最近一次更改密码的日期(从1970年1月1日起到密码最近一次被更改的时间) 4、密码再过几天可以被变更(0表示随时可被变更) 5、密码的最大使用期限,密码再过几天必须被变更 6、密码的提前几天警告(默认为一周) 7、密码过期几天后帐号会被锁定 8、账户的过期日期,从1970年1月1日算起,多少天后帐号失效
pwunconv 密码不转换直接查看passwd中密码, 执行后cat /etc/passwd中显示密码 shadow中就没有了
[root@qzx ~]# pwunconv [root@qzx ~]# cat /etc/passwd root:$6$vnmALXUV5utyFkPS$Y0pkRMEzfAZYmhWmBhnD5.BKeTxvTYPotdzDaddP3AVwT2YU2tflNWbq/us.bij0RZe9qj4bLW5mDLkZ3706V1:0:0:root:/root:/bin/bash [root@qzx ~]# cat /etc/shadow cat: /etc/shadow: No such file or directory
pwconv 转换回去
/etc/gshadow
haldaemon:!::haldaemon 1 2 3 4 1、群组名称:就是群组名称 2、群组密码: 3、组管理员列表:组管理员的列表,更改组密码和成员 4、以当前组为附加组的用户列表:(分隔符为逗号)
指定查看某一个用户的passwd,shadow,group, gshadow方法
getent [passwd,shadow,group, gshadow] 用户名
例如
[root@qzx ~]# getent passwd qzx qzx:x:500:500:qzx:/home/qzx:/bin/bash [root@qzx ~]# getent group qzx qzx:x:500: [root@qzx ~]# getent gshadow root root:::
passwd和group的编写与检查
vipw和vigr
pwck和grpck
加密机制: 加密:明文--> 密文 解密:密文--> 明文
密码的几点特性
单向加密:哈希算法,原文不同,密文必不同
相同算法定长输出,获得密文不可逆推出原始数据
雪崩效应:初始条件的微小改变,引起结果的巨大改变
md5: message digest, 128bits sha1: secure hash algorithm, 160bits sha224: 224bits sha256: 256bits sha384: 384bits sha512: 512bits
更改加密算法 authconfig --passalgo=sha256 --update
12
密码的复杂性策略
使用数字、大写字母、小写字母及特殊字符中至少3种
足够长
使用随机密码
定期更换;不要使用最近曾经使用过的密码
原文地址:http://11741220.blog.51cto.com/11731220/1833208