用户、组和权限管理
用户:用户标识(ID)、密码;
认证(Authentication):对于用户的标识识别过程;
授权(Authorization):身份识别通过后根据用户名授权管理;
审计(Audition):对用户操作的审计;
组:用户组,用户容器;
用户类别:管理用户、普通用户(系统用户、登录用户)
用户标识:UserID、UID;
一般为16位二进制数字:0-65535;
管理员标识:0;
普通用户标识:1-65535;
系统用户:1-499(CentOS6),1-999(CentOS7);
登录用户:500-60000(CentOS6),1000-60000(CentOS7);
名称解析:名称转换(根据名称解析库进行转换)用户文件:/etc/passwd;
组类别1:管理员组、普通用户组(系统用户组、登录用户组)
组标识:GroupID,GID;
管理员组标识:0;
普通用户组标识:1-65535;
系统用户组:1-499(CentOS6),1-999(CentOS7);
登录用户组:500-60000(CentOS6),1000-60000(CentOS7);
组名解析:组名转换(根据名称解析库进行转换)组文件:/etc/group;
组类别2:
用户的基本组:
用户的附加组:
组类别3:
私有组:组名同用户名,且只包含一个用户;
公共组:组内可以包含多个用户;
认证信息:
通过比对事先存储的,与登录时提供的信息是否一致;
密码(password):用户密码文件:/etc/shadow;组密码文件:/etc/gshadow;
密码使用策略:
1、使用随机密码;
2、使用长度不少于8位;
3、应该使用大写字母、小写字母、数字、标点符号中至少3中;
4、定时变更密码;
加密算法:
对称加密:加密和解密使用同一个密钥;
非对称加密:加密和解密使用一对密钥(一对密钥分为:公钥(public key)、私钥(private key));
单向加密:只能加密、不能解密;提取数据特征码;
特性:定长输出;雪崩效应;
常见算法:md5(128位);sha(标准hash算法,定长160位);另外还有sha224sum、 sha256sum 、sha384sum 、sha512sum、sharesec;
相同的密码在计算之时加入salt(随机数),添加的随机数使加密后的密文不一致;
/etc/passwd:用户的信息库;
字段:account:账号;password:可以是加密的密码,也可以是占位符;UID:用户ID;GID:用户所属主组ID;
GECOS:一般的信息、注释信息;directory:家目录;shell:用户默认shell,登录时默认shell;
/etc/shadow:用户的密码库;
字段:登录名;
加密了的密码(用$作为分隔,第一个$与第二个$之间的字符表示加密算法,1为MD5,2为sha1sum依次类推,6为sha512sum,第二个$与第三个$之间字符为随机数,第三个之后字符为密码串);
最后一次更改密码的日期;
密码最小年龄:最小密码年龄是指,用户一次更改密码之后,要等多长时间才再次被允许更改密码。空字段或 0 表示没有最小密码年龄;
密码最大年龄:最大密码年龄是指,这写天之后,用户必须更改密码;
密码警告时间段:密码过期之前,提前警告用户的天数;
密码禁用期:密码过期后,仍然可用天数;
账户过期日期:账户过期日期,过期后账户不可用;
保留字段:
/etc/group:组的信息库;
字段:组名;密码;GID(组的数字标识);组内成员(以逗号分隔)
相关shall命令:useradd(添加)、userdel(删除)、usermod(修改)、passwd(密码添加)
groupadd(组添加)、groupdel(组删除)、groupmod(组修改)、gpasswd(组的密码添加)
chage:命令是用来修改帐号和密码的有效期限;这个信息由系统用于确定用户何时必须更改其密码;
chsh:用于更改登录shell;
id:用于显示用户与用户组信息;
su:用于切换用户身份。管理员切换至任意用户身份而无需密码验证,而普通用户切换至任意用户身份均需密码验证。另外添加单个减号(-)参数为完全的身份变更,不保留任何之前用户的环境变量信息。