一、問題場景
問題:reboot、shutdown、init、halt、user管理,在普通用戶身份上都是操作不了的,但是又寫特殊的情況下又需要有執行權限,又不能讓root用戶吧自己的密碼告訴普通用戶,這個問題該怎么解決?
該問題是可以被解決的,可以使用sudo(switch user do)命令來進行權限設置。sodu可以讓管理員(root)事先定義某些特殊命令誰可以執行。
二、sudo配置文件描述
默認sudo中是沒有除root之外用戶的規則,要想使用則先配置sudo。
sudo配置文件位置:/etc/sudoers
三、sudo配置操作
1、簡要說明
1、配置sudo文件需使用“visudo”命令,打開/etc/sudoers文件之后其使用方法和vi/vim命令一致。
2、用戶權限說明,如下:
root 表示用戶名,如果是用戶組,則可以寫成“%組名” ALL 表示允許登錄的主機(地址白名單) (ALL) 表示以誰的身份去執行,ALL表示root身份 ALL 表示當前用戶可以執行的命令,多個命令可以使用","分割
2、配置操作
注意:在寫sudo規則的時候不建議寫直接形式的命令,而是寫命令的完整路徑,路徑可以使用which命令來查看 語法:#which 指令名稱
案例1:本身xiaohemiao用戶不能添加用戶,要求使用sudo配置,將其設置為可以添加用戶,並且可以修改密碼。
步驟一、查看命令所在的路徑
步驟二、給xiaohemiao用戶設置添加用戶和修改密碼的權限
步驟三、驗證xiaohemiao權限(下圖只是說明了添加用戶的操作,修改密碼的操作同理)