在本教程中,我们将了解 Linux 用户管理。
Linux 用户管理表示如何管理用户帐户或组帐户。 它处理创建用户帐户、将用户添加到组、修改它以及删除帐户。
但是,这些都可以通过 GUI 轻松管理。 在这里,我们将学习允许我们执行用户管理的命令。 在开始之前,我们应该了解 Linux 用户管理中的常用术语。
基本术语
您可能知道这些术语,但让我们再次快速查看这些术语。 一些基本术语是:
- 用户: 我们是有权访问系统资源的“用户”。 因此,用户是具有唯一标识号的对象,称为用户 ID(UID)。
- 团体:具有访问相同资源权限的用户组称为组。 在 Linux 中,特定组中的用户可以访问分配给该组的所有资源。 组还有一个唯一的标识号,称为组 ID 或 GID。
用户类型
Linux 用户分为三类:
- 超级用户 或 Root 用户:拥有所有权限的 Linux 系统管理员。 root 帐户属于超级用户。 root 用户不需要运行任何命令的权限。
- 系统用户:由软件或应用程序创建的用户。 例如,我们安装了 Apache 系统中的Kafka,然后它会创建名为“的用户帐户Apache”。 这些被称为在安装任何应用程序时创建的系统用户。
- 普通用户:由root用户创建的此类帐户称为普通用户。 例如,root 用户创建了一个名为 John、JournalDev 等的帐户。 名称可以是任何东西。 root 用户可以创建它,也可以删除该帐户。
用户配置文件
有 4 个配置文件,用于存储有关用户密码、组信息等信息。 这些配置文件位于 /etc 目录中。 让我们更多地讨论这个问题。
- /etc/passwd:位于/etc 目录中的passwd 文件包含用户帐户信息。
- /etc/shadow: 此文件以加密格式保存用户的密码,以及自密码上次更改以来的天数。
- /etc/组: 它保存组帐户信息。 无论何时创建组,详细信息都存储在 /etc/group 文件中。
- /etc/gshadow: 此文件类似于存储组帐户密码的 /etc/shadow 文件。 由于组帐户通常没有密码,您会在密码字段中看到一个星号。
您可以使用 cat 命令检查所有文件,如上所示。
让我们执行一些 Linux 用户管理。
如何创建用户帐户?
Linux 用户管理的第一步是了解如何创建用户帐户。 早些时候,我们了解了与 Linux 用户管理相关的基本术语。 让我们进一步讨论如何添加或创建新的用户帐户。
我们可以使用 用户地址 或者 添加用户 命令后跟用户名。 用户名不应以大写字母开头。 让我们看看下面的命令:
sudo adduser [username] Or sudo useradd [username]
您可以看到,在创建名为“vaishali”的用户时,它显示了一个错误。 因此,系统中不能存在同名用户。 此外,它会要求输入密码、全名、联系方式等详细信息,如下图所示:
因此,新用户帐户已成功创建。 一些操作是在创建帐户时执行的,例如:
- 当我们创建一个新的用户帐户时,它会自动修改配置文件(上面讨论过)。
- 主目录分配给新用户。
- 主要有3个隐藏文件,.bash_logout, .bash_profile, .bashrc 复制到新用户的home目录下。
- 设置主目录的权限和所有权。
- 创建与用户帐户同名的组。
有关更多详细信息,请查看 useradd 命令的 Linux 官方文档。
将用户添加到多个组
前面我们讨论了如何创建用户。 Linux 用户管理的下一步是了解如何将用户添加到组。 我们了解到创建的组与用户帐户的名称相同。 如果,我们想将用户添加到已创建的多个组中怎么办。 “-G” 选项用于将用户添加到多个组。
每个组名用逗号分隔。 列出组名使用 groupmod 后跟 tab 键两次命令。 让我们看看下面的命令:
groupmod [press tab key twice]
使用下面给出的以下命令将用户添加到您想要的组:
useradd -G group1,group2,group3 [username]
与 Useradd 命令一起使用的选项
有一些与 useradd 命令一起使用的常用选项。 选项列表如下所述,说明它们的用途。 我们先来看看语法:
useradd [options] LOGIN OR useradd -D [options]
选项 | 描述 |
-b, –base-dir, BASE_DIR | 给出新帐户主目录的基目录。 |
-d, –home-dir HOME_DIR | 表示新帐户的主目录 |
-h,-帮助 | 打印帮助信息 |
-m, –create-home | 创建新的主目录,但如果它不存在 |
-p, –password 密码 | 指定用户账户的加密密码 |
-u, –uid UID | 指定新用户帐户的用户 ID |
这些是用于 useradd 命令的常用选项。 有关更多详细信息,请查看 Linux 官方文档。
删除用户帐户
Linux 用户管理的下一步是学习如何删除用户帐户。 我们将使用 userdel 命令删除帐户。
您可以选择使用以下命令使密码过期,以便用户无法登录。 让我们看看下面的命令:
sudo passwd -l 'username'
现在使用 userdel 命令删除帐户,如下所示:
sudo userdel -r 'username'
有关更多详细信息,请查看 userdel 命令的 Linux 官方文档。
怎么修改账号?
要创建帐户,我们使用 useradd 命令,而要修改已经存在的帐户,我们使用 usermod 命令。 此命令用于修改现有用户帐户的属性。 在执行Linux 用户管理时,需要知道如何修改用户的现有属性。
这些属性可以是更改用户的主目录、登录名、密码到期日期等。 假设您要更改用户帐户的当前名称。 让我们看看下面的命令:
usermod -d /home/[user_account_name] -m -l [new_name] [current_name]
当前用户帐号为linuxworld,已更改为linuxfordevices。 这里,-m 用于将主目录的内容移动到新位置,而 -l 选项通知用户名将从“旧用户”更改为“新用户”。 usermod 命令由 useradd 命令的选项组成。
要获得详细的知识,请查看 Linux 官方文档中的 Usermod 命令。
如何创建群组?
到目前为止,我们已经学习了如何创建、修改和删除用户帐户来执行 Linux 用户管理。 让我们学习如何创建一个组。 组是用户的集合。 该组的主要目的是对用户进行集体管理。 groupadd 命令用于向系统添加一个新组。
在创建新用户帐户时,会自动创建同名组。 多个用户可以是一个组的一部分,一个用户也可以是多个组的一部分。 这 groupadd 命令 用于创建组。 让我们看看下面的命令:
groupadd [options] [group_name]
更多详细信息,请查看 groupadd 命令的 Linux 官方文档。
怎么修改群?
之前,我们了解到 usermod 命令用于修改用户帐户。 同样,groupmod 命令用于修改指定组的定义。 它还包含 groupadd 命令的选项。 groupmod 命令用于修改组账号的组id、组名等。 让我们看看下面的命令:
groupmod [options] groupname
有关更多详细信息,请查看 groupmod 命令的 Linux 官方文档。
如何删除一个组?
这里使用 groupdel 命令来删除组。 该命令修改系统文件并删除与该组相关的所有组信息。 在删除组之前,删除用户很重要。 删除用户的命令如上所述。 让我们看看下面的语法:
groupdel groupname
有关更多详细信息,请查看 groupdel 命令的 Linux 官方文档。
结论
我们已经讨论了如何创建、修改和删除用户和组帐户以及如何执行 Linux 用户管理。 我们还讨论了配置文件以及与 Linux 用户管理相关的基本术语。 如果您有任何问题,请在评论部分告诉我们。 随时提供反馈。