Unix / Linux – 用户管理

Unix / Linux – 用户管理


在本章中,我们将详细讨论 Unix 中的用户管理。

Unix 系统上有三种类型的帐户 –

根账户

这也称为超级用户,可以完全且不受限制地控制系统。超级用户可以不受任何限制地运行任何命令。该用户应被假定为系统管理员。

系统账号

系统帐户是操作特定于系统的组件所需的帐户,例如邮件帐户和sshd帐户。这些帐户通常是系统上某些特定功能所必需的,对它们进行任何修改都可能对系统产生不利影响。

用户帐号

用户帐户为用户和用户组提供对系统的交互式访问。一般用户通常分配给这些帐户,并且通常对关键系统文件和目录具有有限的访问权限。

Unix 支持Group Account的概念,它在逻辑上将多个帐户分组。每个帐户都将是另一个组帐户的一部分。Unix 组在处理文件权限和进程管理方面起着重要作用。

管理用户和组

有四个主要的用户管理文件 –

  • /etc/passwd – 保留用户帐户和密码信息。该文件包含有关 Unix 系统上帐户的大部分信息。

  • /etc/shadow – 保存相应帐户的加密密码。并非所有系统都支持此文件。

  • /etc/group – 此文件包含每个帐户的组信息。

  • /etc/gshadow – 此文件包含安全组帐户信息。

使用cat命令检查上述所有文件

下表列出了大多数 Unix 系统上可用于创建和管理帐户和组的命令 –

Sr.No. 命令和描述
1

useradd

将帐户添加到系统

2

usermod

修改账户属性

3

userdel

从系统中删除帐户

4

groupadd

向系统添加组

5

groupmod

修改组属性

6

groupdel

从系统中删除组

您可以使用手册页帮助检查此处提到的每个命令的完整语法。

创建组

我们现在将了解如何创建组。为此,我们需要在创建任何帐户之前创建组,否则,我们可以利用系统中现有的组。我们在/etc/groups文件中列出了所有

所有默认组都是系统帐户特定组,不建议将它们用于普通帐户。因此,以下是创建新组帐户的语法 –

 groupadd [-g gid [-o]] [-r] [-f] groupname

下表列出了参数 –

Sr.No. 选项和说明
1

-g GID

组ID的数值

2

-o

此选项允许添加具有非唯一 GID 的组

3

-r

此标志指示groupadd添加系统帐户

4

-f

如果指定的组已存在,则此选项仅以成功状态退出。使用 -g,如果指定的 GID 已经存在,则选择其他(唯一的)GID

5

groupname

要创建的实际组名

如果不指定任何参数,则系统使用默认值。

以下示例创建了一个具有默认值开发人员组,这对于大多数管理员来说是非常可接受的。

$ groupadd developers

修改组

要修改组,请使用groupmod语法 –

$ groupmod -n new_modified_group_name old_group_name

要将 developer_2 组名称更改为 developer,请键入 –

$ groupmod -n developer developer_2

以下是您将财务 GID 更改为 545 的方法 –

$ groupmod -g 545 developer

删除组

我们现在将了解如何删除组。要删除现有组,您只需要groupdel 命令组名即可要删除财务组,命令是 –

$ groupdel developer

这只会删除该组,而不是与该组关联的文件。这些文件的所有者仍然可以访问这些文件。

创建一个帐户

让我们看看如何在您的 Unix 系统上创建一个新帐户。以下是创建用户帐户的语法 –

useradd -d homedir -g groupname -m -s shell -u userid accountname

下表列出了参数 –

Sr.No. 选项和说明
1

-d homedir

指定帐户的主目录

2

-g groupname

为这个账户指定一个组账户

3

-m

如果主目录不存在,则创建它

4

-s shell

指定此帐户的默认 shell

5

-u userid

您可以为此帐户指定用户 ID

6

accountname

要创建的实际帐户名称

如果不指定任何参数,则系统使用默认值。useradd的命令修改/ etc / passwd文件/ etc / shadow文件/ etc / group的文件,并创建一个主目录。

以下是创建帐户mcmohd的示例,将其主目录设置为/home/mcmohd并将组设置为开发人员该用户将拥有 Korn Shell 分配给它。

$ useradd -d /home/mcmohd -g developers -s /bin/ksh mcmohd

在发出上述命令之前,请确保您已经使用groupadd命令创建开发人员

创建帐户后,您可以使用passwd命令设置其密码,如下所示 –

$ passwd mcmohd20
Changing password for user mcmohd20.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

当您输入passwd accountname 时,它会为您提供更改密码的选项,前提是您是超级用户。否则,您可以使用相同的命令仅更改密码,但无需指定您的帐户名。

修改账户

usermod命令命令,可以更改命令行的现有帐户。它使用与useradd命令相同的参数,加上 -l 参数,它允许您更改帐户名称。

例如,要将帐户名mcmohd更改mcmohd20并相应地更改主目录,您需要发出以下命令 –

$ usermod -d /home/mcmohd20 -m -l mcmohd mcmohd20

删除帐户

则userdel命令可以用来删除现有用户。如果不小心使用,这是一个非常危险的命令。

命令.r只有一个参数或选项可用,用于删除帐户的主目录和邮件文件。

例如,要删除帐户mcmohd20,请发出以下命令 –

$ userdel -r mcmohd20

如果要保留主目录以进行备份,请省略-r选项。您可以稍后根据需要删除主目录。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁