Linux基礎(chǔ)教程之sudo使用指南
一、前言
sudo是什么?
sudo是系統(tǒng)管理指令;由于root用戶權(quán)限過大,在實際生產(chǎn)過程中很少使用root用戶直接登錄系統(tǒng),而是使用普通用戶登錄系統(tǒng);但是如果普通用戶要對系統(tǒng)進行日常維護操作時需要su到root用戶,為了提高安全性,可以使用sudo授權(quán)某一用戶在某一主機以某一用戶身份運行某些命令;從而減少root用戶密碼知曉人,提高系統(tǒng)安全性。
sudo的優(yōu)勢:
①授權(quán)指定用戶在指定的主機上運行指定的管理命令;
②詳細記錄用戶基于sudo執(zhí)行的命令相關(guān)的日志信息;
③”檢票系統(tǒng)”:時效性認證,用戶第一次執(zhí)行sudo命令時會要求輸入密碼來驗證用戶身份,成功后用戶會獲得一個有固定存活時長的”令牌”(令牌默認存活時長為5分鐘)
二、sudo相關(guān)參數(shù)
sudo的授權(quán)文件:/etc/sudoers,只有管理員能夠編輯
1、實現(xiàn)sudo授權(quán)的方法
①使用vim打開編輯:
可以實現(xiàn)文本著色,但是不能檢測語法錯誤,不建議使用
②visudo:專用的sudoers文本編輯工具
配置完成后能夠檢測提示語法錯誤,建議使用此編輯工具進行/etc/sudoers進行編輯
幫助文檔:man visudo;man visudoers
2、sudo授權(quán)格式:授權(quán)某用戶在某主機上以某用戶的身份運行指定的管理命令
WHO ? ? HOST=(WHOM) ? ? COMMAND
別名定義:別名必須使用全大寫字符
WHO別名定義:
User_Alias ? NAME = item1,item2,item3,….
item:可以是用戶名,%組名,#UID,$#GID,User_Alias
HOST別名定義:
Host_Alias ?NAME = item1,item2,item3,….
item:可以是hostname,ip,network,Host_Alias
WHOM別名定義:
Runas_Alias ?NAME = item1,item2,item3,….
item:可以是用戶名,%組名,#UID,$#GID,User_Alias
COMMANDb別名定義:
Cmnd_Alias ?NAME = item1,item2,item3,…..
item:可以是命令,目錄(目錄下的所有命令),”sudoedit”,Cmnd_Alias
3、常用的標(biāo)簽
PASSWD: 執(zhí)行操作時,需要輸入密碼,來驗證用戶身份
NOPASSWD: 執(zhí)行操作時,無需輸入密碼,不能確定用戶身份
4、sudo常用的命令參數(shù)
-l: 查看當(dāng)前用戶可執(zhí)行的sudo命令
-k:清除”令牌”
-b COMMAND:在后臺運行指定的命令COMMAND
-e /path/to/somefile: 修改指定的文件
-u USERNAME COMMAND: 以指定用戶的身份運行指定的命令COMMAND
三、配置舉例
1、授權(quán)cnetos用戶具有添加用戶的權(quán)限
使用centos用戶登錄測試: ? ? ?
2、別名定義以及調(diào)用
測試;centos用戶登錄測試指定的相關(guān)命令:?
?
3、防止授權(quán)用戶修改密碼修改root用戶的密碼?