用户,组和权限管理

1.用户

	 用户类别:
					 管理员
					 普通用户
						系统用户
						登陆用户
		用户标识:userID UID
       
			 16bits二进制数字:0-65535
								管理员:0
						普通用户:1-65535
								系统用户:1-499(centos6),1-999(centos7)
								登陆用户:500-60000(centos6),1000-60000(centos7)
										
					  名称解析:名称转换
								username <--->UID
								根据名称解析库进行:/etc/passwd

2组

				组类别1:
						管理员组
						普通用户组
									系统组
									登陆组

				组标识:groupID, GID
				  	管理员:0
			 	普通用户:1-65535
							系统用户:1-499(centos6),1-999(centos700)
							登陆用户:500-60000(centos6),1000-60000(centos7)

				名称解析:groupname <--> gid
						解析库:/etc/group
									组:   gentoo:x:1001:
								          	centos:x:1002:
					
					组类别2:
									用户的基本组
									用户的附加组
									
					组类别3:
									私有组:组名同用户名,且只包含一个用户;
									公共组:组内包含了多个用户;
3.	用户认证信息:
						通过比对事先存储的,与登陆时提供的信息是否一致;
						Password:
										用户密码库文件路径:/etc/shadow
										组密码库文件路径:/etc/gshadow

				  密码的使用策略:
								1.	使用随机密码;
								2.	最短长度不要低于8位
								3.	应该使用大写字母,小写字母,数字和标点符号四类字符中至少三类;
								4.	定期更换;
				加密算法:
							1.对称加密:加密和解密使用同一个密码;
							
							2.非对称加密:加密和解密使用的一对儿密钥;
										密钥对儿:
															公钥:public key
															私钥:private key
							
							3.单向加密:只能加密,不能解密,提取随机特征码;
													定长输出
													雪崩效应

							算法:

									md5: message digest, 128bits
									sha: secure hash algorithm,160bits
									sha224:
									sha256:
									sha384:
									sha512:

							在计算之时加salt(随机数),添加的随机数;
											随机数: $6$5eZ1wj.p$
					
						算法:
									[root@localhost ~]# echo "how are you." | md5sum 
									5bd65df962ddf52bc545606a44959778  -

									[root@localhost ~]# echo "How are you." | md5sum 
									054cac27898d2b0dd9bacebbeb7777f4  -
		/etc/passwd:用户的信息库: (密码文件)里每行一条记录,并且每行有这样的格式:		
						
						centos:x:1002:1002::/home/centos:/bin/bash		
				  	name:password:UID:GID:GECOS:directory:shell
          (帐号:密码:用户ID:组ID:用户的注释信息:用户的家目录:用户的默认shell)

						name:password:UID:GID:GECOS:directory:shell
									name:用户名
									password:可以是加密的密码,也可是占位符x:
									UID:
									GID:用户所属的主组的ID号
									GECOS:注释信息;
									directory:用户的家目录
									shell:用户的默认shell,登陆时默认shell程序;

	
	/etc/shadow:用户密码:
						
centos: $6$5eZ1wj.p$z4wv/kfDNO4AtI0hjhds8D5wj0 : 17888 : 0 : 99999 : 7 : 过期期限 : 保留字段 :
用户名:加密的密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告期段:过期期限:保留字段:
			/etc/group:组的信息库
		
		group_name:password:GID:user_list			
				字段描述如下:

					 group_name
								组名

						password
								 (加密的)组密码.如果该字段为空,则不需要密码.

						 GID    组的数字标识.

						user_list
										组内所有成员的用户名,以逗号分隔.		
						user_list:该组的用户成员;以此组为附加组的用户的用户列表;