一、/etc/passwd 文件
- 在linux系统中,创建的用户账户以及其相关信息(密码除外)均放在/etc/passwd文件。
【密码的哈希值存储在‘ /etc/shadow ’中】
- 所有用户都可以对本文件执行读(r)的操作。
- /etc/passwd文件每一行记录一个用户。
- 使用‘ :’作为分隔符,划分为7个字段
格式为:
用户名:密码(加密):UID(用户ID):GID(组ID):用户的描述信息:主目录:命令解释器(登录shell)
二、7个字段
-
用户名:用户登录账户名称,linux系统通过UID识别用户身份、分配权限。
-
密码:‘x’,密码占位符,表示此用户有密码,但不是真正的密码,正真的密码存放在/etc/shadow文件中(哈希值)。
【 /etc/shadow文件只能root用户可以访问和操作】
注意: ‘x’不能删除,否则系统认为该用户没有密码。
-
UID:用户标识,唯一表示某用户的数字标识。
实际上,UID就是一个0~65535中间的数字,其中一些特殊的UID有特殊含义:
- 0:超级用户,在系统中拥有最高权限。
- 1~999:保留UID,用于特殊账户或者系统服务。
- 1000~65535:普通用户,这些UID通常由系统根据创建用户账户的顺序自动分配。
-
GID:用户所属的组标识,对应group文件中的GID。
每个用户账户都可以属于一个或多个组,而组由组名和组ID标识。
这里区别一下 主组、附属组;初始组、附加组:
-
用户的描述信息:可选的关于用户名、用户电话号码等描述性信息。
-
主目录:通常称为用户的主(家)目录。
例如:
- root用户的主目录:/root
- 普通用户zhu的主目录:/home/zhu
-
命令解释器:
shell是Linux的命令解释器,是用户与linux内核之间沟通的桥梁。
命令解释器接收用户输入的命令,并将其解析为操作系统可以理解和执行的形式。它负责执行命令、管理文件和目录、处理输入输出等操作。命令解释器可以理解用户输入的命令、参数、选项和操作符,并根据其含义执行相应的操作或调用其他系统工具和程序。
【默认为/bin/bash。还有一些是/sbin/nologin,代表无本地登陆权限,用于阻止某些可疑用户登录服务器】