在Linux中,什么是/etc/passwd文件?
Linux中的/etc/passwd是一个文件,用于存储系统上的用户列表以及有关这些用户的重要信息。
在登录时,唯一标识用户是必不可少的。
/etc/passwd在登录时由Linux系统使用。
该文件应为所有用户可读,但写许可权应仅属于root用户。
了解/etc/passwd文件
要查看文件的内容,请使用cat命令。
$cat /etc/passwd
输出将如下所示。
每行代表一个用户。
每个用户都有一个用":"分隔的参数列表
七个字段是:
- 登录名
- 加密密码
- UID号
- GID号码
- GECOS
- 主目录
- 登录shell
让我们看看它们各自的含义:
登录名:赋予用户的唯一名称。
区分大小写。加密密码:此字段用于加密密码。
但是,在大多数现代Linux系统中,密码存储在名为/etc/shadow的影子文件中。
第二个字段中的" x"表示密码存储在影子文件中。UID号:为每个用户分配的唯一ID。
系统通过其UID号标识用户。
根用户获得保留的UID 0。
UID 1-99保留用于预定义帐户。
这些也称为假登录。
在大多数Linux系统中,新用户的UID从1000开始。GID号:GID用于标识组用户所属。
有关组的信息存储在/etc/group文件中。
在Linux中,一个用户最多可以属于16个组。GECOS:代表通用电气综合运营主管。
该字段允许管理员存储有关用户的其他信息。
该字段在逗号分隔列表中可以有多个条目。
姓名,电话号码,名称等信息可以存储在此字段中。主目录:此字段包含用户主目录的绝对路径。
用户登录后,系统会将其直接放置在其主目录中。登录shell程序:此字段用于指定用户登录时将自动运行的程序。
它通常是命令解释器(shell程序)。
创建一个用户
我们可以使用useradd命令创建一个新用户。
确保以root用户访问权限运行命令。
$useradd Adam
这将创建一个名为Adam的用户。
修改GECOS字段
要修改Adam的GECOS字段,请使用usermod命令。
$usermod -c "DevOp expert" Adam
显示特定用户的条目
从etc/passwd文件获取单个用户的条目,请使用grep命令。
$grep Adam /etc/passwd
如我们所见,GECOS字段已成功为用户Adam更新。
我们将值分为各自的字段:
- 登录名:Adam
- 加密密码:x(影子文件)
- UID号:1001
- GID号码:1002
- GECOS:DevOp专家
- 主目录:/home/Adam
- 登录shell:/bin/sh