Sudo--普通用戶臨時以其他用戶的身份做事情

1·Liunx系統中默認只有一個超級用戶(即root)

2·如果公司有n個服務器工程師都要管理這臺服務器,他們共用root賬號是不安全的。因爲共用賬號就無法確認是哪個管理員對服務器進行了管理,無法辨認是誰把服務器給弄壞了
3·讓普通用戶臨時以root身份去管理系統:
方法一:
用普通用戶賬號登錄,用su - root臨時切換到root身份去管理系統。但是普通用戶必
須知道root密碼。這樣不安全。
方法二:
用sudo功能。
Sudo--普通用戶臨時以其他用戶的身份做事情
查sudo幫助手冊: man sudo
配置文件幫助手冊: man sudoers
查命令幫助: sudo --help
sudo主配置文件: cat /etc/sudoers
編輯配置文件的方法:visudo 或 vim /etc/sudoers
----- visudo帶語法檢測功能,當語法錯誤時,保存文件會警告
sudo默認的日誌文件:tail /var/log/secure
sudo的配置思路:

1.創建一個普通用戶(tom)
2.用visudo或vim /etc/sudoers給用戶配置sudo權限
3.用普通用戶做sudo測試

sudo的配置實施:

1.創建普通用戶,登錄密碼爲tom。
useradd tom
echo tom | passwd --stdin tom

2.用visudo給用戶配置sudo權限。
visudo 在文件中查找root關鍵字(:100行),添加如下內容
99 ## Allow root to run any commands anywhere 允許root用戶運行任何命令在任何地方
100 root ALL=(ALL) ALL
tom ALL=(ALL) ALL 添加此行(這裏不可以小寫)

格式說明:
tom ALL=(ALL) ALL
A用戶名 主機(位置)=(B用戶名) 允許或禁止執行的命令( ALL表示任何)
3.用普通用戶做sudo測試

su - tom
useradd alice ----提示“權限不夠”
sudo useradd alice ----回車後輸入tom的密碼
id alice
userdel -r alice ---提示“權限不夠”
sudo userdel -r alice ---此時並不需要輸入密碼,因爲sudo默認的密碼有效期爲?分鐘
exit
如何在sudo中將系統的命令按主機名或IP、
用戶名、命令等管理功能進行分類,對不同的管理
員賦予不同的管理權限
使用別名進行分組管理
Sudo--普通用戶臨時以其他用戶的身份做事情
設置主機別名(在10行之後添加):Host_Alias 主機別名(英文大寫) = 主機名或IP(多個用逗號隔開)
例子Host_Alias FILESERVERS = fs1, fs2
設置用戶別名(在16行之後添加);User_Alias 用戶別名(英文大寫) = 用戶名(多個用逗號隔開)
例子User_Alias ADMINS = jsmith, mikem
設置命令別名(在23行之後添加);Cmnd_Alias 命令別名(英文大寫) = 命令的絕對路徑(多個用逗號隔開)
例子Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum
用which 命令 查詢命令的絕對路徑,多挑明瞭用,逗號分隔
例子:
使用命令絕對路徑: tom ALL=(ALL) /usr/sbin/useradd, /usr/sbin/fdisk
使用主機別名: tom WER=(ALL) /usr/sbin/useradd, /usr/sbin/fdisk
使用用戶別名: QWE ALL=(ALL) /usr/sbin/useradd, /usr/sbin/fdisk
使用命令別名 tom ALL=(ALL) ERT
使用用戶和命令別名: QWE ALL=(ALL) ERT

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章