/etc/passwd文件 各个字段详解

转载自:https://www.sohu.com/a/320177323_505901

/etc/passwd文件:

系统用户配置文件,存储了系统中所有用户的基本信息,并且所有用户都可以对此文件执行读(r)操作。

查看文件内容:

/etc/passwd文件内容非常规律,每行记录对应一个用户

每行用户信息都以":"作为分隔符,划分为7个字段。

如下图各个字段含义:

下面逐个介绍一下:

01 用户名

用户名仅是为了方便用户记忆。

Linux系统是通过UID来识别用户身份,分配用户权限。

/etc/passwd文件中定义了用户名和UID之间的对应关系。

关于UID详解请参考:

Linux中的UID和GID的含义

02 密码

"x":表示此用户设有密码,但不是真正的密码,真正的密码保存在/etc/shadow文件。

如下图:

Linux系统把真正的加密密码串放置在/etc/shadow文件中,此文件只有root用户可以浏览和操作,最大限度地保证了密码的安全。

补充:

注意!!!,虽然"x"并不表示真正的密码,但也不能删除,如果删除了 "x",那么系统会认为这个用户没有密码,从而导致只输入用户名而不用输入密码就可以登陆(只能在使用无密码登录,远程是不可以)。

03 UID

UID:用户ID。

每个用户都有唯一UID,Linux 系统通过UID来识别不同的用户。

实际上,UID 就是一个 0~65535 之间的数,不同范围的数字表示不同的用户身份。

0:超级用户。

UID为0就代表这个账号是管理员账号。

1~499:系统用户。

此范围的UID保留给系统使用。

500~65535:普通用户。

例如:我们的odysee用户UID=1000。

关于UID详解请参考:

Linux中的UID和GID的含义

04 GID

简称"组ID",表示用户初始组组ID号。

解释一下初始组和附加组的概念。

(1) 初始组

指用户登陆时就拥有这个用户组的相关权限。每个用户的初始组只能有一个,通常就是将和此用户的用户名相同的组名作为该用户的初始组。比如说,我们手动创建用户 odysee,在建立用户odysee同时,就会建立odysee组作为odysee用户的初始组。

(2) 附加组

用户可以加入多个其他的用户组,并拥有这些组的权限。

每个用户只能有一个初始组,除初始组外,用户再加入其他的用户组,这些用户组就是这个用户的附加组。附加组可以有多个,而且用户可以有这些附加组的权限。

注意:

这里的GID字段是指初始组。

05 描述性信息

此字段只是用来解释这个用户的意义而已。

06 主目录

通常称为用户的主(家)目录。

例如:root主目录为/root,普通用户odysee的主目录为/home/odysee。

07 默认Shell

Shell是Linux的命令解释器,用户和Linux内核之间沟通的桥梁。

Shell命令解释器的功能就是将用户输入的命令转换成系统可以识别的机器语言。

通常情况下,Linux系统默认使用的命令解释器是/bin/bash,当然还有其他命令解释器。