sudo控制权限简单用法介绍
为了安全及管理的方便,可将需要用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控制权限简单用法介绍的更多相关文章
- setuid、setgid、sticky的权限简单用法
如何设置setuid.setgid.sticky的权限: setuid :置于 u 的 x 位,原位置有执行权限,就置为 s,没有了为 S . chmod 4xxx file chmod u+s xx ...
- rsync命令简单用法介绍
rsync有两种常用的认证方式,一种为rsync-daemon方式,另外一种则是ssh.在一些场合,使用rsync-daemon方式会比较缺乏灵活性,ssh方式则成为首选.但是今天实际操作的时候发现当 ...
- sudo控制用户对系统命令的使用权限
sudo控制用户对系统命令的使用权限 sudo相关概念 普通用户涉及到超级权限的运用,管理员如果想让该普通用户通过su来切换到root获得超级权限,就必须把root权限密码告诉用户.但是如果普通用户有 ...
- ViewPager的简单用法+适配器+监听器的介绍
之前的actionbar+fragment文章中写过viewpager的简单用法,但因为是融合的文章,所以今天把viewpager提取出来写了.方便查询浏览~ 思路: 1.在布局文件中设置viewpa ...
- JS的简单用法
JS的简单用法 参考:http://www.w3school.com.cn/js/js_switch.asp JavaScript 是网络的脚本语言 JavaScript 是可插入 HTML 页面的编 ...
- slf4j的简单用法以及与log4j的区别
之前在项目中用的日志记录器都是log4j的日志记录器,可是到了新公司发现都是slf4j,于是想着研究一下slf4j的用法. 注意:每次引入Logger的时候注意引入的jar包,因为有Logger的包太 ...
- richface的配置、用法介绍和注意事项
richface的配置.用法介绍和注意事项一.RichFaces (3.1.x) 技术需求 1.JDK 1.5 或更高版本: 2.支持的 JSF 实现: Sun JSF 1.1 RI - 1.2 My ...
- centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课
centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件.目录属性 shell数组简单用法 $( ) 和$ ...
- (数据科学学习手札54)Python中retry的简单用法
一.简介 retry是一个用于错误处理的模块,功能类似try-except,但更加快捷方便,本文就将简单地介绍一下retry的基本用法. 二.基本用法 retry: 作为装饰器进行使用,不传入参数时功 ...
随机推荐
- jQuery实用Demo
1.点击 隐藏/显示 元素 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- 海量数据处理之Tire树(字典树)
参考博文:http://blog.csdn.net/v_july_v/article/details/6897097 第一部分.Trie树 1.1.什么是Trie树 Trie树,即字典树,又称单词查找 ...
- nginx的一次跨域处理
1.事故 访问图片资源的时候,发生了跨域,具体报错如下所示: 403 Response to preflight request doesn't pass access control check: ...
- 解决:git使用git push 命令跳出remote: Permission to A denied to B的问题
开始git上传项目,不料,在git push这一步骤发生了错误? remote: Permission to qwe2193066947/firstRepository.git denied to m ...
- #if defined 和 #if ! defined 的用法
背景:MFC初学,头文件中有#if !defined(AFX_HELLOMFC_H__706D36F5_2F1B_40AC_8BE9_0BD6A1D7BBDE__INCLUDED_)#define A ...
- log4j2配置文件log4j2.xml详解(转载)
此博文转载自阿豪聊干货:https://www.cnblogs.com/hafiz/p/6170702.html 一.背景 最近由于项目的需要,我们把log4j 1.x的版本全部迁移成log4j 2. ...
- 【转】.NET NPOI操作Excel常用函数
最近因项目接触了NPOI,感觉还是蛮不错的,网络上的教程普遍版本较老,本篇记录所常用操作,采用NPOI 2.0版本. 推荐: NPOI官方网站 NPOI 1.2.4/1.2.5 官方教程 新建Exce ...
- 关于centos 防火墙设置(nginx无法访问)
参考:http://blog.csdn.net/rosten/article/details/25053523 或者:http://blog.csdn.net/zhang197093/article/ ...
- 撩课-Web大前端每天5道面试题-Day29
1.https协议的优点? 使用HTTPS协议可认证用户和服务器, 确保数据发送到正确的客户机和服务器: HTTPS协议是由SSL+HTTP协议构建的可进行加密传输. 身份认证的网络协议,要比http ...
- 【17】迭代器模式(Iterator Pattern)
一.引言 在上篇博文中分享了我对命令模式的理解,命令模式主要是把行为进行抽象成命令,使得请求者的行为和接受者的行为形成低耦合.在这一章中,将介绍一下迭代器模式. 二.迭代器模式的介绍 迭代器是针对集合 ...