sudoers 用户权限配置_使用sudo让普通用户获取root用户的权限

0d7cf21bf4acbbbe8b02d2d56904776c.gif

sudo 是 Linux 系统管理指令,是允许系统管理员让普通用户执行一些或者全部的 root 命令的一个工具,如 halt,reboot,su 等等。这样不仅减少了 root 用户的登录 和管理时间,同样也提高了安全性。sudo不是对 shell 的一个代替,它是面向每个命令的。sudo 的特点
  • 限制用户执行指定的命令
  • 记录用户执行的每一条命令
  • 配置文件(/etc/sudoers)提供集中的用户管理、权限与主机等参数
  • 验证密码的后5分钟内(默认值)无须再让用户再次验证密码
实战演练环境:Red Hat Enterprise Linux Server release 7.31. 测试普通用户能否删除 root 用户创建的文件
[root@localhost ~]# mkdir /test[root@localhost ~]# cd /test[root@localhost test]# touch test.txt[root@localhost test]# mkdir test.dir[root@localhost test]# lltotal 0drwxr-xr-x. 2 root root 6 Jul 18 02:19 test.dir-rw-r--r--. 1 root root 0 Jul 18 02:19 test.txt[root@localhost test]# id testuid=1004(test) gid=1005(test) groups=1005(test)[root@localhost test]# su - testLast login: Thu Jul 18 02:17:11 EDT 2019 on pts/0[test@localhost ~]$ cd /test[test@localhost test]$ lltotal 0drwxr-xr-x. 2 root root 6 Jul 18 02:19 test.dir-rw-r--r--. 1 root root 0 Jul 18 02:19 test.txt[test@localhost test]$ rm -rf test.dir/rm: cannot remove ‘test.dir/’: Permission denied[test@localhost test]$ rm -rf test.txt rm: cannot remove ‘test.txt’: Permission denied[test@localhost test]$ lltotal 0drwxr-xr-x. 2 root root 6 Jul 18 02:19 test.dir-rw-r--r--. 1 root root 0 Jul 18 02:19 test.txt
2. 用 visudo 命令配置 sudo
[root@localhost ~]# visudo# 在 /etc/sudoers 配置文件中 root    ALL=(ALL)       ALL 这一行下面加入 test    ALL=(ALL)       ALL[root@localhost ~]# cat /etc/sudoers | grep ALLDefaults    env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"root    ALL=(ALL)       ALLtest    ALL=(ALL)       ALL# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS%wheel  ALL=(ALL)       ALL# %wheel        ALL=(ALL)       NOPASSWD: ALL%wheel  ALL=(ALL)       NOPASSWD: ALL# %users  ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom
3. 普通用户结合 sudo 删除 root 用户的文件
[root@localhost ~]# echo "Jaking" | passwd --stdin testChanging password for user test.passwd: all authentication tokens updated successfully.[root@localhost ~]# su - testLast login: Thu Jul 18 02:34:50 EDT 2019 on pts/0[test@localhost ~]$ cd /test/[test@localhost test]$ lltotal 0drwxr-xr-x. 2 root root 6 Jul 18 02:19 test.dir-rw-r--r--. 1 root root 0 Jul 18 02:19 test.txt[test@localhost test]$ rm -rf test.dir/rm: cannot remove ‘test.dir/’: Permission denied[test@localhost test]$ rm -rf test.txt rm: cannot remove ‘test.txt’: Permission denied[test@localhost test]$ sudo rm -rf test.dir/[sudo] password for test: [test@localhost test]$ lltotal 0-rw-r--r--. 1 root root 0 Jul 18 02:19 test.txt[test@localhost test]$ sudo rm -rf test.txt [test@localhost test]$ lltotal 0
4. sudo 免密配置
[test@localhost test]$ sudo cat /etc/shadow[sudo] password for test: root:$6$YZrm6scxO5zzICbR$fOzORb.0Ib9POZzJmrnzOGDqfFySp8X.9p5QpcpnJXWHIJvZcFpXQONyNigwrZbhXtyfnFn5F1mJsdkXS3jEF/::0:99999:7:::bin:*:16925:0:99999:7:::daemon:*:16925:0:99999:7:::adm:*:16925:0:99999:7:::***省略部分输出信息***[test@localhost test]$ id test2uid=1006(test2) gid=1007(test2) groups=1007(test2)[root@localhost ~]# visudo# 在 /etc/sudoers 配置文件中 %wheel  ALL=(ALL)       NOPASSWD: ALL 这一行的下面 加入test ALL=(ALL)       NOPASSWD: ALL[root@localhost ~]# cat /etc/sudoers | grep NOPASSWD# %wheel        ALL=(ALL)       NOPASSWD: ALL%wheel  ALL=(ALL)       NOPASSWD: ALLtest ALL=(ALL)       NOPASSWD: ALL[test@localhost ~]$ sudo cat /etc/shadow# 用普通用户查看 /etc/shadow 文件已经不需要再输入当前登录用户的密码root:$6$YZrm6scxO5zzICbR$fOzORb.0Ib9POZzJmrnzOGDqfFySp8X.9p5QpcpnJXWHIJvZcFpXQONyNigwrZbhXtyfnFn5F1mJsdkXS3jEF/::0:99999:7:::bin:*:16925:0:99999:7:::daemon:*:16925:0:99999:7:::adm:*:16925:0:99999:7:::***省略部分输出信息***
5. 配置 sudo 的部分权限
[root@localhost ~]# cd /tmp[root@localhost tmp]# rm -rf *[root@localhost tmp]# lltotal 0[root@localhost tmp]# touch file[root@localhost tmp]# mkdir dir[root@localhost tmp]# lltotal 0drwxr-xr-x. 2 root root 6 Jul 18 03:01 dir-rw-r--r--. 1 root root 0 Jul 18 03:01 file[root@localhost tmp]# whereis catcat: /usr/bin/cat /usr/share/man/man1/cat.1.gz[root@localhost tmp]# visudo# 把 /etc/sudoers 配置文件中的 test    ALL=(ALL)       ALL 改为 test    ALL=(ALL)       /usr/bin/cat[root@localhost ~]# cat /etc/sudoers | grep cat## Updating the locate database# Defaults specification# Preserving HOME has security implications since many programstest    ALL=(ALL)       /usr/bin/cat[root@localhost ~]# su - testLast login: Thu Jul 18 03:06:55 EDT 2019 on pts/0[test@localhost ~]$ sudo cat /etc/shadow# 给 test 用户配置了查看权限root:$6$YZrm6scxO5zzICbR$fOzORb.0Ib9POZzJmrnzOGDqfFySp8X.9p5QpcpnJXWHIJvZcFpXQONyNigwrZbhXtyfnFn5F1mJsdkXS3jEF/::0:99999:7:::bin:*:16925:0:99999:7:::daemon:*:16925:0:99999:7:::adm:*:16925:0:99999:7:::***省略部分输出信息***[test@localhost ~]$ cd /tmp[test@localhost tmp]$ lltotal 0drwxr-xr-x. 2 root root 6 Jul 18 03:06 dir-rw-r--r--. 1 root root 0 Jul 18 03:01 file[test@localhost tmp]$ rm -rf dir# test 用户已经没有了删除权限rm: cannot remove ‘dir’: Permission denied[test@localhost tmp]$ rm -rf file # test 用户已经没有了删除权限rm: cannot remove ‘file’: Permission denied[test@localhost tmp]$ lltotal 0drwxr-xr-x. 2 root root 6 Jul 18 03:06 dir-rw-r--r--. 1 root root 0 Jul 18 03:01 file
让您学习到的每一节课都有所收获

《Linux就该这么学》是一本由资深运维专家刘遄老师及国内多名红帽架构师(RHCA)基于最新RHEL7系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材。荣获双11、双12购物狂欢节IT品类书籍销量冠军,2017年、2018年国内读者增速最快的技术书籍,您可以在京东、当当、亚马逊及天猫搜索书名后购买,亦可加刘遄老师微信交流学习(手指按住下图3秒钟即可自动扫描)~

bfd362358fe4c36540a270be6cd64e10.png

刘遄老师QQ:5604922

☀ Linux技术交流群:2265381(新群,火热加群中……)

☀ 官方站点:www.linuxprobe.com

☀ 书籍在线学习(电脑在线阅读效果更佳)

http://www.linuxprobe.com/chapter-00.html

《Linux就该这么学》是一本基于最新Linux系统编写,面向零基础读者的技术书籍。从Linux基础知识讲起,然后渐进式地提高内容难度,详细讲解Linux系统中各种服务的工作原理和配置方式,以匹配真实生产环境对运维人员的要求,突显内容的实用性。想要学习Linux系统的读者可以点击按钮了解这本书,同时这本书也适合专业的运维人员阅读,作为一本非常有参考价值的工具书!

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

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

相关文章

Spring Boot –使用执行器端点在运行时配置日志级别

从Spring Boot 1.5开始&#xff0c;新的loggers器执行器端点允许在运行时查看和更改应用程序记录级别。 将spring-boot-actuator添加到您的项目 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator&…

Python学习教程:Python增强赋值及共享引用注意事项

Python学习教程&#xff1a;Python增强赋值及共享引用注意事项 概述 Python中的增强赋值是从C语言中借鉴出来的&#xff0c;所以这些格式的用法大多和C一致&#xff0c;本身就是对表达式的简写&#xff0c;即二元表达式和赋值语句的结合&#xff0c;比如a b 和a a b 就是一致…

python math.sinh_Python numpy.sinh()用法及代码示例

numpy.sinh(x [&#xff0c;out]) ufuncsin)&#xff1a;此数学函数可帮助用户计算所有x(作为数组元素)的双曲正弦值。等效于1/2 *(np.exp(x)-np.exp(-x))或-1j * np.sin(1j * x)。参数&#xff1a;array :[数组]元素以弧度为单位。2pi弧度 36o度返回&#xff1a;对于所有x即数…

中国大学MOOC-陈越、何钦铭-数据结构-2019春期末考试(题目+部分解答)

欢迎评论&#xff08;指正或是询问都可&#xff09;&#xff0c;谢谢大家 一、判断题 思路很正常的题目。 1-4反例&#xff1a;4个顶点只用3条边就可以做到全连通。所以边数可能等于顶点个数减一。错误。 二、选择题 2-8需要细心的做一下双旋操作&#xff0c; 2-12 C 设数字 {…

分析java 线程占用内存_Java线程:保留的内存分析

分析java 线程占用内存本文将为您提供一个教程&#xff0c;使您可以确定活动应用程序Java线程中保留了多少Java堆空间 。 将提供来自Oracle Weblogic 10.0生产环境的真实案例研究&#xff0c;以使您更好地理解分析过程。 我们还将尝试证明过多的垃圾回收或Java堆空间的内存占用…

图像傅里叶变换

1傅里叶变换物理意义 图像的频率是表征图像中灰度变化剧烈程度的指标&#xff0c;是灰度在平面空间上的梯度。如&#xff1a;大面积的沙漠在图像中是一片灰度变化缓慢的区域&#xff0c;对应的频率值很低&#xff1b;而对于地表属性变换剧烈的边缘区域在图像中是一片灰度变化剧…

python获取涨停股票_今日股市光大证券

一、查询股票账户的总盈亏的方法如下&#xff1a;1、查询你的银行银证转账记录&#xff0c;用转进的资金总额减去转出的资金总额&#xff0c;再和你现在的证券账户市值比较&#xff0c;即可得出盈亏。2、联系你的开户券商&#xff0c;通过柜面进行轧差查询资金进出情况&#xf…

MVC web api 返回JSON的几种方式,Newtonsoft.Json序列化日期时间去T的几种方式

MVC web api 返回JSON的几种方式&#xff0c;Newtonsoft.Json序列化日期时间去T的几种方式 2015-01-18 00:11 https://www.muhanxue.com/essays/2015/01/8623699.html MVC web api 返回JSON的几种方式 1、在 WebApiConfig的 Register中加入以下代码 config.Formatters.JsonForm…

从微服务到分布式系统-Java开发人员生存指南

感觉像是对微服务的炒作正在慢慢地落到实处&#xff0c;并且我们的行业开始意识到&#xff0c;仅通过在现有组件之上公开一些HTTP接口就无法轻松创建根据微服务背后的体系结构范式的系统。 我们似乎确实同意必须进行服务优化的基础架构&#xff0c;文化和组织变革&#xff0c;最…

timespan怎么比较大小_钻石吊坠回收怎么选择大小?

钻石吊坠也是比较常见的钻饰&#xff0c;和钻戒不同的是&#xff0c;钻石吊坠并不是必须要买的珠宝&#xff0c;但作为点缀全身的装饰&#xff0c;钻石吊坠的大小问题也让大家很是关注&#xff0c;钻石吊坠回收怎么选择大小&#xff1f;一般我们会把钻石从10分算起(10分以下的钻…

图像边缘算子

&#xff08;1&#xff09;常见边缘检测算子&#xff1a;Roberts 、Sobel 、Prewitt、Laplacian、Log/Marr、Canny、Kirsch、Nevitia &#xff08;2&#xff09; 其中一阶边缘算子&#xff1a;Roberts 、Sobel 、Prewitt、Kirsch。 其中二阶边缘算子&#xff1a;Laplacian、Log…

python使用telnet远程连接linux系统读取信息_Linux服务笔记之一:Telnet 远程登录

最近&#xff0c;在学习Linux服务器中的搭建&#xff0c;感觉上非常强大。下面&#xff0c;我写下在Linux下搭建Telnet服务来远程管理设备&#xff0d;&#xff0d;这也是一种古老的远程管理方 式这一。其中&#xff0c;Telnet服务也是基于C/S模式的。客户端用Telnet远程登录协…

团队作业(五):冲刺总结

团队作业&#xff08;五&#xff09;&#xff1a;冲刺总结 转载于:https://www.cnblogs.com/20175226wpy/p/10964911.html

matlab 判断对象的数据类型isa()

K isa(obj, class_name) 判断obj是否为class_name类型。如果是&#xff0c;返回逻辑1&#xff08;真&#xff09;&#xff1b;如果不是&#xff0c;返回逻辑0&#xff08;假&#xff09;。 参量obj是一个MATLAB对象或者Java对象。参量class_name是MATLAB&#xff08;预定义的…

使用Oracle Data Integrator(和Kafka / MapR流)完善Lambda体系结构

“ Lambda体系结构是一种数据处理体系结构&#xff0c;旨在通过利用批处理和流处理方法来处理大量数据。 这种体系结构方法试图通过使用批处理提供批处理数据的全面而准确的视图&#xff0c;同时使用实时流处理提供在线数据的视图来平衡延迟 &#xff0c; 吞吐量和容错能力 。 …

matlab regionprops区域属性信息

stats regionprops(L,properties) 返回的stats为一个结构体struct 测量标注矩阵L中每一个标注区域的一系列属性。L中不同的正整数元素对应不同的区域&#xff0c;例如&#xff1a;L中等于整数1的元素对应区域1&#xff1b;L中等于整数2的元素对应区域2&#xff1b;以此类推。…

python3虚拟环境使用教程_python虚拟环境完美部署教程

一、前言预处理建议仔细看完本文章之后在进行操作&#xff0c;避免失误&#xff0c;本环境可以用于生产环境&#xff0c;有利于生产环境python之间的环境隔离&#xff0c;互相不会产生环境冲突&#xff1b;pyenv和pyenv-virtualenv可以完美结合使用&#xff0c;具体使用情况看项…

yandexbot ip列表整理做俄罗斯市场的站长可以关注一下

这段时间ytkah在负责一个客户的网站&#xff0c;主要做俄罗斯市场&#xff0c;当然是要研究Yandex了&#xff0c;首先是要知道yandexbot的ip有哪些&#xff0c;本文通过分析这个站从2018.12.02到2019.05.21这段时间产生的网站log日志得出的结果&#xff0c;log日志文件1.3G&…

为什么闲鱼不能搜索python_Python 分析后告诉你闲鱼上哪些商品抢手?

前言文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。作者&#xff1a;【Airpython】PS&#xff1a;如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun准 备 工 作在编写代码…

matlab imfill孔洞填充

BW2 imfill(BW) 作用填充二值图像BW中的空洞 clear all; clc; close all; img imread(test1.png); if ndims(img)3 img rgb2gray(img); end img_bw im2bw(img); img_fill imfill(img_bw, holes); figure; subplot(1,2,1),imshow(img_bw), title(有空洞的图像); s…