专栏首页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”用户组。

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:https://www.itcoder.tech/复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

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

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

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

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

    雪梦科技
  • 如何在 Ubuntu 22.04 LTS 中添加、删除和授予用户 Sudo 权限

    本教程介绍如何在 Ubuntu Linux 操作系统中添加、删除和授予用户Sudo权限。

    网络技术联盟站
  • Linux 中不输入密码运行 sudo 命令的方法

    sudo命令允许受信任的用户作为另一个用户运行程序,默认情况下是root用户。如果您在命令行上花费了大量时间,那么sudo将会是您一直使用的命令之一。

    砸漏
  • 如何在Ubuntu 16.04上添加和删除用户

    您应该知道最基本任务之一是如何在新的Linux服务器上添加和删除用户。当您创建新系统时,您通常(例如在DigitalOcean Droplets上)默认情况下仅...

    一步
  • Ubuntu 常用命令

    1、查看Linux当前操作系统位数   sudo uname --m   如果显示 i686,你安装了32位操作系统   如果显示 x86_64,你安装了64位...

    随机来个数
  • 使用sudo时user is not in sudoers file的解决

    在Ubuntu下安装系统以后第一个创建的用户默认是在sudo用户组的,所以以sudo执行命令没有问题。

    卡尔曼和玻尔兹曼谁曼
  • linux中su与sudo的区别

    原文:https://tanjuntao.github.io/2020/05/23/Linux-%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%B...

    入门笔记
  • 树莓派环境配置,并在Ubuntu18.04上配置交叉编译环境

    由于权限问题,此时登录usr1用户后使用sudo命令会提示该用户不在sudoers文件中

    AnieaLanie
  • 被问 Linux 命令 su 和 sudo 的区别?当场蒙了!

    之前一直对 su 和 sudo 这两个命令犯迷糊,最近专门搜了这方面的资料,总算是把两者的关系以及用法搞清楚了,这篇文章来系统总结一下。

    程序IT圈
  • 面试 Java 被问 Linux 命令 su 和 sudo 的区别?

    之前一直对 su 和 sudo 这两个命令犯迷糊,最近专门搜了这方面的资料,总算是把两者的关系以及用法搞清楚了,这篇文章来系统总结一下。

    用户1516716
  • 面试被问Linux 命令 su 和 sudo 的区别?

    之前一直对 su 和 sudo 这两个命令犯迷糊,最近专门搜了这方面的资料,总算是把两者的关系以及用法搞清楚了,这篇文章来系统总结一下。

    猿天地
  • 被问 Linux 命令 su 和 sudo 的区别?当场吓尿了!

    之前一直对 su 和 sudo 这两个命令犯迷糊,最近专门搜了这方面的资料,总算是把两者的关系以及用法搞清楚了,这篇文章来系统总结一下。

    搜云库技术团队
  • Linux 命令 su 和 sudo 的区别

    之前一直对 su 和 sudo 这两个命令犯迷糊,最近专门搜了这方面的资料,总算是把两者的关系以及用法搞清楚了,这篇文章来系统总结一下。

    吾非同
  • Linux 命令 su 和 sudo 的区别?

    来自公众号:互联网架构师/来源:Jun Tao 地址:https://tanjuntao.github.io/

    互联网老辛
  • docker使用笔记

    基于镜像创建容器,容器在前台运行,将宿主机上 /home/think/work 目录映射为容器中的 /work 目录:

    叶余
  • Linux 命令 su 和 sudo 的区别

    Linux 中新建用户的命令是 useradd ,一般系统中这个命令对应的路径都在 PATH 环境变量里,如果直接输入 useradd 不管用的话,就用绝对路径...

    Vincent-yuan
  • 安全防范:服务器连接及权限处理

    安全防范:服务器连接及权限处理 1. 概述 直接使用密码去ssh登录服务器,容易被黑客使用密码字典暴力破解。所以开发人员要养成良好的安全习惯,从登录服务器开始:...

    用户1170933
  • 如何在Ubuntu上创建Sudo用户[快速入门]

    该sudo命令提供了一种机制,用于向普通用户授予通常仅对root用户可用的管理员权限。本指南将向您展示在Ubuntu上创建具有sudo访问权限的新用户的最简单方...

    吴凌云

扫码关注腾讯云开发者

领取腾讯云代金券