sudo权限管理

                                              作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

  好久没有更新关于命令的博客了,这也是这周工作,开发问了我一个问题,说caiq这个用户为什么不能用sudo权限,于是百度了一下,2分钟吧问题给他解决了,于是我有顺便秒了一眼这个sudo权限的其他信息,发现里面的学问还真不少,现在将其分享给大家。

一.sudo权限

1.root把本来只能超级用户执行的命令富裕普通用户来执行。

2.sudo的操作对象是系统命令。

                      

  上面的最后一行“root    ALL=(ALL)       ALL”我们需要进行解释一下,它表示的是运行root用户,访问本机本机的所有命令,

  a>.其中第一个ALL表示的是一个网段,如果只有一台主机的话,写成ALL或者是127.0.0.1都是没有关系的,一般情况下我们用不到,除非将多台服务器用户名和密码存储在同一个服务上去了,这个时候就会涉及到某些网段可以访问某台服务器的需求了(比如说NSF服务的控制)。才会用到这个第一个ALL的功能哟。换句话说,就是允许某一个用户执行某一条命令在哪一个计算机上;

   b>.其中第二个ALL,我们可以理解是讲前面的那个用户当做ROOT来处理,比如“yinzhengjie    ALL=(ALL)       ALL”,意思就是将yinzhengjie这个用户当做root用户来操作的意思哟;

    c>.第三个ALL,表示具体的命令,如果你写的是“yinzhengjie    ALL=(ALL)       ALL”的话,就表示yinzhengjie这个用户拥有所有的用户权限。可以说是和root没有太大差别了,这样做是不可行的,我们应该用绝对路径写具体命令。

  案例剖析:

                      

  新增了授权命令,如果写的命令越具体,那么用户就使用的该命令的权限就越细致。就比如上面的操作,意思是yinzhengjie这个用户时可以对这台服务器做重启操作,但是如果你想做关机操作,对不起,这个权限真没有!当然,我们可以用sudo -l参数来查看我们可以使用那些root才可以使用的命令的。

                    

温馨提示:

  请不要将vi,vim这样的编辑工具授权给普通用户,如果你一旦授权给普通用户,那么他就就相当拥有了root身份,可以随意修改任何一个文件的内容,当然只要这个文件没有被锁定的话。这就很尴尬了,千万不要这么玩哟~小心引火上身啊。     

                          

  接下来,我们切换到普通用户,看下实验效果:

                          

  有该文件的权限是600,其他用户压根就没有“r”权限,所以看不到内容:

                          

  别急,我们用用sudo权限,发现奇怪的事情发生了:

                          

  你会发现权限对它压根就没起作用,尴尬不?

                          

  当然,你也可以给组授权限,具体配置如下: 

                            

 

sudo权限管理的更多相关文章

  1. Ubuntu之sudo权限管理/etc/sudoers文件

    网易云音乐翻车记 系统安装的Ubuntu18.04桌面版,安装网易云客户端后,还没来得及夸奖,发现点击图标打不开后网上找到教程:Ubuntu网易云音乐无法打开 感觉挺靠谱的,照着最下边的教材修改了一波 ...

  2. CentOS用户权限管理--su与sudo

    Linux权限管理--su与sudo 1.su用来切换登录的用户,比如当前用户为chen,可以用su zhu,并输入用户zhu的登录密码,就可以切换到用户zhu.如果一个普通用户想切换到root用户, ...

  3. Linux系列教程(十七)——Linux权限管理之文件系统系统属性chattr权限和sudo命令

    上篇博客我们介绍了权限管理的ACL权限,通过设定 ACL 权限,我们为某个用户指定某个文件的特定权限.这篇博客我们将介绍权限管理中用的比较多的两个命令 chattr 和 sudo . 1.设定文件系统 ...

  4. 【linux命令】权限管理命令(chattr、lsattr、sudo)

    目录 chattr lsattr sudo 一.chattr命令 chattr命令用来修改文件系统的权限属性,只有 root 用户可以使用,建立凌驾于 rwx 基础权限之上的授权. PS:chattr ...

  5. sudo 权限的管理

    一.sudo执行命令的流程将当前用户切换到超级用户下,或切换到指定的用户下,然后以超级用户或其指定切换到的用户身份执行命令,执行完成后,直接退回到当前用户.具体工作过程如下:当用户执行sudo时,系统 ...

  6. Security基础(一):Linux基本防护措施、使用sudo分配管理权限、提高SSH服务安全

    一.Linux基本防护措施 目标: 本案例要求练习Linux系统的基本防护措施,完成以下任务: 修改用户zhangsan的账号属性,设置为2015-12-31日失效(禁止登录) 锁定用户lisi的账户 ...

  7. 三、使用sudo分配管理权限

    使用sudo分配管理权限 su命令 su -  [账户名称]     :切换到用户,不加用户名默认切换到root su -  [账户名称]  -c  '命令'   :以xx用户身份执行命令,注意命令需 ...

  8. 第7章 权限管理(3)_文件系统属性和sudo权限

    3. 文件系统属性chattr权限 (1)chattr命令 命令格式: #chattr [+-=][选项] 文件或目录名 +.-.= 分别表示增加权限.删除权限和赋于某种权限 选项 i:主要用来防止对 ...

  9. linux笔记:权限管理-sudo

    sudo可以将只有root可以使用的命令授权给普通用户: 授权的过程实际是修改配置文件: 授权示例: 普通用户使用sudo权限的示例:

随机推荐

  1. Failed to execute goal org.springframework.boot

    报错 [ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.4.0.RELEASE:ru ...

  2. JQuery Cross Domain Ajax(jsonp)

    http://www.pureexample.com/jquery/cross-domain-ajax.html http://www.pureexample.com/ExampleTesterII- ...

  3. gitlab搭建与配置说明

    1. 概述 Gitlab分为社区版和企业版,此次安装的是社区版(gitlab-ce). 2. 准备 本次使用系统为Ubuntu16.04. 3. 安装 添加GitLab仓库,并安装到服务器上(将git ...

  4. python之tkinter使用-二级菜单

    # 菜单功能说明:二级菜单 import tkinter as tk from tkinter import messagebox root = tk.Tk() root.title('菜单选择') ...

  5. P2209 [USACO13OPEN]燃油经济性Fuel Economy

    题面 sol:(思想):开一个大根堆和一个小根堆,每次计算到下了一个加油站用掉的油时尽量用小根堆中的元素,且同时删去大根堆中的相应位置的元素,当前加油站如果足够便宜,就可以把大根堆中的元素替换掉: ( ...

  6. BZOJ3862Little Devil I——树链剖分+线段树

    题目大意: 给一棵树,每条边可能是黑色或白色(起始都是白色),有三种操作: 1.将u到v路径上所有边颜色翻转(黑->白,白->黑) 2.将只有一个点在u到v路径上的边颜色翻转 3.查询u到 ...

  7. BZOJ3832[Poi2014]Rally——权值线段树+拓扑排序

    题目描述 An annual bicycle rally will soon begin in Byteburg. The bikers of Byteburg are natural long di ...

  8. BZOJ4383 Pustynia(线段树+拓扑排序)

    线段树优化建图暴力拓扑排序即可.对于已确定的数,拓扑排序时dp,每个节点都尽量取最大值,如果仍与已确定值矛盾则无解.叶子连出的边表示大于号,其余边表示大于等于. #include<iostrea ...

  9. POJ1019-Number Sequence-数数。。

    1 12 123 1234 把数按照这样的形式拍成一排,给一个序号求出那个序号对应的数. 当出现两位数.三位数时,要麻烦的处理一下. #include <cstdio> #include ...

  10. day14 装饰器模拟验证附加功能

    user_list=[ {'}, {'}, {'}, {'}, ] current_dic={'username':None,'login':False} def auth_func(func): d ...