Fork me on GitHub

sudo

  sudo:

    • 来自sudo包,man 5 sudoers

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

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

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

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

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

        visudo -c 检查语法

        visudo -f /etc/sudoers.d/test

配置文件:

/etc/sudoers, /etc/sudoers.d/

时间戳文件:

/var/db/sudo

日志文件:

/var/log/secure

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

    ? 任意单一字符

    * 匹配任意长度字符

    [wxc] 匹配其中一个字符

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

    \x 转义

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

  配置文件规则有两类

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

    2、授权规则:必须的

sudoers

  授权规则格式:

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

     user host=(runas) command

  root密码大部分用户不知道,但一般用户可能要用到一些root的一些权限,/etc/sudoers文件,用来保存一些用户,使这些用户可以通过sudo命令来暂时获取root的权限。这些用户使用sudo时输入的密码是当前用户密码,而不是root密码。还可一在sudoers文件里限制一般用户的权限,这样就有了安全保证。

  一、让alex用户获得sudo使用权

1、切换到超级用户root

   $su root

2、修改配置文件

vim /etc/sudoers

3、在这行下面添加一行

## Allow root to run any commands anywhere

root    ALL=(ALL)       ALL

  alex    ALL=(ALL)     ALL

第一个ALL是指网络中的主机,它指明alex可以在此主机上执行后面的命令。

第二个括号里的ALL是指目标用户,也就是以谁的身份去执行命令。

第三个ALL是命令名

sudo命令

  切换身份

sudo –i –u alex

  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:”

 

posted @ 2021-09-13 16:05  Alex-Lzy  阅读(357)  评论(0编辑  收藏  举报