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
下一篇 2016-09-25

相关推荐

  • 安装Redmine

    Redmine是一个开源的、基于Web的项目管理和缺陷跟踪工具。它用日历和甘特图辅助项目及进度可视化显示。同时它又支持多项目管理。Redmine是一个自由开放源码软件解决方案,它提供集成的项目管理功能,问题跟踪,并为多个版本控制选项的支持。虽说像IBM Rational Team Concert的商业项目调查工具已经很强大了,但想坚持一个自由和开放源码的解决…

    Linux干货 2016-12-01
  • Linux系统命令使用格式已经如何查看帮助

    在Linux 系统中有非常多的命令一般的命令格式:“COMMAND OPTIONS ARGUMENTS” 下面有一些基础命令可以体验下命令的基本格式用法 ifconfig命令    作用: 配置网络接口,查看网络接口信息    基本语法:     ifconfig  […

    Linux干货 2016-08-15
  • 马哥教育网络班22期+第2周课程练习

    1、  Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 cp命令 单源复制:cp [OPTION]… [-T] SOURCE DEST 多源复制:cp [OPTION]… SOURCE… DIRECTORY 多源复制:cp [OPTION]… -t DIRECTORY SOU…

    Linux干货 2016-08-22
  • Linux命令格式、获取帮助、文件系统

    一、Linux的命令     (一)、概念和意义:             发起一个命令:请求内核将某个二进制程序运行为一个进程;      &nbs…

    Linux干货 2016-08-15
  • 数据库简介和简单操作

    数据库 数据库是数据的汇集,它以一定的形式存储在存储介质上 数据库的发展史 萌芽阶段:文件系统,使用磁盘文件来存储数据 初级阶段:第一代数据库,出现了网状模型、层次模型的数据库 中级阶段:第二代数据库,关系型数据库和结构化查询语言 高级阶段:新一代数据库,“关系-对象”型数据库 数据库管理系统和文件管理系统 文件管理系统的缺点是: 编写应用程序不方便 数据冗…

    2017-12-04
  • 第四天作业

    1 、创建 用户gentoo ,附加组为bin 和root ,默认shell为/bin/csh ,注释信息为"Gentoo Distribution" 1 useradd -G bin,root -s /bin/csh -c "Gentoo Distribut…

    Linux干货 2016-08-04