目录
一、用户账户和组账户
1、Linux基于用户身份对资源访问进行控制
1.1、用户账号
用户账号 | 说明 |
---|---|
超级用户 | root用户是Linux操作系统中默认的超级用户账号,对本主机拥有最高的权限。系统中超级用户是唯一的。 |
普通用户 | 由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主目录中拥有完整权限 |
程序用户 | 安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,不允许登录到系统,仅维持系统或某个程序的正常运行 |
1.2、组账号
组账号 | 说明 |
---|---|
基本组(私有组) | 基本组账号只有一个,一般为创建用户时指定的组。 |
附加组(公用组) | 用户除了基本组以外,额外添加指定的组。 |
1.3、UID和GID
UID | GID | |
---|---|---|
说明 | 用户标识号 | 组标识号 |
root用户 | 固定值 0 | 固定值 0 |
程序用户 | 默认为1~499 | 默认为1~499 |
普通用户 | 默认为500~60000 | 默认为500~60000 |
上面是CentOS6(CentOS7是1~999)
2、用户账号文件/etc/passwd
2.1、保存用户名称、宿主目录、登录shell等基本信息
文件位置:/etc/passwd
每一行对应一个用户的账号记录
基于系统运行和管理需要,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改。
在早期的UNIX操作系统中,用户帐号的密码信息是保存在passwd文件中的,不法用户可以很容易的获取密码字串并进行暴力破解,因此有在一定的安全隐患。后来经改进后,将密码转存入专门的shadow文件中,,而passwd文件中仪保留密码占位符"x"。
2.2、7个字段
①、第1字段:用户账户的名称,也是登陆系统时使用的识别名称。
②、第2字段:经过加密的用户密码字串,或者密码占位符“x”。(早期用户密码信息保存在passwd文件中,不法用户可以获取密码字串进行暴力破解,这样账号安全就存在一定的隐患。因此后来将密码转存入shadow文件中,而在passwd中仅保留密码占位符“x”)。
③、第3字段:用户账号的UID号。
④、第4字段:所属基本组账号GID号
⑤、第5字段:用户全名,可填写与用户相关的说明信息。
⑥、第6字段:宿主目录,及该用户登陆后所在的默认工作目录。
⑦、第7字段:登陆shell等信息,用户完成登陆后使用的shell。
3、用户账号文件/etc/shadow
3.1、保存用户的密码、账号有效期等信息
文件位置:/etc/shadow
每一行对应一个用户的密码记录
默认只有root用户能够读取shadow文件中的内容,且不允许直接编辑该文件中的内容
3.2、9个字段(以:为分隔)
Shadow文件每一行对应一个用户密码记录,它们用冒号“ :”分隔为九个配置字段,从左到右各个配置字段含义分别如下所述:
①、第1字段:用户账号名称。
②、第2字段:使用MD5加密的密码字串信息,当为 “*” 或 “!!”时表示此用户不能登录到系统。若该字段为空,则该用户无需密码即可登陆系统。新用户创建也是“!!”。如果密码前面显示双感叹号表示该账户被锁定了。
③、第3字段:上次修改密码的时间,从1970年01月01日(1970年是linux的诞生日)算起,到最近一次修改密码时间间隔的天数。date -d "1970-01-01 18884 days"可以转换为具体的日期显示。
④、第4字段:密码最短有效天数。自本次修改密码后,必须经过该天数以后才能再次修改密码。默认值为0,表示不进行限制。
⑤、第5字段:密码最长有效天数。自本次修改密码后,必须经过该天数以后必须再次修改密码。默认值为99999,表示不进行限制。
⑥、第6字段:提前多少天警告用户密码将过期,密码到期前的第几天发出告警信息,默认是7天,每次登录系统都会向该账户发出 “修改密码” 的警告信息。
⑦、第7字段:在密码过期之后多少天内禁用此用户。系统将不再让此账户登陆,也不会提示账户过期,是完全禁用。
⑧、第8字段:账号失效时间,使用自1970年1月1日以来的总天数作为账户的失效时间。默认值为空,表示账号永久可用。
⑨、第9字段:保留字段&#