在Linux中,什么是/etc/passwd文件?

时间:2020-02-23 14:38:07  来源:igfitidea点击:

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