专栏首页ITCoder在 CentOS 上如何将用户添加到 Sudoers

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

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

你有两个选项可以赋予一个用户 sudo 权限。第一个就是将用户添加到 sudoers 文件。这个文件包含了一些信息,这些信息定义了哪个用户和哪个用户组被授予了 sudo 权限,以及权限的级别。

第二个选项就是将用户添加到 sudo 用户组(定义在sudoers文件中)。默认情况下,在基于 RedHat 的发行版中,例如 CentOS 和 Fedora 中,wheel用户组成员被授予 sudo 权限。

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

在 CentOS 系统上授予一个用户 sudo 权限的最容易的方式就是,将该用户添加到wheel用户组。所有这个用户组的成员,都能够通过sudo命令,输入自己的用户密码后,运行所有的命令。

我们假定用户已经存在。如果你想创建一个新用户,你可以参考这个指南:https://linuxize.com/post/how-to-add-and-delete-users-on-centos-7/

想要将用户添加到用户组,以 root 或者其他 sudo 用户身份运行下面的命令。修改用户名username为你想要授权的用户的用户名。

usermod -aG wheel 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 文件。

想要编辑/etc/sudoers文件,使用visudo命令。这个命令在保存文件时,会检查文件是否有语法错误。如果有任何错误,这个文件不会被保存。如果你使用一个文本编辑器打开这个文件,一个语法错误,可能导致用户无法使用 sudo。

通常的,visudo 使用 vim 去打开/etc/sudoers。如果你不想使用 Vim 并且你想使用 nano 编辑这个文件,输入:

EDITOR=nano visudo

如果你想允许用户在运行 sudo 命令的时候,不被提示输入密码。打开/etc/sudoers文件:

visudo

滚动到文件最后面,添加下面的行:

username  ALL=(ALL) NOPASSWD:ALL

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

另外一个常用的例子,是允许用户仅仅能运行指定命令。例如,仅仅允许用户使用duping命令,你可以这样用: /etc/sudoers

username ALL=(ALL) NOPASSWD:/usr/bin/du,/usr/bin/ping

你可以不编辑 sudoer 文件,而在/etc/sudoers.d文件夹下创建新文件来做同样的事情。运行下面的命令:

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

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

三、总结

授予一个用户 sudo 权限很简单,你只需要将用户添加到wheel用户组。

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

我来说两句

0 条评论
登录 后参与评论

相关文章

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

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

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

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

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

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

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

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

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

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

    雪梦科技
  • 经典面试题-什么是控制反转(IOC)?什么是依赖注入(DI)?

    控制反转是应用于软件工程领域中的,在运行时被装配器对象来绑定耦合对象的一种编程技巧,对象之间耦合关系在编译时通常是未知的。在传统的编程方式中,业务逻辑的流程是由...

    cwl_java
  • Fedora28正式版发布:GNOME 3.28使用更优雅

    深受Linux之父 — Linus Torvalds 青睐的 GNU/Linux 发行版 – Fedora 于今天发布了 28.0 正式版。Fedora 28 ...

    Debian社区
  • sudo-snooper:一款伪装成sudo命令的“蜜罐”脚本

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

    FB客服
  • Shell(四)从zcat谈“流”和文件描述符

    如果有一个很大的压缩文件data.txt.gz,你要计算其第三列的平均值,可以这样做:

    一只羊
  • React + webpack 开发单页面应用简明中文文档教程(三)目录说明以及调整项目构架文件

    版权声明:本文为 FengCms FungLeo 原创文章,允许转载,但转载必须注明出处并附带首发链接 ...

    FungLeo

扫码关注云+社区

领取腾讯云代金券