一,检查服务器是否已安装sudo的rpm包?

1,查询rpm包列表

[root@yjweb ~]# rpm -qa | grep sudo
libsss_sudo-2.0.0-43.el8_0.3.x86_64
sudo-1.8.25p1-4.el8.x86_64

2,如未安装,执行下面的命令安装:

[root@yjweb ~]# yum install sudo

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,在centos8上面添加sudoer用户的两种方法:

1,把用户账号添加到wheel组
2, 把用户账号添加到sudoers文件

三,新建用户webop

1,添加用户webop

[root@yjweb ~]# groupadd webop
[root@yjweb ~]# useradd -g webop webop
[root@yjweb ~]# ls /home/webop/
[root@yjweb ~]# grep webop /etc/passwd
webop:x:1000:1000::/home/webop:/bin/bash
[root@yjweb ~]# passwd webop

2,用webop通过ssh登录后,测试sudo

[webop@yjweb ~]$ sudo -i
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for webop:
webop is not in the sudoers file. This incident will be reported.

注意:因为webop没有被添加成为sudoer,所以系统给出报错

四,把用户webop添加wheel组,再次重新尝试sudo

1,把webop用户添加到wheel组

[root@yjweb ~]# usermod -aG wheel webop

关于参数-aG

       -a, --append
Add the user to the supplementary group(s). Use only with the -G option.

可以看到-a参数作用是:添加用户到基本的组,仅和 -G选项一起使用

       -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
A list of supplementary groups which the user is also a member of. Each group is separated from the next by a comma,
with no intervening whitespace. The groups are subject to the same restrictions as the group given with the -g option.
If the user is currently a member of a group which is not listed, the user will be removed from the group.
This behaviour can be changed via the -a option, which appends the user to the current supplementary group list.

-G参数指定用户所属的group

注意它指定group列表时是用逗号隔开

如果用户当前属于未被列出的组的成员,则用户会被从所属的那个group中移出。

如果搭配 -a选项,则仅会被添加,不会有移除的情况

2,查看当前用户所属的group

注意:修改用户所属的组之后,需要logout后再重新登录,才能看到效果

[webop@yjweb ~]$ groups
webop wheel

说明:可以看到 webop被添加到了wheel组

3,测试sudo

[webop@yjweb ~]$ sudo -i
[sudo] password for webop:
[root@yjweb ~]#

说明:成功的sudo到了root账户

五,为什么用户添加到wheel组后,就成为了sudoer?

[root@yjweb ~]# grep wheel /etc/sudoers
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL

说明:可以看到 wheel用户组是被配置为运行所有命令的sudoer

六, 把用户webop2添加/etc/sudoers文件,再次重新尝试sudo

说明;新建一个用户webop2,然后把用户添加到/etc/sudoers文件

1,用户添加到/etc/sudoers文件

[root@database2 ~]# visudo

添加一行:

webop2   ALL=(ALL)       ALL

说明:为什么要用 visudo?

查看/etc/sudoers的用户权限:

[root@database2 ~]# ll /etc/sudoers
-r--r----- 1 root root 4003 Mar 26 2015 /etc/sudoers

可以看到用户的权限是440,带来的问题就是它是一个只读的文件,

编辑它时需要先添加写权限,编辑完成后再改为只读,

这个过程很不方便 ,

而使用visudo则不存在这个问题

2,  /etc/sudoers 文件中的命令格式说明:

<user>      ALL=(ALL:ALL) NOPASSWD:ALL

说明:

<user>          用户名,如果前面加%则表示是一个group
ALL=(ALL:ALL) 三个ALL分别是: host 用户 组
NOPASSWD:ALL 执行的命令,ALL表示所有命令
NOPASSWD 表示系统不询问密码

七,看一下只允许指定用户执行指定命令的sudo例子:

[root@webserver1 cron]# grep mkdirchmod /etc/sudoers
laoliu ALL=(ALL) NOPASSWD:/usr/local/cmd/tools/mkdirchmod.sh

说明:允许laoliu这个用户sudo执行mkdirchmod.sh这个脚本,系统不询问密码

八,查看centos的版本:

[root@yjweb ~]# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)

centos8上添加sudoer用户的更多相关文章

  1. linux下批量添加新用户

    作为一个系统管理员,可能要经常的为机器添加用户,可能是在一台机器上添加很多用户,也有可能是在很多机器上要添加同一个用户. 基本上,批量添加用户有两种方式,一是用useradd + passwd命令配合 ...

  2. Ubuntu16.04上添加用户以及修改用户所属的组

    我的问题是这样的,我的本地的电脑上有一个用户以及一个用户组,我还想添加其他的用户,并且这个用户属于这个已有的用户组 <鸟哥的linux私房菜>针对的是centos系统,还是有一些不一样 实 ...

  3. 【译】Meteor 新手教程:在排行榜上添加新特性

    原文:http://danneu.com/posts/6-meteor-tutorial-for-fellow-noobs-adding-features-to-the-leaderboard-dem ...

  4. Linux添加/删除用户和用户组

    声明:现大部分文章为寻找问题时在网上相互转载,在此博客中做个记录,方便自己也方便有类似问题的朋友,故原出处已不好查到,如有侵权,请发邮件表明文章和原出处地址,我一定在文章中注明.谢谢. 本文总结了Li ...

  5. gerrit添加新用户

    默认gerrit的web服务端口为8080,通过apache的反向代理就可以使用标准的80(HTTP)来访问gerrit的web界面,在apache的配置文件httpd.conf添加如下反向代理和HT ...

  6. 在WPF控件上添加Windows窗口式调整大小行为

    起因 项目上需要对Canvas中的控件添加调整大小功能,即能在控件的四个角和四条边上可进行相应的拖动,类似Windows窗口那种.于是在参考以前同事写的代码基础上,完成了该功能. 代码实现 Adorn ...

  7. 命令行添加用户的“作为服务登录”权利(添加Windows用户的时候,门道不是一般的多)good

    1.打开控制台(“开始”|“运行”中输入:MMC) 2.“文件”菜单|“添加删除管理单元”|“添加...”|选“安全模板”|“关闭”. 3.在“C:\Windows\Security\template ...

  8. 在aws ec2上使用root用户登录

    aws ec2默认是使用ec2-user账号登陆的,对很多文件夹是没有权限的.如何使用root账号执行命令就是一个问题了.解决办法如下: 1.根据官网提供的方法登录连接到EC2服务器(官网推荐wind ...

  9. linux Grant 添加 MySql 用户

    Grant 添加 MySql 用户 2009-04-03 14:40 我安装的版本: mysql> select version();+------------+| version()   |+ ...

随机推荐

  1. 深入分析Linux内核链表

    1. 普通单链表 2. 内核链表 上图是本人从其他博客盗来的,差点被糊弄过去. 下图是本人自己用KeyNote画的(唉!!画图真的是让人心好累啊!!). 差异是不是很明显啊?! Read The Fu ...

  2. DNS递归解析和迭代解析

    DNS解析流程分为递归查询和迭代查询,递归查询是以本地名称服务器为中心查询, 递归查询是默认方式,迭代查询是以DNS客户端,也就是客户机器为中心查询.其实DNS客户端和本地名称服务器是递归,而本地名称 ...

  3. Spring基于XML的IOC环境搭建及入门

    一.使用Maven构建Java项目 * 项目目录结构 1. 在sun.service包下创建UserDao接口和接口实现类: UserDao接口: package sun.service; /** * ...

  4. vsCode 设置vue文件标签内的style智能提示

    VS Code 文件->首选项->设置 搜索:files.associations 点击在setting.json中编辑 最后一行添加配置: "files.association ...

  5. 一道JavaScript的二维数组求平均数的题

    JavaScript中只支持一维数组,但是可以在数组中嵌套数组来创建二维以至于多维的数组.今天下午在看书时候,发现一道感觉比较有意思的题,就是js中如何求二维数组的列之和和行之和,现在就给大家分享下, ...

  6. archaius(1) 概述

    archaius作为配置管理工具,内部主要定义了下几个模块: 配置源 配置源的主要功能是将配置从目标位置加载到内存中.详见:archaius源码分析之配置源 配置管理器 配置管理器的主要功能是管理内存 ...

  7. synchronized和lock的作用与对比

    一.synchronized的作用 synchronized是java中的一个关键字,用于线程同步.1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象 ...

  8. MATLAB中均值、方差、均方差的计算方法

    MATLAB中均值.方差.均方差的计算方法     1. 均值 数学定义: Matlab函数:mean >>X=[1,2,3] >>mean(X)=2 如果X是一个矩阵,则其均 ...

  9. 如何将炫酷的报表直接截图发送邮件——在Superset 0.37使用Schedule Email功能

    Superset的图表是非常炫酷的,但是原来的版本只能在web端查看,而最新的0.37版本,可以将图表截图直接发送成邮件,非常的方便. 本文将详细介绍Superset 0.37 定时邮件功能.安装过程 ...

  10. 和低效 IO 说再见,回头补一波 Java 7 的 NIO.2 特性

    其实在这之前已经写过一篇关于 Java 7 的新特性文章了,那篇文章主要介绍了 Java 7 的资源自动关闭.Switch String 实现原理.异常捕获 try-catch.新的二进制书写方式等, ...