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

相关推荐

  • Linux网络配置

    (1)、ifcfg家庭命令配置: ifconfig/route/netstat ifup/ifdown   (2)、ip命令配置: ip addr | route | link   (3)、修改配置文件 IP、MASK、GW、DNS相关配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE 路由相关…

    2018-01-30
  • 批量部署lxc虚拟机

    前言:lxc是一种操作系统层虚拟化(Operating system–level virtualization)技术,为Linux内核容器功能的一个用户空间接口。它将应用软件系统打包成一个软件容器(Container),内含应用软件本身的代码,以及所需要的操作系统核心和库。通过统一的命名空间和共用API来分配不同软件容器的可用硬件资源,创造出应用程…

    Linux干货 2016-03-20
  • bash 循环和函数

    回顾: 循环 循环控制:break,continuewhile , for循环的特殊用法for (());do     循环体donewhile read VARAIBLE;do     循环体done <&nbs…

    Linux干货 2016-08-24
  • 谷歌三大核心技术(一)The Google File System中文版

    摘要 我们设计并实现了Google GFS文件系统,一个面向大规模数据密集型应用的、可伸缩的分布式文件系统。GFS虽然运行在廉价的普遍硬件设备上,但是它依然了提供灾难冗余的能力,为大量客户机提供了高性能的服务。 虽然GFS的设计目标与许多传统的分布式文件系统有很多相同之处,但是,我们的设计还是以我们对自己的应用的负载情况和技术环境的分析为基础的,不管现在还是…

    Linux干货 2015-04-13
  • Linux basics–part1

    一、计算机的组成及其功能 依据冯·诺依曼体系结构,计算机可分为五大部分,CPU的运算器和控制器、内存、输入、输出。 CPU运算器:计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件(ALU)。运算器由算术逻辑单元(ALU)、累加器、状态寄存器、通用寄存…

    Linux干货 2017-07-10
  • LVM相关使用

    前言: LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分…

    Linux干货 2017-08-13