zhcn 技术 手机 【讲解】Ubuntu上如何向Sudoers添加用户

【讲解】Ubuntu上如何向Sudoers添加用户

在学习如何在 Ubuntu 中将用户添加为 sudoer 之前,我们需要了解如何实现这一点。例如,在 Ubuntu 中管理服务或安装或更新软件时。当您尝试运行命令来尝试上述任何操作时,您是否收到过“访问被拒绝”反馈?

在这种情况下,您必须以 root 或超级用户身份运行命令。但是,出于安全原因,不建议使用此方法。如果用户配置错误,以 root 身份运行命令可能会导致系统问题。

Ubuntu 是最流行的 Linux 发行版之一,它有一个称为 sudo 的功能,允许用户以提升的权限运行命令,而不是以 root 身份登录。

本文解释了什么是 sudoer、为什么需要它以及如何将 sudoer 添加到 Ubuntu 操作系统。

须藤是什么?

但为什么不使用su或 switch user 命令呢? switch user 命令允许您以 root 身份登录。当您执行此操作时,系统将要求您输入 root 密码,以便您可以执行任何您想做的操作。您可以添加新文件/软件并进行所有更改。但是,您可能会忘记以 root 身份注销,并且一个简单的拼写错误可能会擦除重要文件或整个硬盘驱动器。

Sudo 是“超级用户 do”的缩写。这些用户可以使用提升的权限运行命令、安装和更新软件,甚至更改系统设置。 sudoer 是具有此类权限的用户。 Sudo 用户在 Ubuntu 上运行命令之前应始终使用“sudo”关键字。但是,运行该命令后无需注销。

如果您的 Ubuntu 系统有多个用户,则并非所有用户都拥有 sudo 权限。但是,在安装过程中,您创建的第一个用户默认被授予 sudo 权限。只有 sudoers 文件或组中的用户才能运行 sudo 命令。

  • sudoers 文件– 定义哪些用户可以使用 sudo 以及如何使用的配置文件。
  • Sudoers 组– 具有 sudo 权限的特殊用户组。

需要授予用户 sudo 访问权限的场景

您可以允许特定用户在您的个人或办公室计算机上运行 sudo 命令。如果满足以下条件,则可以允许:

  • 您有一个由管理员或开发人员组成的团队,他们需要执行需要 root 访问权限的任务。例如,您可能需要安装软件或更新系统。
  • 您想要限制用户对系统中某些文件或目录的访问,但又不想授予他们完全访问权限。
  • 我有一个来宾用户来执行需要 root 访问权限的一次性任务。例如,您需要有人安装和配置专用软件或更新您的系统。

授予用户 sudo 权限的重要性

  • 提高系统安全性:无需允许用户以root用户身份登录系统。这可能会使您的系统面临潜在的威胁和错误。授予 sudo 权限允许您仅访问您需要的内容。
  • 您可以自定义权限。添加sudo用户允许您指定用户可以运行哪些命令以及何时可以运行这些命令。您还可以指定这些用户运行此类命令是否需要密码。
  • 用户监控变得更加容易。您可以检查 /var/log/auth.log 文件以查看 sudoers 在您的系统上运行的所有命令。

将用户添加到 sudoers 文件的先决条件

  • 具有 sudo 权限的用户帐户:登录具有 sudo 权限的帐户时,必须将用户添加到 sudoers。
  • 用户名:如果您的系统上有多个用户,您将需要知道要添加到 sudoers 文件或组中的用户的用户名。
  • 文本编辑器: Ubuntu 使用 Nano 作为默认编辑器。但是,您也可以将其更改为其他人。

将用户添加到 sudoers 文件

有多种方法可以将用户添加到 sudoers 文件中。但在此之前,我们需要创建一个新用户。

我想创建一个名为“titus”的新用户。请按照以下步骤操作。

  • 登录具有 sudo 权限的用户帐户并运行命令sudo adduser titus 。您可以将“titus”替换为创建它的用户的名称。
须藤加法器
须藤加法器
  • 请输入您的密码。命令行将提示您输入密码。
  • 设置并确认您的新密码
sudo 附加用户密码
sudo 附加用户密码
  • 按照提示操作(您可以选择默认值)并单击 Y 确认所有详细信息。
验证其他 sudo 用户
验证其他 sudo 用户

已添加新用户。

在 Ubuntu 上添加 sudoers 有两种方法

#1:将用户添加到 sudo 组

现在您可以将创建的用户添加到 sudo 组中。以另一个 sudo 用户或 root 用户身份登录时运行此命令。

 sudo usermod -aG sudo username

将“用户名”替换为您想要使用 sudo 的用户。就我而言,命令如下所示:

 sudo usermod -aG sudo titus

新用户现已添加到 sudo 组中。

#2:将用户添加到 sudoers 文件

我们已经看到像 Ubuntu 这样的典型 Linux 系统有各种各样的用户。这些用户可以被授予系统内不同的Linux文件和目录权限。例如,您可以允许用户在 Unix 系统上“读取”、“写入”或“执行”文件。

通过在 sudoers 文件中定义它,您可以定义哪些用户可以使用 sudo 以及如何使用。使用此路径 /etc/sudoers 找到 sudoers 文件。

假设您已经有一个没有 sudo 权限的用户,请按照以下步骤操作:

  • 打开终端
  • 使用此命令打开文件
sudo visudo

系统将要求您输入密码。

须藤
须藤
  • 编辑文件。当我运行命令时,我得到:
sudoers 文件
sudoers 文件

我有一个名为“kamunya”的用户,我想给他所有 sudo 权限。

找到一个如下所示的部分:

 # User privilege specification

root    ALL=(ALL:ALL) ALL

您可以添加一行,将所有 sudo 权限授予“kamunya”,如下所示:

 kamunya    ALL=(ALL:ALL) ALL
  • 保存并退出。您可以使用这些快捷键:Ctrl+O 写入更改,Ctrl+X 退出。

您现在拥有通过 sudoers 文件添加的新 sudo 用户。如果您想向用户(kamunya)授予特定权限,例如无需密码即可更新软件,您也可以按照相同的步骤并添加以下行:

 kamunya ALL=(ALL:ALL) NOPASSWD: /usr/bin/apt-get update, /usr/bin/apt-get upgrade

如何检查用户是否有sudo权限

即使您遵循所有这些步骤,您仍然不知道系统上的用户是否是 sudoer。使用这些方法,您可以检查:

使用 sudo 命令

检查名为“titus”的用户是否为 sudoer。该命令将如下所示:

 sudo -l -U titus

您可以将“titus”替换为您要检查的用户的用户名。

如果用户是 sudoer,您将得到与此接近的结果。

苏多尔
苏多尔

如果用户没有 sudo 权限,可能会出现错误“用户‘用户名’无法使用‘您的计算机名称’运行 sudo”

检查 sudo 组

当您创建 sudo 用户时,系统会自动将该用户分配到具有所选用户名的组中。例如,有一个名为“tk”的 sudo 用户。您可以使用此命令检查该用户是否属于某个组。

 groups tk

您可以将“tk”替换为您的用户名。

你会得到与此类似的东西。

须藤组
须藤组

如何删除sudo用户

在多种情况下,您可能想要删除 sudo 用户。例如,设置配置文件时出现问题,或者您创建的用户应该执行一次性任务。

您可以使用 GUI 或命令行从 Ubuntu 系统中删除用户。以下是使用命令行删除用户的方法:

  • 运行此命令:sudo deluser 用户名。在这里,将“用户名”替换为您要删除的个人资料。此方法会删除用户,但会留下用户文件。

其中一名用户 (kamunya) 已被删除

删除 sudo 用户
删除 sudo 用户

如果要删除用户文件,请运行以下命令:

 sudo deluser --remove-home username

就我而言,它看起来像这样:

 sudo deluser --remove-home kamunya

使用 sudoers 文件管理用户的最佳实践

  • 使用visudo命令:将 sudoer 添加到 sudoer 文件时始终使用visudo命令。完成后,检查是否有拼写错误,保存并退出编辑器。
  • 使用组:您可以在每次添加新用户时将个人添加到组中,而不是将个人添加为 sudo 用户。您可以创建不同的组,例如具有不同权限的“管理员”和“开发人员”。
  • 访问文档:记录您授予 sudo 权限的人员以及他们可以执行的操作。这样的做法让新员工在有变化时更容易选择。
  • 监控访问:密切关注您添加为 sudoers 的不同用户正在登录您的系统。频繁的审查还允许您根据需求的变化删除用户或更改权限。

结论

Ubuntu 是管理员和程序员最常用的操作系统之一。但是,您必须确保适当的用户在访问系统时具有适当的权限。

现在您了解了 sudoer 是什么以及将其添加到 Ubuntu 的不同方法。这些用户不再需要以完全访问权限登录系统,而是需要完成工作所需的有限权限。

您还可以查找一些作为系统管理员应该了解的 Linux 性能命令。

在学习如何在 Ubuntu 中将用户添加为 sudoer 之前,我们需要了解如何实现这一点。例如,在 Ubuntu 中管理服务或安装或更新软件时。当您尝试运行命令来尝试上述任何操作时,您是否收到过“访问被拒绝”反馈?

在这种情况下,您必须以 root 或超级用户身份运行命令。但是,出于安全原因,不建议使用此方法。如果用户配置错误,以 root 身份运行命令可能会导致系统问题。

Ubuntu 是最流行的 Linux 发行版之一,它有一个称为 sudo 的功能,允许用户以提升的权限运行命令,而不是以 root 身份登录。

本文解释了什么是 sudoer、为什么需要它以及如何将 sudoer 添加到 Ubuntu 操作系统。

须藤是什么?

但为什么不使用su或 switch user 命令呢? switch user 命令允许您以 root 身份登录。当您执行此操作时,系统将要求您输入 root 密码,以便您可以执行任何您想做的操作。您可以添加新文件/软件并进行所有更改。但是,您可能会忘记以 root 身份注销,并且一个简单的拼写错误可能会擦除重要文件或整个硬盘驱动器。

Sudo 是“超级用户 do”的缩写。这些用户可以使用提升的权限运行命令、安装和更新软件,甚至更改系统设置。 sudoer 是具有此类权限的用户。 Sudo 用户在 Ubuntu 上运行命令之前应始终使用“sudo”关键字。但是,运行该命令后无需注销。

如果您的 Ubuntu 系统有多个用户,则并非所有用户都拥有 sudo 权限。但是,在安装过程中,您创建的第一个用户默认被授予 sudo 权限。只有 sudoers 文件或组中的用户才能运行 sudo 命令。

  • sudoers 文件– 定义哪些用户可以使用 sudo 以及如何使用的配置文件。
  • Sudoers 组– 具有 sudo 权限的特殊用户组。

需要授予用户 sudo 访问权限的场景

您可以允许特定用户在您的个人或办公室计算机上运行 sudo 命令。如果满足以下条件,则可以允许:

  • 您有一个由管理员或开发人员组成的团队,他们需要执行需要 root 访问权限的任务。例如,您可能需要安装软件或更新系统。
  • 您想要限制用户对系统中某些文件或目录的访问,但又不想授予他们完全访问权限。
  • 我有一个来宾用户来执行需要 root 访问权限的一次性任务。例如,您需要有人安装和配置专用软件或更新您的系统。

授予用户 sudo 权限的重要性

  • 提高系统安全性:无需允许用户以root用户身份登录系统。这可能会使您的系统面临潜在的威胁和错误。授予 sudo 权限允许您仅访问您需要的内容。
  • 您可以自定义权限。添加sudo用户允许您指定用户可以运行哪些命令以及何时可以运行这些命令。您还可以指定这些用户运行此类命令是否需要密码。
  • 用户监控变得更加容易。您可以检查 /var/log/auth.log 文件以查看 sudoers 在您的系统上运行的所有命令。

将用户添加到 sudoers 文件的先决条件

  • 具有 sudo 权限的用户帐户:登录具有 sudo 权限的帐户时,必须将用户添加到 sudoers。
  • 用户名:如果您的系统上有多个用户,您将需要知道要添加到 sudoers 文件或组中的用户的用户名。
  • 文本编辑器: Ubuntu 使用 Nano 作为默认编辑器。但是,您也可以将其更改为其他人。

将用户添加到 sudoers 文件

有多种方法可以将用户添加到 sudoers 文件中。但在此之前,我们需要创建一个新用户。

我想创建一个名为“titus”的新用户。请按照以下步骤操作。

  • 登录具有 sudo 权限的用户帐户并运行命令sudo adduser titus 。您可以将“titus”替换为创建它的用户的名称。
须藤加法器
须藤加法器
  • 请输入您的密码。命令行将提示您输入密码。
  • 设置并确认您的新密码
sudo 附加用户密码
sudo 附加用户密码
  • 按照提示操作(您可以选择默认值)并单击 Y 确认所有详细信息。
验证其他 sudo 用户
验证其他 sudo 用户

已添加新用户。

在 Ubuntu 上添加 sudoers 有两种方法

#1:将用户添加到 sudo 组

现在您可以将创建的用户添加到 sudo 组中。以另一个 sudo 用户或 root 用户身份登录时运行此命令。

 sudo usermod -aG sudo username

将“用户名”替换为您想要使用 sudo 的用户。就我而言,命令如下所示:

 sudo usermod -aG sudo titus

新用户现已添加到 sudo 组中。

#2:将用户添加到 sudoers 文件

我们已经看到像 Ubuntu 这样的典型 Linux 系统有各种各样的用户。这些用户可以被授予系统内不同的Linux文件和目录权限。例如,您可以允许用户在 Unix 系统上“读取”、“写入”或“执行”文件。

通过在 sudoers 文件中定义它,您可以定义哪些用户可以使用 sudo 以及如何使用。使用此路径 /etc/sudoers 找到 sudoers 文件。

假设您已经有一个没有 sudo 权限的用户,请按照以下步骤操作:

  • 打开终端
  • 使用此命令打开文件
sudo visudo

系统将要求您输入密码。

须藤
须藤
  • 编辑文件。当我运行命令时,我得到:
sudoers 文件
sudoers 文件

我有一个名为“kamunya”的用户,我想给他所有 sudo 权限。

找到一个如下所示的部分:

 # User privilege specification

root    ALL=(ALL:ALL) ALL

您可以添加一行,将所有 sudo 权限授予“kamunya”,如下所示:

 kamunya    ALL=(ALL:ALL) ALL
  • 保存并退出。您可以使用这些快捷键:Ctrl+O 写入更改,Ctrl+X 退出。

您现在拥有通过 sudoers 文件添加的新 sudo 用户。如果您想向用户(kamunya)授予特定权限,例如无需密码即可更新软件,您也可以按照相同的步骤并添加以下行:

 kamunya ALL=(ALL:ALL) NOPASSWD: /usr/bin/apt-get update, /usr/bin/apt-get upgrade

如何检查用户是否有sudo权限

即使您遵循所有这些步骤,您仍然不知道系统上的用户是否是 sudoer。使用这些方法,您可以检查:

使用 sudo 命令

检查名为“titus”的用户是否为 sudoer。该命令将如下所示:

 sudo -l -U titus

您可以将“titus”替换为您要检查的用户的用户名。

如果用户是 sudoer,您将得到与此接近的结果。

苏多尔
苏多尔

如果用户没有 sudo 权限,可能会出现错误“用户‘用户名’无法使用‘您的计算机名称’运行 sudo”

检查 sudo 组

当您创建 sudo 用户时,系统会自动将该用户分配到具有所选用户名的组中。例如,有一个名为“tk”的 sudo 用户。您可以使用此命令检查该用户是否属于某个组。

 groups tk

您可以将“tk”替换为您的用户名。

你会得到与此类似的东西。

须藤组
须藤组

如何删除sudo用户

在多种情况下,您可能想要删除 sudo 用户。例如,设置配置文件时出现问题,或者您创建的用户应该执行一次性任务。

您可以使用 GUI 或命令行从 Ubuntu 系统中删除用户。以下是使用命令行删除用户的方法:

  • 运行此命令:sudo deluser 用户名。在这里,将“用户名”替换为您要删除的个人资料。此方法会删除用户,但会留下用户文件。

其中一名用户 (kamunya) 已被删除

删除 sudo 用户
删除 sudo 用户

如果要删除用户文件,请运行以下命令:

 sudo deluser --remove-home username

就我而言,它看起来像这样:

 sudo deluser --remove-home kamunya

使用 sudoers 文件管理用户的最佳实践

  • 使用visudo命令:将 sudoer 添加到 sudoer 文件时始终使用visudo命令。完成后,检查是否有拼写错误,保存并退出编辑器。
  • 使用组:您可以在每次添加新用户时将个人添加到组中,而不是将个人添加为 sudo 用户。您可以创建不同的组,例如具有不同权限的“管理员”和“开发人员”。
  • 访问文档:记录您授予 sudo 权限的人员以及他们可以执行的操作。这样的做法让新员工在有变化时更容易选择。
  • 监控访问:密切关注您添加为 sudoers 的不同用户正在登录您的系统。频繁的审查还允许您根据需求的变化删除用户或更改权限。

结论

Ubuntu 是管理员和程序员最常用的操作系统之一。但是,您必须确保适当的用户在访问系统时具有适当的权限。

现在您了解了 sudoer 是什么以及将其添加到 Ubuntu 的不同方法。这些用户不再需要以完全访问权限登录系统,而是需要完成工作所需的有限权限。

您还可以查找一些作为系统管理员应该了解的 Linux 性能命令。