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參數,強迫用戶下次操作時必須使用密碼