专栏首页ITCoder在 Ubuntu 中如何将用户添加到 Sudoers

在 Ubuntu 中如何将用户添加到 Sudoers

sudo是一个命令行程序,它允许被信任的用户以 root 或者其他用户身份去运行命令。

我们将会展示两种方式给用户进行 sudo 提权。第一种方式就是将用户添加到 sudoers 文件。这个文件包含了以下信息:

  • 控制哪些用户和用户组被授予 sudo 权限
  • sudo 权限级别

第二个选项就是将用户添加到在sudoers文件中的 sudo 用户组。默认情况下,基于 Debian 的发行版,例如 Ubuntu,Linux Mint,sudo 用户组的成员都拥有 sudo 权限。

一、将用户添加到 sudo 用户组

在 Ubuntu 上,最简单的授予一个用户 sudo 权限的方式就是将用户添加到“sudo”用户组。该组成员可以以 root 身份执行任何命令,并且在使用sudo命令,被提示时,使用他们自己的密码进行认证。

我们假定用户已经存在,如果你想要创建一个新用户,检查这篇指南

想要将用户添加到用户组,以 root 或者其他 sudo 用户身份运行下面的命令。确认你将“username”替换成你想要授权的用户名:

usermod -aG sudo username

通过这种方式授权 sudo 权限对大部分用户场景都很有效。

想要确保用户拥有 sudo 权限,运行whoami命令:

sudo whoami

你会被提示输入密码。如果用户有 sudo 权限,这个命令将会打印“root”:

root

如果你得到任何错误提示:“user is not in the sudoers file”,它代表这个用户没有 sudo 权限。

二、将用户添加到 sudoers 文件

用户和用户组的 sudo 权限被定义在文件/etc/sudoers文件。将一个用户添加到这个文件,允许你自定义访问命令以及配置自定义安全策略。

你可以通过修改 sudoers 文件或者在/etc/sudoers.d目录下创建配置文件来配置用户的 sudo 访问权限。目录下的所有文件都会被包含在 sudoers 文件中。

永远使用visudo来编辑/etc/sudoers文件。这个命令在保存文件时会检测文件的语法错误。如果有任何错误,文件就不会被保存。如果你使用一个文本编辑器编辑这个文件,一个语法错误,就可能导致你丢失 sudo 访问权限。

通常,visudo使用 vim 来打开/etc/sudoers文件。如果你没有用过 Vim,并且你想使用nano作为默认编辑器来编辑这个文件,运行:

EDITOR=nano visudo

比方说,你想允许用户在运行 sudo 命令时,不提示输入密码。想要这么做,你可以打开/etc/sudoers文件:

visudo

滚动到文件最后,并且添加下面的内容:

username  ALL=(ALL) NOPASSWD:ALL

保存文件,并且推出编辑器。不要忘记,将“username”修改成你想要授权的用户名。

还有一个典型的例子就是只允许用户通过 sudo 运行指定的命令。例如,想要只允许运行mkdirrmdir,你可以这样: /etc/sudoers

username ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/rmdir

与其直接编辑 sudo 文件,你还可以通过在/etc/sudoers.d文件夹下创建同样的文件来完成这个需求。像添加到 sudoer 文件一样,添加同样的规则:

echo "username  ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/username

这种方式会使得 sudo 权限管理更好维护。文件的名称并不重要。通常的做法就是,文件名和用户名一样。

三、总结

在 Ubuntu 上授权用户 sudo 权限很简单,你只需要将用户添加到“sudo”用户组。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 在 Debian 中如何将用户添加到 Sudoers

    sudo是一个命令行工具,它允许被信任用户以另外一个用户身份运行命令,默认是 root 用户。

    雪梦科技
  • 在 CentOS 上如何将用户添加到 Sudoers

    sudo是一个命令行工具,它被设计为允许用户以其他用户(默认是 root 用户)身份去运行命令。

    雪梦科技
  • 如何在 CentOS 8 上增加 Swap 空间

    Swap(交换内存)是硬盘上的一个空间,当物理内存耗尽,交换内存就会被使用。当一个 Linux 系统内存不足时,不活跃的内存页,将会被从 RAM 空间 移动到 ...

    雪梦科技
  • 在 Debian 中如何将用户添加到 Sudoers

    sudo是一个命令行工具,它允许被信任用户以另外一个用户身份运行命令,默认是 root 用户。

    雪梦科技
  • 使用 Envoy 部署 Laravel 项目

    我们的项目是基于 Git 托管,每次部署项目的时候都是登录服务器手动拉取,感觉很繁琐。

    hedeqiang
  • 在 CentOS 上如何将用户添加到 Sudoers

    sudo是一个命令行工具,它被设计为允许用户以其他用户(默认是 root 用户)身份去运行命令。

    雪梦科技
  • sudo-snooper:一款伪装成sudo命令的“蜜罐”脚本

    sudo-snooper是一款伪装成sudo命令的“蜜罐”脚本,可以帮助渗透测试人员进行系统密码的获取。 安装步骤 Option 1:在原生sodu的安装位置安...

    FB客服
  • 高危漏洞!黑客可利用sudo获得 root权限

    最近,sudo官网爆出目前sudo工具的一个高危漏洞,漏洞编号为:CVE-2019-18634,黑客可通过工具获得Linux的root权限(root具有Linu...

    民工哥
  • sudo命令使用的几个场景

    在linux系统下,普通用户无法直接执行root用户权限下的命令,如果想让普通用户执行只有root用户才能执行的操作命令。 下面罗列下经常使用sudo命令的几个...

    洗尽了浮华
  • 分享两个sudo token的使用技巧

    我们在进行技术研究的过程中,发现有些时候sudo并不会要求我们输入密码,因为它“记得”我们。那么它为什么会“记得”我们呢?它怎么识别我们的身份呢?我们能伪造自己...

    FB客服

扫码关注云+社区

领取腾讯云代金券