为了安全及管理的方便,可将需要用root权限的用户加入到sudo管理,用root的权限来管理系统。利用sudo控制用户对系统命令的使用权限。

普通用户可以查看,但不能删除:

但是在/tmp公共环境下可以搞事情:

下面我们授予bqh1用户root权限。

执行如下visudo 或者 vi /etc/sudoers命令,即可打开sudo的配置文件进行编辑:

可以vi编辑器的功能:输入98jj

现在我们用普通用户创建一个用户:

如果不加sudo的话,相当于调兵没带虎符。

如何只授权于某些命令呢?例如:(touch、useradd、mkdir、rm)

注意:授权的命令得写全路径,全路径不知道的情况下可以用which查。

执行命令每次都让输入密码,如何屏蔽:

看效果,并没有提示输入密码:

案例:

定义一个管理员,别名ADMINS,在SERVER机器可以切换的角色有QHJS,能够拥有ADM和USER命令权限,不希望输入密码;再定义一个初级管理员,拥有USER权限,不需要密码,具体配置如下:

执行如下visudo 或者 vi /etc/sudoers命令,即可打开sudo的配置文件进行编辑:

可以vi编辑器的功能:输入98jj查看当前配置情况。

###################sudo 格式 ###################

#root                  ALL=(ALL)               ALL

#User_Alias       Host_Alias = Runas_Alias      Cmnd_Alias

##################by sudo text#####################

定义用户或用户组别名:

User_Alias     ADMINS = bqh, %home

User_Alias     CHUJIADMIN=jyw

定义主机别名:

Host_Alias     SERVERS = bqh-01, abchost

定义命令别名:

Cmnd_Alias  USER = /usr/sbin/useradd

Cmnd_Alias  ADM = /bin/rm

定义切换角色别名:

Runas_Alias    QHJS = root

Runas_Alias    QHJS1 = bqh

###################################################

定义用户规则:

ADMINS      SERVERS = (QHJS) NOPASSWD:ADM, USER

CHUJIADMIN  SERVERS = (QHJS)  NOPASSWD:USER

我们切换到bqh用户下查看拥有哪些权限:

我们切换到jyw用户下查看拥有哪些权限:

我们添加新用户并加入到/home组下,再查看权限有哪些:

什么情况下使用上述别名:

大部分用ALL,工作中一般有多个系统用户,需要分类,分层次管理用户的时候才用定义。

sudo配置文件小结:

授权格则中的所有ALL字符串必须大写字母。

一行命令内容超长,可以用“\”斜线换行。

“!”叹号表示非,就是命令取反的一审,即禁止执行的命令。

命令的顺序是从后向前,即把禁止的命令写到后面,如:/usr/sbin/*,!/usr/sbin/visudo

sudo控制权限简单用法介绍的更多相关文章

  1. setuid、setgid、sticky的权限简单用法

    如何设置setuid.setgid.sticky的权限: setuid :置于 u 的 x 位,原位置有执行权限,就置为 s,没有了为 S . chmod 4xxx file chmod u+s xx ...

  2. rsync命令简单用法介绍

    rsync有两种常用的认证方式,一种为rsync-daemon方式,另外一种则是ssh.在一些场合,使用rsync-daemon方式会比较缺乏灵活性,ssh方式则成为首选.但是今天实际操作的时候发现当 ...

  3. sudo控制用户对系统命令的使用权限

    sudo控制用户对系统命令的使用权限 sudo相关概念 普通用户涉及到超级权限的运用,管理员如果想让该普通用户通过su来切换到root获得超级权限,就必须把root权限密码告诉用户.但是如果普通用户有 ...

  4. ViewPager的简单用法+适配器+监听器的介绍

    之前的actionbar+fragment文章中写过viewpager的简单用法,但因为是融合的文章,所以今天把viewpager提取出来写了.方便查询浏览~ 思路: 1.在布局文件中设置viewpa ...

  5. JS的简单用法

    JS的简单用法 参考:http://www.w3school.com.cn/js/js_switch.asp JavaScript 是网络的脚本语言 JavaScript 是可插入 HTML 页面的编 ...

  6. slf4j的简单用法以及与log4j的区别

    之前在项目中用的日志记录器都是log4j的日志记录器,可是到了新公司发现都是slf4j,于是想着研究一下slf4j的用法. 注意:每次引入Logger的时候注意引入的jar包,因为有Logger的包太 ...

  7. richface的配置、用法介绍和注意事项

    richface的配置.用法介绍和注意事项一.RichFaces (3.1.x) 技术需求 1.JDK 1.5 或更高版本: 2.支持的 JSF 实现: Sun JSF 1.1 RI - 1.2 My ...

  8. centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课

    centos   shell脚本编程1 正则  shell脚本结构  read命令  date命令的用法  shell中的逻辑判断  if 判断文件.目录属性  shell数组简单用法 $( ) 和$ ...

  9. (数据科学学习手札54)Python中retry的简单用法

    一.简介 retry是一个用于错误处理的模块,功能类似try-except,但更加快捷方便,本文就将简单地介绍一下retry的基本用法. 二.基本用法 retry: 作为装饰器进行使用,不传入参数时功 ...

随机推荐

  1. 面试题----gcc的编译流程

    gcc编译流程 一.    编译与处理指令: gcc -E hello.c -o a.c 如果不使用-o指定输出的文件,会默认输出到终端.所以建议使用同时使用-o选项. 还要注意:编译时会保留#pra ...

  2. php里use关键字与class_alias的作用域区别

    use可以用在命名空间下,也可以不用再命名空间下,他在两者中的作用是一致的,都是在编译的时候执行,不真正的加载类,因为是编译的时候执行,所以只能在全局环境使用,及不能使用在方法内部,条件判断内部. 引 ...

  3. Oracle Comment 获取并修改表或字段注释

    select * from dba_tables where owner = 'DINGYINGSI'; select * from user_col_comments where table_nam ...

  4. MVVM框架在unity开发中的使用

    1.什么是MVVM 借用一下百度百科上对MVVM的介绍,MVVM是Model-View-ViewModel的简写,它本质上就是MVC 的改进版.MVVM 就是将其中的View 的状态和行为抽象化,让我 ...

  5. JAVA里的VO、BO、PO分别指什么?

    VO(value object) 值对象 通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已.但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.个人觉得同DTO(数据传输对象 ...

  6. 无责任Windows Azure SDK .NET开发入门篇(一):开发前准备工作

    Windows Azure开发前准备工作 什么是 Azure SDK for .NET?微软官方告诉我们:Azure SDK for .NET 是一套应用程序,其中包括 Visual Studio 工 ...

  7. (译文)The Linux Programming Interface:第1章(历史和标准)

    1 HISTORY AND STANDARDS (译者:鱼时代  校对:fgn) Linux 是UNIX操作系统家族中的一员,在计算机出现以来,UNXI已经有很长的历史了.在这一章中的第一部分将对Un ...

  8. mybatis-generator-maven逆向工程

    在idea 中使用 mybatis的  mybatis-generator-maven-plugin  可以根据数据库 生成 dao层,pojo类,Mapper文件. 一:  在  pom.xml  ...

  9. Java基础——String类(一)

    一.String 类代表字符串 Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. 字符串是常量:它们的值在创建之后不能更改.字符串缓冲区支持可变的字符串 ...

  10. 华中农业大学第五届程序设计大赛网络同步赛-A

    Problem A: Little Red Riding Hood Time Limit: 1 Sec  Memory Limit: 1280 MBSubmit: 860  Solved: 133[S ...