Unix / Linux - 用户管理

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

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

Root帐户

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

系统帐户

系统帐户是系统特定组件的操作所需的帐户,例如邮件帐户和 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

实际的组名是已创建

如果您未指定任何参数,则系统会使用默认值.

以下示例使用默认值创建 developers 组,这对于大多数管理员来说是非常可接受的.

$ groupadd developers

修改组

到修改一个组,使用 groupmod 语法 :

$ groupmod -n new_modified_group_name old_group_name

要将developers_2组名更改为开发人员,请键入 :

$ groupmod -n developer developer_2

以下是改变鳍的方法ancial GID为545 :

$ groupmod -g 545 developer

删除组

现在我们将了解如何删除组.要删除现有组,您只需要 groupdel命令组名.要删除金融组,命令为 :

$ groupdel developer

这仅删除组,而不删除与该组关联的文件.这些文件仍可由其所有者访问.

创建帐户

让我们看看如何在Unix系统上创建新帐户.以下是创建用户帐户的语法 :

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

下表列出了参数 :

Sr.No.Option&描述
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 创建了 developers 组 i> 命令.

创建帐户后,您可以使用 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 选项.您可以在以后根据需要删除主目录.