Linux实现权限隔离机制(多用户)
操作系统识别用户:
用户:UID
组:GID(逻辑容器:包含用户;实现多个用户对于某个文件或应用程序分配相同的权限)
用户分类:
管理员用户:root UID:0
普通用户:1000-65535
程序(系统)用户:1-999
组分类:
管理员组/普通组
基本组:Linux中,新建用户时,没有指定隶属于的组,系统会为该用户建立一个同名组,作为该用户基本组
附加组:方便以后为用户分配权限
解析:
/etc/passwd:存储用户基本信息
/etc/shadow:存储用户的影子口令
/etc/group:存放组的基本信息
/etc/passwd解释:用冒号隔开
第一列:用户的登录名
第二列:加密密码(x表示密码占位符,密码保存在/etc/shadow中)
第三列:用户的ID号
第四列:组的ID号
第五列:用户的描述信息
第六列:用户宿主目录
第七列:用户默认使用的shell(操作系统支持的shell:/etc/shells)
/etc/shadow解释:用冒号隔开(man 5 shadow)
第一列:用户的登录名
第二列:用户加密后的密码
第三列:最后一次更改密码时间(从1970年1月1号)
第四列:密码最小使用时间
第五列:密码最长使用时间
/etc/shadow密码区域解释(格式:$id$salt$encrypted):
三部分组成:用$隔开
第一部分加密算法:
1:MD5加密
5:SHA-256加密
6:SHA-512加密
第二部分:随机序列号
第三部分:随机序列号和密码共同加密后的字符串
加密算法:
对称加密:加密和解密使用相同的密码(效率高)
非对称加密:加密和解密使用不同的秘钥,公钥和私钥
单向加密,散列加密:提取数据的特征码,常用于数据完整性校验
1:不可逆
2:定长输出
md5: 128位定长输出
sha: 160位 224位 256 位 384位 512位
3:雪崩效应:输入数据一小点儿的变化,会引起结果的巨大变化