/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,当然还有其他命令解释器。

Linux系统中,`/etc/passwd` 和 `/etc/shadow` 是两个重要的文件,用于存储用户账户信息和密码哈希值。我会分别对它们进行详细解释。 1. `/etc/passwd` 文件: `/etc/passwd` 是一个文本文件,包含了系统中所有用户账户的基本信息。每一行对应一个用户账户,字段之间使用冒号(:)进行分隔,例如: ``` username:password:UID:GID:gecos:home_dir:shell ``` - `username`:用户账户的登录名。 - `password`:用户账户的密码哈希值(现在已经被移至 `/etc/shadow` 文件中)。 - `UID`:用户账户的唯一标识符。 - `GID`:用户账户所属的主要组标识符。 - `gecos`:用户账户的一些额外信息,如全名、电话等(可以为空)。 - `home_dir`:用户账户的主目录。 - `shell`:用户账户的默认Shell程序。 注意:现在 `/etc/passwd` 中的 `password` 字段已经被 'x' 或者 '*' 取代,实际的密码哈希值被移至 `/etc/shadow` 文件中。 2. `/etc/shadow` 文件: `/etc/shadow` 是一个只有 root 用户可读的文件,用于存储用户账户的密码哈希值和一些其他安全相关的信息。每一个用户账户的信息占用一行,由冒号(:)分隔,如下所示: ``` username:password:lastchg:min:max:warn:inactive:expire:disable ``` - `username`:用户账户的登录名。 - `password`:用户账户的密码哈希值。 - `lastchg`:上次修改密码的日期(从1970年1月1日开始算起的天数)。 - `min`:两次修改密码之间所需的最小天数。 - `max`:密码有效期的最大天数。 - `warn`:提前多少天给用户发出密码过期警告。 - `inactive`:密码过期后多少天用户账户被禁用。 - `expire`:用户账户被禁用的日期(从1970年1月1日开始算起的天数)。 - `disable`:用户账户是否被禁用。 `/etc/shadow` 文件中的密码哈希值通常是经过加密且不可逆的,用于验证用户输入的密码是否正确。 总结:`/etc/passwd` 文件存储了用户账户的基本信息,而 `/etc/shadow` 文件存储了用户账户的密码哈希值和其他安全相关的信息。这样通过将密码哈希值存储在 `/etc/shadow` 中,能够增加系统的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值