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秒钟即可自动扫描)~

刘遄老师QQ:5604922

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

☀ 官方站点:www.linuxprobe.com

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

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

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

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

  1. Linux安装svn服务器和权限配置_亲测成功

    Linux安装svn服务器和权限配置_亲测成功 SVN简介 SVN是Subversion的简称,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目 ...

  2. 启动hfds文件系统,普通用户查看不到jps中的服务进程,但是root用户可以【该问题已经解决】

    #启动hfds文件系统,普通用户查看不到jps中的服务进程,但是root用户可以[该问题已经解决] 在将所有的配置信息写好之后(core-site.xml\hdfs-site.xml等等),对 Nam ...

  3. 您的应用审核未通过,在用户同意隐私政策前,您的应用获取了用户的ANDROID ID

    您的应用审核未通过.在用户同意隐私政策前,您的应用获取了用户的ANDROID ID,不符合华为应用市场审核标准.修改建议:请在用户同意隐私政策后,再申请获取用户个人信息及权限.请参考<审核指南& ...

  4. 在用户同意隐私政策前,您的应用获取了用户的ANDROID ID,不符合华为应用市场审核标准。

    环境 Android Studio Bumblebee, Mac mini 2014 问题描述 在发布应用到华为应用市场时,提示"在用户同意隐私政策前,您的应用获取了用户的ANDROID I ...

  5. 三星i9502 获取ROOT超级管理员权限

    三星i9502 获取ROOT超级管理员权限 1.      首先手机安装连接驱动,可以正常连接到计算机电脑. (1)遇到问题:手机驱动安不上,可以用电脑下载豌豆荚,自动帮你的手机安装连接驱动. 2.  ...

  6. java安全权限配置_使用Spring安全表达式控制系统功能访问权限问题

    一.SPEL表达式权限控制 从spring security 3.0开始已经可以使用spring Expression表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限.Spring ...

  7. jooq权限配置_将jOOQ与Spring结合使用:配置

    jooq权限配置 我遇到了由ORM引起的性能问题. 尽管我不得不承认大多数这些问题确实是由您造成的,但是我开始认为在只读操作中使用ORM是不值得的. 我开始寻找实现这些操作的替代方法. 这就是我遇到j ...

  8. linux以root登陆命令,su命令和sudo命令,以及限制root用户登录

    一.su命令 su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码. 命令su的格式为: su [-] username 1.后面可以跟 '-' 也可以不跟,普通用户su不 ...

  9. mac mysql密码错误_解决mac 下mysql安装后root用户登录密码错误问题

    使用的mac OS 10.11  安装mysql后访问root/root用户失败,网上找了一些解决办法,下面记录下解决方法方便以后自己查询 概述(看懂下面就不用看了): 停服务:sudo /usr/l ...

最新文章

  1. python在中小学教学中的应用-中小学Python教学的几点建议
  2. Ajax的beforeSend 和 complete
  3. multiple root tags怎么解决_手机ROOT后交管12123打不开怎么解决;EdXposed使用QX模块微X教程...
  4. 模拟六:STEMA 考试选择题模拟练习试卷(中级组)及答案 + 自我解题笔记
  5. MyBatis自定义类型处理器 TypeHandler
  6. 【计算机原理篇】原码、反码和补码
  7. gjrand 4.0 发布,C语言的伪随机数生成器
  8. EfficientNet-B4-Ranger:自然复杂环境下温室黄瓜病害识别新方法(同时存在两种疾病)
  9. 设计模式学习笔记(六:责任链模式)
  10. 在 Windows Azure 虚拟机上运行 SQL Server 工作负荷的十大注意事项
  11. Python 使用Protobuf(struct模块)
  12. 图片计算机权限 win10,怎么设置win10系统的相机权限
  13. 关于hive当中的double的数据类型
  14. Python饿汉式和懒汉式单例模式的实现
  15. 使用Google身份验证进行ssh二次验证
  16. html5文本框里插图片文字,word应用教程:在文本框内插入图片
  17. android9.0 SystemUI锁屏页面固定横屏
  18. 点云配准论文复现:Robust generalized point cloud registration with orientational data based on expectation ma
  19. Java项目运维与监控调优
  20. 网络编程及TCP/UDP协议

热门文章

  1. 【C语言】你可能对 sizeof() 有点误解。。。
  2. mime类型是什么 node_Node.js - 文件系统获取文件类型
  3. elasticsearch原理_花几分钟看一下Elasticsearch原理解析与性能调优
  4. oracle 递归计算,SQL(Oracle)中的递归计算
  5. 计算机管理技术学院,计算机管理论文,关于国家电网技术学院:管理平台有“三好”教学管理享轻松相关参考文献资料-免费论文范文...
  6. git提交过滤package.json_eclipse配置git环境以及使用git提交本地仓和远程仓
  7. 2021年茂名市高考成绩查询,2021年茂名高考最高分多少分,历年茂名高考状元
  8. java 异常练习题_java入门异常处理练习题问题
  9. 485光纤转换器产品分类介绍
  10. centos 安装php扩展gd,linux(centos)下为php添加添加GD扩展