sudo——让普通用户更灵活

sudo命令

1、sudo能够授权指定用户在指定主机上运行某些命令。如果未授权用户尝试使用sudo ,会提示联系管理员

2、sudo可以提供日志,记录每个用户使用sudo 操作

3、sudo为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权限和使用的主机

4、sudo 使用时间戳文件来完成类似“检票”的 系统,默认存活期为5 分钟的 “入场券”

5、通过visudo命令编辑配置文件,具有语法检查功能

配置文件:/etc/sudoers, /etc/sudoers.d/

时间戳文件:/var/db/sudo

日志文件:/var/log/secure

配置文件支持使用通配符glob:

         ?: 任意单一字符

         *:匹配任意长度字符

         [wxc]:匹配其中一个字符

         [!wxc]:除了这三个字符的其它字符

         \x:转义

         [[alpha]]:字母

                 示例:/bin/ls [[alpha]]*

配置文件规则有两类 ;

         1、别名定义:不是必须的

         2、授权规则:必须的

sudo –i –u wang  切换身份

sudo [-u user] COMMAND

         -V:显示版本信息等配置信息

         -u user:默认为root

         -l,ll:列出用户在主机上可用的和被禁止的命令

         -v:再延长密码有效期限5分钟, 更新时间戳

         -k:清除时间戳,下次需要重新输密码

         -K:与-k类似,还要删除时间戳文件

         -b:在后台执行指令

         -p:改变询问密码的提示符号

                 如 -p ”password on %h for user %p"

授权规则格式:

    用户 登入主机=(代表用户) 命令

示例:

         root ALL=(ALL) ALL

         /etc/sudoers中 关于root权限的行,是一个后门,如果root用户不是管理员了,但可以使用sudo命令来获取所有用户的权限

        

         A用户加入到wheel组中,B用户运行以A身份运行命令<sudo>

         则B用户要运行拥有wheel组的权限,需要2次sudo

                 sudo -u A sudo cat /etc/shadow

格式说明:

         user:运行命令者的身份

         host:通过哪些主机

         (runas):以哪个用户的身份

         command:运行那些命令

Users和runas:

         username

         #uid

         %group_name

         %#gid

         user_alias|runas_alias

host:

         ip 或hostname

         network(/netmask)

         host_alias

command:

         command name

         directory

         sudoedit

                 授权用户可以直接编辑/etc/sudoers文件

                 用法:sudo /etc/dudoers

         Cmnd_Alias

别名有四种类型:User_Alias,Runas_Alias,Host_Alias,Cmnd_Alias

别名格式:[A-Z]([A-Z][0-9]_)*

别名定义:

        Alias_Type NAME1 = item1, item2, item3 : NAME2 = item4, item5

示例1:

         Student ALL=(ALL) ALL

         %wheel ALL=(ALL) ALL

示例2:

         student ALL=(root) /sbin/pidof,/sbin/ifconfig

         %wheel ALL=(ALL) NOPASSWD: ALL

示例3:

         User_Alias NETADMIN= netuser1,netuser2

         Cmnd_Alias NETCMD = /usr/sbin/ip

         NETADMIN ALL=(root) NETCMD

示例4:

         User_Alias SYSADER=wang,mage,%admins

         User_Alias DISKADER=tom

         Host_Alias SERS=www.magedu.com,172.16.0.0/24

         Runas_Alias OP=root

         Cmnd_Alias SYDCMD=/bin/chown,/bin/chmod

         Cmnd_Alias DSKCMD=/sbin/parted,/sbin/fdisk

         SYSADER SERS=  SYDCMD,DSKCMD

         DISKADER ALL=(OP) DSKCMD

示例5:

         User_Alias ADMINUSER = adminuser1,adminuser2

         Cmnd_Alias ADMINCMD = /usr/sbin/useradd,

         /usr/sbin/usermod, /usr/bin/passwd [a-zA-Z]*,

         !/usr/bin/passwd root

         ADMINUSER ALL=(root) NOPASSWD:ADMINCMD, ,

         PASSWD:/usr/sbin/userdel

示例6:

         Defaults:wang runas_default=tom

         wang ALL=(tom,jerry) ALL

         使用sudo命令时,不写-u USER,默认是wang

示例7:

    wang 192.168.175.136,192.168.175.138=(root) /usr/sbin/,!/usr/sbin/useradd

示例8:

    wang ALL=(ALL) /bin/cat /var/log/message*

原创文章,作者:megedugao,如若转载,请注明出处:http://www.178linux.com/49075

赞 (1)
megedugaomegedugao
上一篇 2016-09-25 14:43
下一篇 2016-09-25 15:00

相关推荐

  • 利用nginx实现基于传输层的四层负载均衡

    nginx利用ngx_stream_core_module实现四层的负载均衡服务。作为四层负载均衡nginx和lvs的区别在于: lvs工作于内核层,相对来说效率更高,性能更强; nginx工作于用户空间; lvs不会受到套接字数量的限制; nginx作为四层负载均衡也需要监听套接字来和客户端,后台服务器进行连接,会受到套接字数量限制,不过这个问题可以通过k…

    2017-07-03
  • 第十七周 作业–结合图形描述lvs原理

        LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。   Lvs有三种模式分别是lvs-nat、lvs-dr、lvs-tun。下面分别介绍lvs-nat、lvs-dr…

    Linux干货 2016-12-07
  • 【N25第五周作业】find命令以及相关练习

    find: 实时查找工具,通过遍历指定起始路径下文件系统层级结构完成文件查找; 工作特性: 查找速度略慢; 精确查找; 实时查找; 用法: find [OPTIONS]  [查找起始路径]  [查找条件]  [处理动作] 查找起始路径:指定具体搜索目标起始路径;默认为当前目录; 查找条件:…

    Linux干货 2016-12-27
  • 集群-ipvsadm和NAT实验(3)

    纠正:报文进入内核空间后,当到达input链时发现是一个集群服务时,则直接发送到postrouting链,不经过forward链。 调度算法: 1、静态方法: rr:轮询,即依照次序从所有RS中进行挑选 wrr:加权轮询,按照权重在RS中进行轮询 sh:source hashing,源地址哈希,即对来自相同客户端的请求发送至同一RS,这样会破坏负载均衡效果。…

    Linux干货 2015-12-15
  • Linux基础知识—文件系统和常用命令解读

    一、    计算机组成         计算机组成(Computer Composition)指的是计算机系统结构(Computer Architecture)的逻辑实现,包括机器机内的数据流和控制流的组成及逻辑设计等。其任务是在指令集系统结构确定分配给硬件系…

    Linux干货 2016-09-18
  • centos6启动故障及修复

    前言 前文中我们熟悉了linux的启动流程,如果在启动过程中文件丢失或者损坏了怎么办呢?难道只有重装系统这一条路吗?那我们不是成了普通网管了吗?作为专业的运维工程师,我们需要掌握如何快速修复系统启动。 实验1: 破坏/boot/grup/下的文件——-stage2 阶段  不影响启动  mv /boot/grub …

    2017-09-03