linux配置文件之/etc/passwd详解

老兄,我对Linux系统配置文件的了解还蛮多的。
我曾经在一家小公司工作,负责配置Linux服务器。
有很多陷阱。
我记得很早之前就准备了一台Linux服务器。
系统为CentOS,版本为6 .5 那时我还小,不懂这个复杂的结构。

那天,我的任务是配置新用户帐户并将用户信息添加到传奇的 /etc/passwd 文件中。
当我看到它时,我发现这不仅仅是几行字,所以我想我可以自己编辑它。
所以我尝试打开该文件并输入用户信息。
突然我发现文件中的信息是用冒号分隔的,比如用户名、UID、GID、主目录等,我这个新手很困惑。

当时我并不知道 /etc/passwd 文件中的每个字段都有独特的要求,并且不能随意填写。
例如,您的用户名必须是唯一的,不能与其他用户名相同。
UID 和 GID 也必须匹配。
否则,您将在设置权限时遇到问题。
您必须指定您的主目录。
否则用户登录后将无法找到首页。
shell必须填写准确。
否则,用户登录后连基本的命令行都无法运行。

我凭直觉写的。
结果我花了一个下午的时间配置服务器。
我们最终发现新用户无法登录并且权限不正确。
我最终花了两个小时浏览 Linux 文档,发现原来的密码占位符 x 并不是我凭空创建的。
这意味着密码存储在另一个文件/etc/shadow中,并且该文件只有root用户可读。

这件事给我带来了很多回忆。
从现在开始,每当遇到Linux系统配置时,我都会先研究相关文档。
所以,兄弟,在创建Linux配置文件,尤其是/etc/passwd这样的核心文件时,一定要了解各个字段的含义,提高警惕。

简单解释一下/etc/passwd文件的结构,文件中的每一行代表一个用户帐户,各个字段用冒号分隔。
这主要包括用户名、UID、GID、主目录、登录shell等信息。
用户名必须唯一,UID和GID对应用户和用户组,主目录是用户登录后的工作目录,登录shell是用户登录后使用的命令行解释器。

当时出现问题的主要原因是没有完全理解密码占位符x。
我以为我可以写随机字符,但是这样配置就会失败。
因此,在Linux上工作时要小心,不要害怕出现问题,慢慢来。

存放用户信息的配置文件是哪一个?

/etc/passwd 存储用户名、uid、gid、主目录和 shell。

UID 0 是 root。

密码不存储在这里,而是存储在/etc/shadow中。

请勿直接编辑此文件。

注意:修改前请先备份。