0.目录
1.概述
概述
- 多用户操作系统有用户的概念,多用户操作系统可以按需分配给不同用户资源来使用。
- 用户组为包含用户的容器,作用是完成权限指派。即对某用户组施加某权限,属于该组的所有用户均有此权限。
- 用户有用户名(username)及标识号(UID);用户组有组名(groupname)及标识号(GID),计算机通过标识号识别用户与组。
用户分类
管理员(root)
UID为0。系统用户
UID在1至499之间1。
任何进程均由用户发起,都是以某个用户的身份运行。有的守护进程与服务在用户登录前即运行(如运行登录界面),它们需要系统用户运行(不使用root运行,其权限过大)。
系统用户不能登录系统。可登录用户
UID在500以上。即普通用户。
用户组分类
私有组(primary group,也称基本组)
/etc/passwd中第4字段GID所对应的组,为对应用户的私有组。
每个用户只有一个私有组。
用户在被创建时,系统会创建一个与用户名同名的组作为该用户的私有组。额外组(supplementary group)
一个用户可以属于多个额外组。
2.用户、密码相关配置文件
/etc/passwd
文件/etc/passwd保存用户的属性信息。
各字段以冒号分隔,各字段意义(配置文件可使用man查看,下同):
- 用户名
- 密码占位符(并不显示密码)
用户密码信息存储在/etc/shadow中 - UID
有效范围一般为0至65535 - GID
此GID对应的组即为用户私有组,有效范围一般为0至65535。
用户在登录系统时会立刻拥有该GID对应的用户组的权限,所以该GID所对应的组也被称为用户的初始组。 - 注释
- 家目录
- 该用户使用的默认shell
/etc/shadow
文件/etc/shadow保存用户的密码信息。该文件为只读文件,可通过一些命令更改密码的时间信息,但无法在该文件中直接手动修改。密码为空则用户无法登录。
各字段以冒号分隔,各字段意义:
- 用户名
- 用户密码被加密后的密文
当用户被锁定时,该字段最前端会出现“!!”以示锁定,如上图中user1的情况。
第一个“$”符号与第二个“$”之间的数字表示使用的是何种单向加密算法2加密密码的明文。
第二个“$”符号与第三个“$”之间的8位字符串称为salt(不同用户的salt不同),用于和密码明文结合后,再被单向加密算法加密。
第三个“$”之后则为用户的密码明文、salt结合后,再经过单向加密而成的密文字符串。
用户登录时,系统如何验证密码是否正确3 - 从1970年1月1日至最近一次修改密码,所经过的天数
若为0则表示该用户下次登录时需修改密码;若为空则表示密码的各时间特征禁用。 - 密码的最短使用天数(minimum password age)
若为0或空则表示不限制最短使用时间 - 密码的最长使用天数(maximum password age)
若为空表示密码没有设定最长使用天数。显然,若最长使用天数未设定,则警告天数、非活动天数也是不存在的。
若设定最长使用天数小于最短使用天数,则用户无法修改其密码。 - 警告天数(password warning period)
在密码还有X天(X为警告天数)到达最长使用天数时,用户会收到警告。
当该值为0或空时表示不设定警告天数。 - 非活动天数(password inactivity period)
当密码达到最长使用天数后,仍可使用该密码X天(X为非活动天数),但一旦登录即会被强制要求修改密码,直至修改后方恢复正常。当经过X天(X为非活动天数),原密码仍未修改,则无法再登录,需联系管理员。