发布于 2026-01-06 3 阅读
0

Linux 系统中 /etc/passwd 文件简介 什么是 /etc/passwd 文件?如何查看该文件?我可以修改该文件吗?了解 /etc/passwd 文件格式 由 Mux 主办的 DEV 全球项目展示挑战赛:展示你的项目!

了解 Linux 中的 /etc/passwd 文件

介绍

什么是 /etc/passwd 文件?

我该如何查看该文件?

我可以修改那个文件吗?

了解 /etc/passwd 文件格式

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

介绍

Linux 已经从某人的爱好发展成为一个成熟的多用户操作系统,为全球95% 的服务器提供支持,这些服务器运行着全球排名前 100 万的域名

  • 世界上五分之四智能手机运行的是 Linux 内核(准确来说是修改过的内核)。
  • 100%超级计算机都安装了 Linux 系统。

Linux 系统真是太迷人了。在这篇博客中,我们将了解 Linux 系统中的一个特殊文件

让我们直接进入正题。

什么是 /etc/passwd 文件?

/etc/passwd这是一个配置文件,用于存储用户帐户信息。它是一个纯文本文件,包含用户名、用户 ID 和组 ID 等信息。

该文件属于root用户,权限为rw-r--r--(八进制644 )。因此,任何用户都可以读取该文件,但只有root 用户具有 sudo 权限的用户才能写入该文件

我该如何查看该文件?

要查看文件内容,请打开终端并输入:



cat /etc/passwd


Enter fullscreen mode Exit fullscreen mode

该命令的输出结果应与下面显示的结果类似。



daniel@DVM:~$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
systemd-timesync:x:102:104:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:103:106::/nonexistent:/usr/sbin/nologin
syslog:x:104:110::/home/syslog:/usr/sbin/nologin
_apt:x:105:65534::/nonexistent:/usr/sbin/nologin
tss:x:106:111:TPM software stack,,,:/var/lib/tpm:/bin/false
uuidd:x:107:112::/run/uuidd:/usr/sbin/nologin
tcpdump:x:108:113::/nonexistent:/usr/sbin/nologin
sshd:x:109:65534::/run/sshd:/usr/sbin/nologin
landscape:x:110:115::/var/lib/landscape:/usr/sbin/nologin
pollinate:x:111:1::/var/cache/pollinate:/bin/false
daniel:x:1000:1000:Daniel Tanzer,,,:/home/daniel:/bin/bash


Enter fullscreen mode Exit fullscreen mode

我可以修改那个文件吗?

是的,您可以使用vimnanoemacstext editor编辑器修改文件内容,但除非您清楚自己在做什么,否则这被认为是一个糟糕的做法。 您必须始终使用专用命令来修改文件。例如,假设您想向系统中添加一个新用户。为此,您必须使用`add` 或 ` add` 命令,而不是使用文本编辑器手动编辑文件。
adduseruseradd/etc/passwd

了解 /etc/passwd 文件格式

/etc/passwd该文件包含多行,每行对应一个用户。第一行包含root 用户的信息,随后是系统用户帐户普通用户帐户的信息。

它有7 个字段,用冒号( : )分隔。

文件格式

1)用户名:

这是代表用户信息的行中的第一个字段login name。其长度范围为 1 到 32 个字符。

2)密码:

这是一行中的第二个字段。在较早的 Linux 系统中,用户的加密密码存储在这里。现在,在现代系统中,这个字段被替换为一个字符x,加密后的密码存储在一个名为 `.` 的文件中/etc/shadow

如果该字段为,则登录系统不需要密码。

要更改任何用户的密码,请使用passwd将密码以加密形式存储在 中的命令/etc/shadow

3) 用户 ID (UID):

这是该行中的第三个字段。它包含用户的唯一标识符,操作系统使用该标识符来引用用户。

UID 0保留给root 用户
UID 1-99保留给其他预定义帐户
UID 100-999保留给系统帐户
UID above 999普通用户帐户使用

4) 组 ID(GID):

这是该行中的第四个字段。它决定了primary group用户的组。在 Linux 系统中,用户可以属于多个组。要获取用户所属组的完整列表,请输入以下命令:



groups <user_name>


Enter fullscreen mode Exit fullscreen mode

输出结果中的第一组是,primary group其余的都是secondary groups

5) GECOS:

这是该行中的第五个字段。它包含以逗号分隔的用户信息,包括:

  • 姓名
  • 房间号
  • 工作电话号码等。

6) 主目录:

这是包含用户主目录路径的行中的第六个字段。默认情况下,此路径位于/home目录下,并以用户名命名。例如,对于用户名为的用户daniel,其主目录将为/home/daniel

7) 登录 Shell:

这是该行中的第七个也是最后一个字段。它包含用户默认登录 shell 的路径。对于大多数发行版来说,它是bash,路径为/bin/bash

它不一定非得是 shell。例如,系统管理员可以使用nologin shell路径/sbin/nologin。因此,如果用户尝试使用 nologin shell 登录帐户,nologin shell 会关闭连接。

博客就到这里了。希望你们能理解文件的格式/etc/passwd

感谢阅读!

文章来源:https://dev.to/kcdchennai/understanding-etcpasswd-file-in-linux-1k2d