Linux 是多用户多任务操作系统,多个用户在同一时间内登陆,不同用户可以执行不同的任务,并且互不影响。
Linux操作系统的用户相关数据保存在以下文件中:
/etc/passwd
: 用户基本信息/etc/shadow
: 用户密码信息/etc/group
: 用户群组基本信息/etc/gshadow
: 用户群组管理密码信息
/etc/passwd
/etc/passwd
中一行记录对应一个用户,每行记录被冒号( :
)分隔,一共7个字段:
- 第一列 : 账户名称
- 第二列 : 密码占位符(x表示该账户需要密码才能登录,为空时,账户无须密码即可登录)
- 第三列 : 账户UID
- 第四列 : GID
- 第五列 : 账户附加基本信息
- 第六列 : 账户家目录位置
- 第七列 : 账户登录Shell,/sbin/nologin表示账户无法登录系统。
/etc/shadow
/etc/shadow
记录用户密码信息,与 /etc/passwd
文件格式类似,每行记录用冒号( :
)分隔,一共9个字段:
- 第一列 : 账户名称
- 第二列 : 密码,未设置密码时为!!,设置密码后加密显示
- 第三列 : 上次修改密码的时间,值为距离1970年01月01日多少天
- 第四列 : 密码最短有效天数,0表示无限制
- 第五列 : 密码最长有效天数,默认位99999天,可以理解为永不过期
- 第六列 : 密码过期后的宽限天数,即密码过期后,预留几天给账号修改密码
- 第八列 : 账户失效日期,值为距离1970年01月01日多少天
- 第九列 : 暂时保留未使用
/etc/group
/etc/group
记录用户群组基本信息,每行记录用冒号( :
)分隔,一共4个字段
- 第一列 : 用户组名称
- 第二列 : 用户组密码占位符
- 第三列 : GID
- 第四列 : 用户列表,每个用户之间用,号分割。可以为空;如果为空表示用户组为GID的用户名
/etc/gshadow
/etc/gshadow
记录用户群组管理密码信息
- 第一列 : 用户组名称
- 第二列 : 用户组密码,如果为空或者
!
表示没有密码 - 第三列 : 用户组管理者,如果有多个用户组管理者,用
,
号分割 - 第四列 : 用户列表