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的简单用法的更多相关文章

  1. CATransition(os开发之画面切换) 的简单用法

    CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...

  2. jquery.validate.js 表单验证简单用法

    引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...

  3. NSCharacterSet 简单用法

    NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...

  4. [转]Valgrind简单用法

    [转]Valgrind简单用法 http://www.cnblogs.com/sunyubo/archive/2010/05/05/2282170.html Valgrind的主要作者Julian S ...

  5. Oracle的substr函数简单用法

    substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串 subst ...

  6. Ext.Net学习笔记19:Ext.Net FormPanel 简单用法

    Ext.Net学习笔记19:Ext.Net FormPanel 简单用法 FormPanel是一个常用的控件,Ext.Net中的FormPanel控件同样具有非常丰富的功能,在接下来的笔记中我们将一起 ...

  7. TransactionScope简单用法

    记录TransactionScope简单用法,示例如下: void Test() { using (TransactionScope scope = new TransactionScope()) { ...

  8. WPF之Treeview控件简单用法

    TreeView:表示显示在树结构中分层数据具有项目可展开和折叠的控件 TreeView 的内容是可以包含丰富内容的 TreeViewItem 控件,如 Button 和 Image 控件.TreeV ...

  9. listActivity和ExpandableListActivity的简单用法

    http://www.cnblogs.com/limingblogs/archive/2011/10/09/2204866.html 今天自己简单的总结了listActivity和Expandable ...

随机推荐

  1. 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 ...

  2. 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 ...

  3. BurpSuite--代理和浏览器设置

    上一篇文章我们完成了JAVA环境的搭建和burpsuite的安装,接下来请大家和我一起一步一步的完成burpsuite的代理和浏览器的相关设置. 关注“白帽技术与网络安全”获取安装包 1.设置浏览器代 ...

  4. 剖析Java OutOfMemoryError异常

    剖析Java OutOfMemoryError异常 在JVM中,除了程序计数器外,虚拟机内存中的其他几个运行时区域都有发生OutOfMemoryError异常的可能,本篇就来深入剖析一下各个区域出现O ...

  5. 【STM32H7教程】第62章 STM32H7的MDMA,DMA2D和通用DMA性能比较

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第62章       STM32H7的MDMA,DMA2D和通 ...

  6. Blazor client-side Preview 预览版 如何调试 Debug

    首先我们使用最简单的模板案例,里面有一个Counter计数器,你可以在创建模板中找到. 首先需要设置运行调试方式为IIS Express.这意味着,MAC可能不能使用调试. 然后开启运行而不调试(Ct ...

  7. Java日志介绍(4)-Log4j2

    Log4j2是Log4j的升级版,相比其前身Log4j 1.x提供了显著的改进,并提供了在Logback中提供的许多改进,同时修复了Logback体系结构中的一些固有问题. Log4j2的内容很多,本 ...

  8. 邓Laravel2020-01-28

    ORM .一对一 hasOne $this->hasOne('外键的模型名称','外键的id','自己表里对应的id')// demo一对一 用户表里又area_id与地区表id一致 用户表和地 ...

  9. C#上位机之—WinForm实现Socket异步通讯示例

    工作中常用到的一些知识点,总是用完就忘,第一次尝试用博客记录下来,以备后用: Socket通讯,Socket(套接字)是基于TCP/IP通讯方式的封装好的类,调用时需要添加下面的服务引用: using ...

  10. appium+python+unittest+HTMLRunner登录自动化测试报告

    环境搭建 python3Java JDK.netFrameworknodejsandroid SDKappiumAppium-Python-Client(pip install Appium-Pyth ...