sudoers配置详解

来源:互联网 发布:淘宝处罚考试 重复铺货 编辑:程序博客网 时间:2024/05/29 13:48

  • sudo工作流程
  • 基本格式
    • who whereHostrunas commond谁通过哪些主机可以通过哪个身份运行哪些命令
  • 参数详解
    • who runas
    • whereHost
    • commond
    • 别名格式 Alias_Type NAMEitem1item2item3
      • Alias_Type
  • visudo 带语法检查的编辑
    • demo
  • sudo 命令
  • 日志文件
    •  把sudo日志文件加入系统日志
    • 指定日志文件路径

sudo工作流程

image
1. 当用户执行 sudo 时,系统于 /etc/sudoers 档案中搜寻该使用者是否有执行 sudo 的权限;
2. 若使用者具有可执行 sudo 的权限后,便让使用者输入用户自己的密码来确认;
3. 若密码输入成功,便开始进行 sudo 后续接的指令(但 root 执行 sudo 时,不需要输入密码);
4. 若欲切换的身份与执行者身份相同,那也不需要输入密码。

基本格式:

who whereHost=(runas) commond谁通过哪些主机可以通过哪个身份运行哪些命令

  • root ALL=(ALL) ALL
  • %whell ALL=(ALL) ALL

参数详解

who & runas

  • username
  • #uid
  • %gropname
  • %#gid
  • userAliasName

whereHost

  • hostname
  • ip
  • 172.16.8.6/16
  • netgroup
  • Host_Alias

commond

  • commandname
  • directory
  • sudoedit
  • Cmnd_Alias

别名格式 Alias_Type NAME=item1,item2,item3….

==NAME必须大写==

Alias_Type

  • User_Alias
  • Host_Alias
  • Runas_Alias
  • Cmnd_Alias

visudo 带语法检查的编辑

demo

User_Alias NETADMIN = netuser1,netuser2Cmnd_Alias CMDNETADMIN = /usr/sbin/ipNETADMIN ALL=(root) CMDNETADMINCmnd_Alias ADMINCMDS = /usr/sbin/useradd,/user/sbin/usermod, /usr/bin/passwd [a-z]*,!/usr/bin/passwd root (!表示不包含)ADMIN ALL=(root) NOPASSWD:ADMINCMDS (NOPASSWD标示sudo执行的命令不需要密码)

sudo 命令

参数 含义 -l 显示当前用户的sudo权限 -l username 显示username的sudo权限 -u username 以username的权限执行 -k 强迫用户下一次执行sudo时问密码(不论有无超过n分钟) -b 后台执行 -p 修改提示符,%u,%h -H 将HOME环境变量设为新身份的HOME环境变量 -s 执行指定的shell -v 延长密码有效期限5分钟

日志文件

touch /var/log/sudo.log

 把sudo日志文件加入系统日志

local2.debug /var/log/sudo.log

==注:空白处不能用空格,必须用tab==

指定日志文件路径

echo ‘Defaults logfile=/var/log/sudo.log’ >> /etc/sudoers

原创粉丝点击