sudo 工具

定义某个命令授权给某些用户,而且能限定仅能在某些主机上执行此类命令,操作记录会被记录到日志。


1.格式 :who which_host=(whom) command

     eg: visudo (sudo编辑工具)

         hadoop ALL=(root)  /usr/sbin/useradd, /usr/bin/passwd (hadoop用户有权限执行useradd、passwd命令)


hadoop ALL=(root) NOPASSWD /usr/sbin/useradd, /usr/bin/passwd (hadoop用户下使用sudo执行useradd、passwd命令不需要用户密码验证)


hadoop ALL=(root) NOPASSWD /usr/sbin/useradd, PASSWD /usr/bin/passwd (hadoop用户下使用sudo执行useradd命令不需要用户密码验证,passwd命令需要验证)


2.别名设置

  别名:sudoers别名 /etc/sudoers 仅能使用大写字母

  User_Alias USERNAME=hadoop ,gentoo

  Cmnd_Alias USERCMND=/usr/sbin/useradd, /usr/bin/passwd, /usr/sbin/userdel, ! /usr/bin/passwd root(不允许修改root密码)

  Runas_Alias ADMIN=root


  USERNAME ALL=(ADMIN) NOPASSWD USERCMND (NOPASSWD表示使用sudo不需要使用密码,USERNAME和USERCMND、ADMIN为定义好的别名)


3.%wheel组 

%wheelALL = (ALL)ALL(所有用户以管理员身份执行所有命令)

%wheelALL = (ALL) NOPASSWD: ALL(所有用户以管理员身份执行所有命令,且不需要密码验证)



4.sudo   -l  显示当前用户使用sudo工具可以执行哪些命令

-K   当用户sudo授权设置中,使用NOPASSWD设置授权执行命令不需要当前用户密码验证.使用-K参数,强迫用户下次操作时必须使用密码