visudo配置sudo权限

news2024/9/20 4:24:11

visudo配置sudo权限

    • 配置visudo
      • 仅允许字符终端登陆(tty)--授权localhost
      • 允许图形和tty登陆--授权all
      • 用户组提权-示例配置
    • 在`sudoers.d`目录下创建授权文件--`推荐`
      • 五段式配置
      • 三段式配置
    • 检查sudoers配置是否有误
    • 如何在sudo`运行的命令中`防止`使用参数`
      • 结果验证

配置visudo

https://blog.51cto.com/chenfage/1830424
在这里插入图片描述
在大约99行添加配置信息
第一段 表示允许提权的用户
第二段 ALL=(ALL) 这里第一个ALL可以指定主机来源,参数有localhostIP地址,ALL
第三段 允许放行的命令(绝对路径),多个命令可以用逗号(,)隔开

例如:

# 允许lisi用户通过sudo 执行poweroff命令
## 没有NOPASSWD:表示要输入密码
lisi  ALL=(ALL)  /usr/sbin/poweroff
代授权的用户或组来源机器= (授权角色)是否免密码:可以执行的命令
lisiALL= (ALL)/usr/sbin/poweroff

仅允许字符终端登陆(tty)–授权localhost

非ssh可执行的命令

# 用户名 本地登陆用localhost=命令绝对路径
## 没有NOPASSWD:表示要输入密码
## user1用户允许localhost登录,能通过sudo 运行yum命令,需要输入密码
user1 localhost=/usr/bin/yum
代授权的用户或组来源机器=(授权角色)可以执行的命令免密码
zhangsanlocalhost=/usr/bin/yum

允许图形和tty登陆–授权all

ssh和localhost登录都可以执行

# 用户名  要执行的命令		免密码
## user1用户允许本地和ssh登录,能通过sudo允许yum命令不需要输入密码
user1 ALL=/usr/bin/yum NOPASSWD: ALL
代授权的用户或组来源机器=(授权角色)可以执行的命令免密码
user1ALL=/usr/bin/yumNOPASSWD: ALL

用户组提权-示例配置

用户组提权配置只需要在用户组前加上%

# %组名	ALL=(主机来源)	命令绝对路径
%gourp 	ALL=(ALL)		/usr/bin/yum
%组名来源机器=(授权角色)可以执行的命令免密码
%sudoALL=(ALL)/usr/bin/yumNOPASSWD: ALL

sudoers.d目录下创建授权文件–推荐

sudoers.d目录下文件权限一定要0440

# sudoers.d目录下文件设为0440
chmod 0440 /etc/sudoers.d/*

示例:

# 创建hadoop用户
## -d 指定用户登入时的起始目录
## -m 自动创建用户的登入目录
sudo useradd -d /home/hadoop -m hadoop

# 配置hadoop用户的权限
echo "hadoop ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/hadoop

# 配置hadoop的sudo配置文件权限
sudo chmod 0440 /etc/sudoers.d/hadoop
代授权的用户或组来源机器= (授权角色)免密码:可以执行的命令
hadoopALL = (root)NOPASSWD: ALL

五段式配置

# 给devops创建授权文件,设置文件权限0400
cd /etc/sudoers.d && touch devops && chmod 0440 devops && vim devops

# 将配置文件添加到devops文件中,当执行sudo updatedb命令时免密码
devops ALL=(ALL) NOPASSWD:/usr/bin/updatedb
代授权的用户或组来源机器=(授权角色)可以执行的命令免密码
devopsALL=(ALL)/usr/bin/updatedbNOPASSWD: /usr/bin/updatedb

第一段: 表示允许提权的用户,%sudo代表sudo组
第二段: ALL=(ALL) 这里第一个ALL可以指定主机来源,参数有localhostIP地址,ALL
第三段:表示sudo可以切换到什么用户。ALL表示所有用户
第四段:表示sudo可以切换到哪些组下的用户。ALL表示所有组
第五段:表示sudo之后能够执行的命令(绝对路径)。NOPASSWD:ALL表示执行任意命令都不需要密码

代授权的用户或组来源机器=(授权角色)可以执行的命令免密码
devopsALL=(ALL)NOPASSWD: ALL

三段式配置

第一段: 表示允许提权的用户,%sudo代表sudo组
第二段: ALL=(ALL) 这里第一个ALL可以指定主机来源,参数有localhostIP地址,ALL
第三段: 允许放行的命令(绝对路径),多个命令可以用逗号(,)隔开

# 允许执行所有sudo命令不需要输入密码
devuser ALL=(ALL) NOPASSWD:ALL
代授权的用户或组来源机器= (授权角色)免密码:可以执行的命令
devopsALL= (ALL)NOPASSWD: ALL

检查sudoers配置是否有误

https://www.linuxcool.com/visudo

# 检查文件格式是否有误
visudo -c /etc/sudoers.d/devops

在这里插入图片描述

# 严格检查sudoers文件
visudo -s

如何在sudo运行的命令中防止使用参数

参考: https://linux.cn/article-15106-1.html

visudoroot用户身份编辑/etc/sudoers文件.
命令行后添加 ""防止使用参数

# 命令行后添加 ""防止使用参数
user1   ALL=(root)      /usr/bin/ls ""

# 用户设为ALL命令行后添加 ""防止使用参数
ALL   ALL=(root)      /usr/bin/ls ""
代授权的用户或组来源机器= (授权角色)免密码:可以执行的命令
user1ALL = (root)/usr/bin/ls “”

在这里插入图片描述


结果验证

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/182666.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构】8.2 插入排序

文章目录前言1. 直接插入排序直接插入排序算法直接插入排序性能分析2. 折半插入排序3. 希尔排序希尔排序算法希尔排序算法分析排序方法比较前言 类似于俺们打牌时的插入,每抓来一张牌的时候,就将它放在合适的位置上,插入一张牌之后手里的牌仍…

MQ相关概念

1) 队列管理器 队列管理器是MQ系统中最上层的一个概念,由它为我们提供基于队列的消息服务。 2) 消息 在MQ中,我们把应用程序交由MQ传输的数据定义为消息,我们可以定义消息的内容并对消息进行广义的理解,比如:用户的各种…

JavaWeb-FilterListener

JavaWeb-Filter&Listener 1,Filter 1.1 Filter概述 Filter 表示过滤器,是 JavaWeb 三大组件(Servlet、Filter、Listener)之一。 过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。 如下图所示,浏览器可以访问服…

JAVA性能统计项目

一、项目背景:我们希望设计开发一个小的框架,能够获取接口调用的各种统计信息,比如,响应时间的最大值(max)、最小值(min)、平均值(avg)、百分位值&#xff08…

力扣OJ(2000+)

目录 2032. 至少在两个数组中出现的值 2037. 使每位学生都有座位的最少移动次数 2042. 检查句子中的数字是否递增 2097. 合法重新排列数对 2180. 统计各位数字之和为偶数的整数个数 2185. 统计包含给定前缀的字符串 2283. 判断一个数的数字计数是否等于数位的值 2287. …

基于MBD 的软件品质保证技术

基于MBD的软件是什么? 基于MBD的软件是基于模型开发的软件,主要应用于汽车、电子电气、机器人、航空、航天等行业。 ​​​ 与使用现有代码开发程序的方法不同,MBD 方法包括首先开发模型,将模型转换为代码,然后基于转换…

Ansys Speos | 2023R1 动态仿真助力车灯早期优化

前言 光学仿真是产品设计师应用的关键工具之一,能让用户在制作物理原型之前就通过数字环境体验产品。这对汽车领域来说显得尤为重要,随着汽车照明功能(如转向指示灯)越来越生动,TIER-1 需要能够在样件前,通…

Mac安装android studio

1. 下载as 下载地址 2. 安装 3. 启动软件 4.创建新项目 选择空白活动 名字为FirstApp,语言选择java 等待项目加载完毕 项目加载完毕 5.创建设备 6. 启动项目

【28】C语言 | 关于指针练习(1)

目录 1、下列输出什么 2、计算求和 3、使用指针打印数组内容 4、打印水仙花数 5、写一个函数,可以逆序一个字符串的内容 6、题目名称:打印菱形 6、喝汽水 7、猜名次 8、下列关于整形数组输出什么并解释 9、下列关于字符数组输出什么并解释 9.1 下列关于字…

【C++详解】——初识STL(string类的使用)

📖 前言:STL(standard template libaray-标准模板库):是C标准库的重要组成部分,不仅是一个可复用的组件库,而且一个包罗数据结构与算法的软件框架。 目录🕒 1. string 概述🕒 2. 标准库中的stri…

【小程序 | 黑马优选】tabBar、首页制作

文章目录tabBar制作首页制作配置网络请求制作轮播图效果渲染轮播图的UI解构配置小程序分包点击轮播图跳转到商品详情页面封装 uni.$showMsg() 方法分类导航区制作楼层区域制作tabBar制作 在 pages 目录中,创建首页(home)、分类(cate)、购物车(cart)、我的(my) 这 4…

windows下zookeeper搭建

程序包下载 官网下载地址 下载解压后如下! 注意,zookeeper需要java环境,如果配置了JAVA_HOME那最好,如果没配置就会出现点击bin下的zkServer.cmd后CMD窗口一闪而过 修改配置 如果本地端口没有特别要求可以直接复制conf下的zo…

多臂PEG衍生物8-Arm PEG-SAA,8-Arm PEG-Succinamide Acid,八臂PEG丁二酸酰胺

一:产品描述 1、名称 英文:8-Arm PEG-SAA,8-Arm PEG-Succinamide Acid 中文:八臂-聚乙二醇-丁二酸酰胺 2、CAS编号:N/A 3、所属分类:Carboxylic acid PEG Multi-arm PEGs 4、分子量:可定制…

IDEA新建js项目(hello)和执行js脚本

一)、安装Node.js具体操作参考:https://blog.csdn.net/xijinno1/article/details/128774375二)、IDEA中新建js项目(hello world)1.按照下图,新建js项目2.选中示例代码文件后点击鼠标右键,选中菜单栏中的 运行* 栏目运行代码(第一次运行代码的方式)3.若是…

【版本控制】Git快速上手

Do you know what Git is? 一.引入 (1) 作用 Git 是一个分布式版本控制系统,主要是用于管理开发过程中的源代码文件(Java类,xml文件,html页面等)。可用于代码回溯,版本切换,多人协作…

AcWing 292. 炮兵阵地(状态压缩DP)

AcWing 292. 炮兵阵地(状态压缩DP)一、题目二、思路1、分析2、状态表示3、状态转移4、循环设计5、初末状态三、代码一、题目 二、思路 1、分析 这道题的话和我们之前讲解的AcWing 327. 玉米田(状态压缩DP)和AcWing 1064. 小国王…

Jenkins环境搭建与实战

Jenkins环境搭建与实战1、Jenkins2、GItLab的安装2.1、安装依赖2.1.1、CentOS8安装报错2.1.2、找不到对应包安装报错2.2、配置镜像2.3、安装gitlab3、安装Jenkins4、Maven安装4.1、出现报错 The JAVA_HOME environment variable is not defined correctly的错误5、Jenkins 通过…

SWIFT Framework .NET 2023

SWIFT Framework .NET 2023 Latest 2023 specification messages.Improves parsing..NET Framework 4.8 release.Performance updates.Improves handling of special characters. SWIFT Framework.NET是一个用于在组织信息系统基础架构中捕获、验证和处理SWIFT消息的系统。SWI…

3.5主存储器与CPU的连接

文章目录一、引子二、单块存储芯片与CPU的连接三、多块存储芯片与CPU的连接1.现代计算机2.命名3.增加主存的存储字长--位扩展(1)单块(2)多块4.增加主存的存储字数--字扩展(1)单块(2)…

19行列式公式和代数余子式

行列式公式 学习了关于行列式的这么多性质,现在我们有能力推导二阶行列式公式了: 观察上面的推导过程,不难发现,行列式的值等于使用性质3.b 分解后所得的那些非零行列式的和,所谓的非零行列式也即该行列式各行各列都…