########################### su、sudo
====su
su - #切換到root使用者
su - yeqing #切換到yeqing使用者
su yeqing #切換到yeqing使用者但是不帶環境變量
su - ye -c "env" |grep PWD #差別su ye和su - ye
id #檢視目前使用者詳情
缺點:
不安全,隻要把root使用者密碼給普通使用者,都能切換到root來完成所有的系統管理工作。
60%的系統故障都是内部人為操作導緻,并不是遭攻擊.
su隻适用于一兩個人參與管理的系統.
====sudo
sudo無需密碼隻有授權,有針對性的下放給使用者配置設定權限.
sudo執行流程:
目前使用者切換到root(或其它指定切換到的使用者),然後以root(或其它指定的切換到的使用者)身份執行指令,執行完成後,直接退回到目前使用者;而這些的前提是要通過sudo的配置檔案/etc/sudoers來進行授權;
執行個體1:
su - yeqing
less /etc/shadow
/etc/shadow: Permission denied #提示沒有權限
解決
su -
which less
visudo(set nu/:98/相當于打開vi /etc/sudoers)
yeqing ALL=(ALL) /usr/bin/less /etc/shadow,/usr/sbin/useradd
visudo -c
測試
su - yeqing
sudo less /etc/shadow
技巧: (*表示通配所有,!表示取消某個程式權限)
yeqing ALL=(ALL) /usr/sbin/*,!/usr/sbin/fdisk
檢視自身被配置設定的權限
sudo -l
加日志(sudo ***都會被記錄,不管是否正确)
vi /etc/rsyslog.conf
local2.debug /var/log/sudo.log #空白處不能用空格鍵,必需用tab鍵
visudo
Defaults logfile=/var/log/sudo.log #添加至最後一行
chmod 777 /var/log/sudo.log
ps aux | grep rsyslog
kill -9 168
/etc/init.d/rsyslog restart
tail -f /var/log/sudo.log
本文轉自cloves 51CTO部落格,原文連結:http://blog.51cto.com/yeqing/1700787