linux中的用户管理

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

Linux系统上有三种类型的帐户-

根帐号

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

系统帐号

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

用户帐号

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

Linux支持组帐户的概念,该组帐户在逻辑上对多个帐户进行分组。每个帐户都是另一个组帐户的一部分。Linux组在处理文件权限和进程管理中起着重要作用。

管理用户和组

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

  • / etc / passwd-保留用户帐户和密码信息。该文件包含有关Unix系统上帐户的大多数信息。
  • / etc / shadow-持有相应帐户的加密密码。并非所有系统都支持此文件。
  • / etc / group-此文件包含每个帐户的组信息。
  • / etc / gshadow-此文件包含安全的组帐户信息。

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

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

序号 命令与说明
1 useradd将帐户添加到系统
2 usermod修改帐户属性
3 userdel从系统中删除帐户
4 groupadd将组添加到系统
5 groupmod修改组属性
6 groupdel从系统中删除组

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

建立群组

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

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

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

下表列出了参数-

序号 选项和说明
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

要将developers_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

下表列出了参数-

序号 选项和说明
1 -d homedir 指定帐户的主目录
2 -g groupname指定该帐户的组帐户
3 -m创建主目录(如果不存在)
4 -s shell指定此帐户的默认外壳
5 -u userid您可以为此帐户指定一个用户ID
6 accountname要创建的实际帐户名称

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

以下是创建帐户mcmohd\的示例,将其主目录设置为/ home / mcmohd,\并将该组设置为developers\。该用户将被分配了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选项。您可以稍后根据需要删除主目录。

一道百度算法面试题:区间集合合并
Unix/Linux-文件权限/访问模式
Tags: