CentOS下sudo的使用和sudoers配置


一、sudo命令

sudo [參數選項] 命令

參數選項

-l:列出目前用戶可執行與無法執行的指令;
-v:延長密碼有效期限5分鍾;
-u<用戶>:以指定的用戶作為新的身份。若不加上此參數,則預設以root作為新的身份;
-k:結束密碼的有效期限,也就是下次再執行sudo時便需要輸入密碼;
-b:在后台執行指令;
-h:顯示幫助;
-H:將HOME環境變量設為新身份的HOME環境變量;
-p:改變詢問密碼的提示符號;
-s<shell>:執行指定的shell;
-V :顯示版本信息。

注意:

# 遠程sudo加-t參數

二、sudo配置

Visudo Manual

# 配置文件位置
/etc/sudoers

root	ALL=(ALL) 	ALL
用戶		機器 角色	命令

# 編輯配置文件
# 1。推薦使用visudo來編輯
# 2。批量管理用
echo "%sa ALL=(ALL) ALL" >> /etc/sudoers
# 檢查配置文件語法
visudo -c
# 檢查配置文件權限

2.1 主機別名

說明:

配置時注意寫法
一般不用主機別名

2.2 用戶別名

2.3 命令別名

2.4 身份別名

Runas_Alias OP = root, vagrant

2.5 使用別名

類似於rbac,用戶別名就是角色,命令別名就是資源權限

# 用戶別名
User_Alias ADMIN = vagrant, yysue
# 命令別名
Cmnd_Alias USERCMD = /sbin/useradd, /bin/passwd
Cmnd_Alias SOFTCMD = /bin/rpm, /usr/bin/yum
# 身份別名
Runas_Alias OP1 = root, vagrant
# 關聯
ADMIN	ALL=(OP1)	USERCMD, SOFTCMD

三、sudo審計

sudo日志審計:記錄sudo命令的用戶的操作

所謂日志審計,就是記錄所有系統及相關用戶行為的信息,並且可以自動分析、處理、展示

  • 通過環境變量命令及rsyslog服務進行全部日志審計(信息太大,不推薦)
  • sudo配合rsyslog服務,進行日志審計(審計信息少,效果不錯)
  • 在bash解釋器程序里嵌入一個監視器,讓所有被審計的系統用戶使用修改過的增加了監視器的特殊bash程序作為解釋程序
  • 齊治的堡壘機:商業產品
  • Python開發的開源產品
    • jumpserver
    • CrazyEye

3.1 配置(CentOS6)

1)檢查是否安裝sudo/rsyslog

# 檢查
rpm -qa sudo rsyslog
# 安裝
yum install sudo rsyslog -y

2)配置/etc/sudoers

# 追加一行配置:日志輸出
echo "Defaults logfile=/var/log/sudo.log" >> /etc/sudoers

# 驗證
tail -1 /etc/sudoers
grep 'Defaults' /etc/sudoers

# 檢查語法
visudo -c

3)配置/etc/rsyslog.conf(可以不配置)

echo "local2.debug /var/log/sudo.log" >> /etc/rsyslog.conf

通過sudo運行的命令都被記錄到配置的日志文件了

3.2 日志集中管理

rsync+inotify或定時任務+rsync,推到日志管理服務器上, ip_date.sudo.log

rsyslog服務來處理

日志收集解決方案:scribe,Flume,stom,logstash ELK


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM