Linux sudo授权 学习总结

一、前言:

前面已经总结了基本权限、umask默认权限、ACL权限,想要了解的朋友可以直接拉到最底,通过传送门浏览查看。

本篇将要介绍sudo授权,sudo授权是在实际生产环境中常用的权限管理方式 ,是管理者对运维工程师授权的主要方式之一,所以要重点学习掌握,重点掌握如何授权,普通用户如何查询、使用。

二、sudo授权

2.1 sudo授权

  • 赋予普通用户部分超级管理员权限

2.2 授权原则

  • 授权的权限越详细,普通用户得到的权限越小
  • 授权的权限越简单,普通用户得到的权限越大

2.3 授权方式

  • 通过 visudo命令 赋予普通用户权限,执行效果类似于 vi 
    [root@localhost ~]# visudo...88 ## The COMMANDS section may have other options added to it.89 ##90 ## Allow root to run any commands anywhere91 root    ALL=(ALL)       ALL92 93 ## Allows members of the 'sys' group to run networking, software,92 93 ## Allows members of the 'sys' group to run networking, software,94 ## service management apps and more.95 # %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS96 97 ## Allows people in group wheel to run all commands98 # %wheel        ALL=(ALL)       ALL99 100 ## Same thing without a password101 # %wheel        ALL=(ALL)       NOPASSWD: ALL102 103 ## Allows members of the users group to mount and unmount the104 ## cdrom as root105 # %users  ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom106 107 ## Allows members of the users group to shutdown this system108 # %users  localhost=/sbin/shutdown -h now109 110 ## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment)111 #includedir /etc/sudoers.d

2.3.1 文件说明

root          ALL=(ALL)       ALL    赋予用户管理员权限
%wheel        ALL=(ALL)       ALL    赋予组管理员权限
  • 文件解释

    • 第一列:代表用户/组

      • 如果是用户,直接书写用户名即可,比如:root,lamp等等
      • 如果是组,请在组名前面加 %,比如:wheel组,可以表示为 %wheel
    • 第二列:代表被管理的IP=(用户身份)
      • 被管理的IP:一般指远程的服务器IP
      • 用户身份:一般直接写ALL,或者不写,都是管理员权限的意思。
    • 第三列:代表授权的命令
      • 一定要写绝对路径
      • 命令越详细越好,安全性高

2.3.2 授权格式

用户名          ALL=绝对路径 [命令参数]
组             ALL=绝对路径 [命令参数]         

2.3.3 授权位置

  • 授权用户
     90 ## Allow root to run any commands anywhere91 root    ALL=(ALL)       ALL在 root 下面追加赋予普通用户的权限
  • 授权组
     97 ## Allows people in group wheel to run all commands98 # %wheel        ALL=(ALL)       ALL在 %wheel 所在行下面,追加赋予组的权限

2.3.4 调用方式

  • 调用方式:

    • sudo 绝对路径 参数
    • sudo 命令名称 参数 

2.4 举例:给用户 test 赋予重启服务器的权限

  • 创建用户 test ,并给用户赋予 shutdown -r now 
#1、创建用户并设置密码
[root@localhost ~]# useradd test
[root@localhost ~]# passwd test
更改用户 test 的密码 。
新的 密码:
无效的密码: WAY 过短
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。#2、查找 shutdown 命令的绝对路径
[root@localhost ~]# whereis shutdown
shutdown: /sbin/shutdown /usr/share/man/man2/shutdown.2.gz         /usr/share/man/man3p/shutdown.3p.gz /usr/share/man/man8/shutdown.8.gz#3、用 visudo 命令赋予 用户test 重启权限
[root@localhost ~]# visudo
...
90 ## Allow root to run any commands anywhere
91 root    ALL=(ALL)       ALL
92 test    ALL=/sbin/shutdown -r now
...
  • 切换到用户test
[root@localhost ~]# su - test
[test@localhost ~]$
  • test用户查看自己的管理员权限
[test@localhost ~]$ sudo -lWe 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 -l 会要用户密码,输入即可
[sudo] password for test:
匹配此主机上 test 的默认条目:!visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS", env_keep+="MAILPS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSETXAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin用户 test 可以在该主机上运行以下命令:(root) /sbin/shutdown -r now

说明: (root) /sbin/shutdown -r now 这条命令存在,代表我们赋予成功。

  •  test 用户执行 root 用户命令格式
[test@localhost ~]$ sudo /sbin/shutdown -r now#或者 [test@localhost ~]$ sudo shutdown -r now

以上命令执行之后,服务器/虚拟机进行重启,从而真正达到了普通用户 test 拥有管理员权限的目的。

三、小结

  • 知识点总结

    • sudo作用:让普通用户具有部分超级用户(管理员)权限
    • 授权原则:越详细越好
    • 授权命令:visudo 
      • 格式: 用户名/组名        被管理IP=(用户身份)        绝对路径 [具体参数]
    • 普通用户查看被赋予的管理员权限
      • sudo -l,初次查看会需要输入用户登录密码
    • 普通用户调用管理员命令格式:
      • sudo 绝对路径 具体参数
      • sudo 命令名称 具体参数

四、推荐阅读

  • 想了解Linux其他权限管理的内容,请打开以下传送门:

    • Linux 权限管理_ACL权限 学习总结(二)
    • Linux 权限管理_基本权限和umask默认权限 学习总结(一)

如果以上内容为您产生些许帮助,请点赞+收藏+关注 ,支持一下作者,感激不尽!

Linux 权限管理_sudo授权 学习总结(三)相关推荐

  1. Linux权限管理— sudo授权

    sudo授权 1.什么是sudo授权 /sbin/和/usr/sbin/ 以上两个目录下命令只有超级用户才能使用. sudo授权:把指定的命令授权给普通用户,让普通用户可以执行指定的命令.(只给用户授 ...

  2. Linux基础知识之用户和用户组以及 Linux 权限管理

    已经开始接触Linux用户管理,用户组管理,以及权限管理这几个逼格满满的关键字.这几个关键字对于前端程序猿的我来说真的是很高大上有木有,以前尝试学 Linux 的时候看到这些名词总是下意识的跳过不敢看 ...

  3. 13. Linux权限管理命令

    Linux基础学习-Linux权限管理命令 第十七节 Linux权限管理命令学习6 重要 17.1权限分类 17.2 ugo权限 17.2.1查看ugo权限 17.2.2.ugo权限字符 17.2.3 ...

  4. linux查询默认权限命令,Linux权限管理之基本权限

    Linux权限管理之基本权限 1.文件权限: -rw-r--r-- :         r 读   w 写     x 执行 -:   文件类型(- 文件  d 目录  l软链接文件)rw- r-- ...

  5. Linux 权限管理 day6

    1.Linux权限管理 1.1 权限的介绍 .权限时用来约束用户能对系统所做的操作. .进程能够以什么方式去访问一个文件目录,取决于进程所运行的用户对该文件有什么样的权限. 1.2 权限与用户的关系 ...

  6. o在linux是什么权限,Linux权限管理基本知识大全

    Linux权限管理基本知识大全 Linux系统有什么基本权限,权限管理命令是什么?下面跟yjbys小编一起来看看吧! 一.基本权限 linux权限机制采用UGO模式.其中 u(user)表示所属用户. ...

  7. 【Linux权限】Shell命令及运行原理 | Linux权限管理 | 粘滞位

    文章目录 一.shell命令以及运行原理 二.Linux权限的概念 三.Linux权限管理

  8. Linux权限管理---最全最详细的文件权限设置管理,手把手教你设置文件权限UGO和数字权限,高级权限等等

    权限管理 linux权限管理介绍 主要给文件或者目录设置权限,权限对用户生效 权限: 读:r 4 写:w 2 执行:x 1 权限 U G O  3部分 rw- - - U G O U==文件的所有者 ...

  9. 3、Linux权限管理

    3.Linux权限管理 文章目录 3.Linux权限管理 3.1.Linux chgrp命令:修改文件和目录的所属组 3.2.Linux chown命令:修改文件和目录的所有者和所属组 3.3.Lin ...

最新文章

  1. 对话通信原理系列专题目录
  2. 089_学习过的html标签
  3. python 使用全局变量_如何在Python中的不同模块中使用全局变量
  4. Android中ListView的使用以及使用适配器设置数据源
  5. NoSQL 非关系数据库
  6. c如何返回数组给java
  7. php ajax session死锁,session过期,ajax请求处理
  8. 题解 P2949 【[USACO09OPEN]工作调度Work Scheduling】
  9. 利用栈和队列将队列中的元素逆置☆
  10. Docker安装运行mysql
  11. RQNOJ 95 多多看DVD(加强版):01背包
  12. 微信小程序云开发教程-后端接口分析和接口返回值的格式定义
  13. 计算机的配置鼠标,电脑双鼠标怎么设置 电脑双鼠标设置方法
  14. php ip地址管理系统,phpIPAM – 免费开源的IP地址管理工具,重量级
  15. IM即时通讯-项目框架搭建(二)
  16. Ajax小实例   用户注册异步验证
  17. 【搞定CAD】键盘“组合键”应用小技巧
  18. python人民币转大写_python2.x实现人民币转大写人民币
  19. 【英语竞赛】专项练习之听力
  20. wordpress插件_13个适用于WordPress的免费用户管理插件

热门文章

  1. pip install 和conda install的区别是什么?
  2. 库卡机器人profinet连接说明(西门子PLC部分)
  3. python实现寻找最长回文子串
  4. LeetCode 409. 最长回文串(构造最长回文判断)
  5. EF6+Oracle 12c+DBFirst+VS2015 :your project references the lastest version of EF 问题解决
  6. 奇异值分解(SVD)详解及其应用
  7. JS逆向 | 某春秋网m3u8数据解密
  8. python魔术方法是什么_Python常用魔术方法
  9. 东北大学计算机学院绩点公示,GPA2.7拿下top41东北大学计算机+分析学两大王牌硕士录取!...
  10. 使用KMS激活WINDOWS10后Chrome浏览器主页被强制篡改