为了安全及管理的方便,可将需要用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. let‘s encrypt之nginx-https没有小锁

    1.使用let's encrypt 加密后的nginx,访问的时候,发现没有小锁,chrome中: 火狐浏览器上: 会看到如上信息,这是因为css.图片或javascript任然通过http提供,可以 ...

  2. python 常用算法学习(1)

    算法就是为了解决某一个问题而采取的具体有效的操作步骤 算法的复杂度,表示代码的运行效率,用一个大写的O加括号来表示,比如O(1),O(n) 认为算法的复杂度是渐进的,即对于一个大小为n的输入,如果他的 ...

  3. es6学习笔记9--函数的扩展

    函数参数的默认值 基本用法 在ES6之前,不能直接为函数的参数指定默认值,为了避免这个问题,通常需要先判断一下参数y是否被赋值,如果没有,再等于默认值. ES6允许为函数的参数设置默认值,即直接写在参 ...

  4. laravel 文件上传

    laravel 文件上传 先开扩展 表单中能够选择图片 数据处理C层, 接图片并保存 保存图片: 设置目录 store()的第一个参数说明: 存放图片的子目录. 如何获取文件的类型 大小: $uplo ...

  5. Java SDK夯住(Hang)问题排查

    夯住(Hang)是指程序仍在运行,卡在某个方法调用上,没有返回也没有异常抛出:卡住时间从几秒到几小时不等. Java程序发生Hang时,应该首先使用 jstack 把java进程的堆栈信息保存下来 , ...

  6. C# 在webapi项目中配置Swagger(最新版2017)

    这篇文章已经过时了: http://www.cnblogs.com/alunchen/p/6888002.html 不用那么繁琐的配置了,直接导入一个包就行了: Install-Package Swa ...

  7. C语言Win32 Application 的标题栏图标,任务栏图标,exe文件图标问题

    我们这里新建的首先是一个空工程,新建c文件. 因为是空工程,我们没有资源文件,要用到图标资源,首先要新建和导入图标为资源. 选择引入资源,选择要引入的ico文件 完成,重命名保存Script_icon ...

  8. 基于spring boot的定时器

    首先,搭建好一个springboot项目 方法一:通过springboot自带入口来开启定时器. 首先我们都知道,springboot有一个自己的入口,也就是@SpringBootApplicatio ...

  9. PetaPoco源代码学习--1.使用的Attribute介绍

    新版本的PetaPoco使用特性进行注解的形式来代替的老版本的映射类的形式.新版本中使用的特性主要包括以下几种: 名称   用途 TableNameAttribute Class 指定POCO实体类对 ...

  10. Java基本——数据类型

    一.创建一个简单的Java应用程序 public class Code { public static void main(String[]args) { System.out.println(&qu ...