sudo:
• 來自sudo包,man 5 sudoers
• sudo能夠授權指定用戶在指定主機上運行某些命令。如果未授權用戶嘗試使 用 sudo,會提示聯系管理員
• sudo可以提供日志,記錄每個用戶使用sudo操作
• sudo為系統管理員提供配置文件,允許系統管理員集中地管理用戶的使用權 限和使用的主機
• sudo使用時間戳文件來完成類似“檢票”的系統,默認存活期為5分鍾的“入 場券”
• 通過visudo命令編輯配置文件,具有語法檢查功能
visudo -c 檢查語法
visudo -f /etc/sudoers.d/test
配置文件:
/etc/sudoers, /etc/sudoers.d/
時間戳文件:
/var/db/sudo
日志文件:
/var/log/secure
配置文件支持使用通配符glob
? 任意單一字符
* 匹配任意長度字符
[wxc] 匹配其中一個字符
[!wxc] 除了這三個字符的其它字符
\x 轉義
[[alpha]] 字母 示例: /bin/ls [[alpha]]*
配置文件規則有兩類
1、別名定義:不是必須的
2、授權規則:必須的
sudoers
授權規則格式:
用戶 登入主機=(代表用戶) 命令
user host=(runas) command
root密碼大部分用戶不知道,但一般用戶可能要用到一些root的一些權限,/etc/sudoers文件,用來保存一些用戶,使這些用戶可以通過sudo命令來暫時獲取root的權限。這些用戶使用sudo時輸入的密碼是當前用戶密碼,而不是root密碼。還可一在sudoers文件里限制一般用戶的權限,這樣就有了安全保證。
一、讓alex用戶獲得sudo使用權
1、切換到超級用戶root
$su root
2、修改配置文件
vim /etc/sudoers
3、在這行下面添加一行
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
alex ALL=(ALL) ALL
第一個ALL是指網絡中的主機,它指明alex可以在此主機上執行后面的命令。
第二個括號里的ALL是指目標用戶,也就是以誰的身份去執行命令。
第三個ALL是命令名
sudo命令
切換身份
sudo –i –u alex
sudo [-u user] COMMAND
-V 顯示版本信息等配置信息
-u user 默認為root
-l,ll 列出用戶在主機上可用的和被禁止的命令
-v 再延長密碼有效期限5分鍾,更新時間戳
-k 清除時間戳(1970-01-01),下次需要重新輸密碼
-K 與-k類似,還要刪除時間戳文件
-b 在后台執行指令
-p 改變詢問密碼的提示符號
示例:-p ”password on %h for user %p:”