sudo的简单用法
su: Switch User, 以管理员身份运行某些命令:
su -l root -c 'COMMAND'
但是想要限制某个用户只拥有一部分管理员权限,而不是拥有全部权限,这就需要用到sudo
sudo: 是可以让某个用户不需要拥有管理员的密码,可以执行管理员的权限
作为管理员可以指派某些用户可以执行某些特定命令,类似suid
配置文件:/etc/sudoers
root ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
%wheel: 运行命令者的身份,user
第一个ALL:在哪些主机上, host
第二个ALL:以哪个用户的身份, runas
第三个ALL:运行哪些命令, command
配置项:
users hosts=(runas) commands
users:
username
#uid
user_alias
%group_name
%#gid hosts:
ip
hostname
netaddr commands:
command name
directory
sudoedit Alias_Type NAME = item1, item2, ...
NAME: 必须使用全大写字母
Alias_Type:
User_Alias
Host_Alias
Runas_Alias
Cmnd_Alias Alias_type NETADMIN = netuser1, netuser2
Cmnd_Alias NETADMINAMNDS = /usr/sbin/ip
实例:vim /etc/sudoers
User_Alias NETADMIN = netuser1, netuser2
Cmnd_Alias NETADMINCMNDS = /usr/sbin/ip
NETADMIN ALL=(root) NETADMINCMNDS
命令: sudo [-u user] COMMAND
-V: 显示版本编号
-h: 会显示版本编号及指令的使用方式说明
-l: 显示出自己(执行sudo的使用者)的权限
-v: 因为sudo在第一次执行时或是在N分钟内没有执行(N预设为五)会问密码,这个参数是重新做一次确认,如果超过N分钟,也会问密码
-k: 将会强迫使用者在下一次执行sudu时问密码(不论有没有超过N分钟)
-b: 将要执行的指令放在后台执行
-p prompt 可以更改问密码的提示语,其中%u会代换为使用者的账号名称,%h会显示主机名称
-u username/#uid 不加此参数,代表要以root的身份执行指令,而加了此参数,可以以username的身份执行指令(#uid为该username的使用者号码)
实例
User_Alias USERADMIN = poweruser1, poweruser2
Cmnd_Alias USERADMINCMNDS = /usr/sbin/useradd, /usr/sbin/usermod, /usr/bin/passwd [a-z]* !/usr/bin/passwd root //不允许修改root管理员密码
USERADMIN ALL=(root) NOPASSWD: USERADMINCMNDS
sudo的简单用法的更多相关文章
- CATransition(os开发之画面切换) 的简单用法
CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...
- jquery.validate.js 表单验证简单用法
引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...
- NSCharacterSet 简单用法
NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...
- [转]Valgrind简单用法
[转]Valgrind简单用法 http://www.cnblogs.com/sunyubo/archive/2010/05/05/2282170.html Valgrind的主要作者Julian S ...
- Oracle的substr函数简单用法
substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H' *从字符串第一个字符开始截取长度为1的字符串 subst ...
- Ext.Net学习笔记19:Ext.Net FormPanel 简单用法
Ext.Net学习笔记19:Ext.Net FormPanel 简单用法 FormPanel是一个常用的控件,Ext.Net中的FormPanel控件同样具有非常丰富的功能,在接下来的笔记中我们将一起 ...
- TransactionScope简单用法
记录TransactionScope简单用法,示例如下: void Test() { using (TransactionScope scope = new TransactionScope()) { ...
- WPF之Treeview控件简单用法
TreeView:表示显示在树结构中分层数据具有项目可展开和折叠的控件 TreeView 的内容是可以包含丰富内容的 TreeViewItem 控件,如 Button 和 Image 控件.TreeV ...
- listActivity和ExpandableListActivity的简单用法
http://www.cnblogs.com/limingblogs/archive/2011/10/09/2204866.html 今天自己简单的总结了listActivity和Expandable ...
随机推荐
- HDU6440 Dream(费马小定理+构造) -2018CCPC网络赛1003
题意: 给定素数p,定义p内封闭的加法和乘法,使得$(m+n)^p=m^p+n^p$ 思路: 由费马小定理,p是素数,$a^{p-1}\equiv 1(mod\;p)$ 所以$(m+n)^{p}\eq ...
- what can we do if just only want to truncate transaction log without backup ?
n some circumstances, we just want to truncate transaction log without backup and refuce change data ...
- BurpSuite--代理和浏览器设置
上一篇文章我们完成了JAVA环境的搭建和burpsuite的安装,接下来请大家和我一起一步一步的完成burpsuite的代理和浏览器的相关设置. 关注“白帽技术与网络安全”获取安装包 1.设置浏览器代 ...
- 剖析Java OutOfMemoryError异常
剖析Java OutOfMemoryError异常 在JVM中,除了程序计数器外,虚拟机内存中的其他几个运行时区域都有发生OutOfMemoryError异常的可能,本篇就来深入剖析一下各个区域出现O ...
- 【STM32H7教程】第62章 STM32H7的MDMA,DMA2D和通用DMA性能比较
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第62章 STM32H7的MDMA,DMA2D和通 ...
- Blazor client-side Preview 预览版 如何调试 Debug
首先我们使用最简单的模板案例,里面有一个Counter计数器,你可以在创建模板中找到. 首先需要设置运行调试方式为IIS Express.这意味着,MAC可能不能使用调试. 然后开启运行而不调试(Ct ...
- Java日志介绍(4)-Log4j2
Log4j2是Log4j的升级版,相比其前身Log4j 1.x提供了显著的改进,并提供了在Logback中提供的许多改进,同时修复了Logback体系结构中的一些固有问题. Log4j2的内容很多,本 ...
- 邓Laravel2020-01-28
ORM .一对一 hasOne $this->hasOne('外键的模型名称','外键的id','自己表里对应的id')// demo一对一 用户表里又area_id与地区表id一致 用户表和地 ...
- C#上位机之—WinForm实现Socket异步通讯示例
工作中常用到的一些知识点,总是用完就忘,第一次尝试用博客记录下来,以备后用: Socket通讯,Socket(套接字)是基于TCP/IP通讯方式的封装好的类,调用时需要添加下面的服务引用: using ...
- appium+python+unittest+HTMLRunner登录自动化测试报告
环境搭建 python3Java JDK.netFrameworknodejsandroid SDKappiumAppium-Python-Client(pip install Appium-Pyth ...