zoukankan      html  css  js  c++  java
  • sudo

    su 切换身份:su –l username –c 'command'

    sudo

      来自sudo包

      man 5 sudoers

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

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

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

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

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

        visudo –c 检查语法

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

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

      日志文件:/var/log/secure

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

        ?:任意单一字符

        * :匹配任意长度字符

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

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

        x : 转义

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

      配置文件规则有两类;

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

        2、授权规则:必须的

        授权规则格式:

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

          示例:

            root ALL=(ALL) ALL

            格式说明:

              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

            Cmnd_Alias

      sudo别名和示例

        别名有四种类型: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

        示例4:

          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

        示例5:

          Defaults:wang runas_default=tom

          wang ALL=(tom,jerry) ALL

        示例6:

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

        示例7:

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

    sudo命令

      ls -l /usr/bin/sudo

      sudo –i –u wang 切换身份

      sudo [-u user] COMMAND

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

        -u user 默认为root

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

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

        -k 清除时间戳(1970-01-01),下次需要重新输密码

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

        -b 在后台执行指令

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

          示例:-p ”password on %h for user %p:"

  • 相关阅读:
    删除mysql服务
    取消jQuery validate验证
    评估期已过.有关如何升级您的测试软件
    修复fiddler无法抓包抓取https问题
    Win10开启高性能模式
    cmd git批量检出当前目录下的所有模块指定远程分支
    解决代码没有编译错误运行却报错: “程序包xxx不存在“的问题,最终解决办法
    尾递归
    idea Project maven根目录不见了找回
    秒转时分秒
  • 原文地址:https://www.cnblogs.com/tony3154/p/10183735.html
Copyright © 2011-2022 走看看