您好,登錄后才能下訂單哦!
su是英文“s'witch user”的縮寫,即切換用戶之意。
su和su 指令加上“-”參數(shù)的區(qū)別:
su指令不加任何參數(shù),默認切換到root,但沒有轉(zhuǎn)到root用戶家目錄,這時雖然切換為root用戶了,但并沒有切換到root的登陸環(huán)境(shell,環(huán)境變量),不能獲取環(huán)境變量。su加上參數(shù)“-”是切換到用戶root的登陸環(huán)境,獲取root的環(huán)境變量及執(zhí)行權(quán)限(切換到用戶的變量)
su是轉(zhuǎn)換到終極權(quán)限r(nóng)oot后對權(quán)限沒有限制行(su默認切換到root用戶),sudo能把某些終極權(quán)限有針對性的下放,并且用戶不用知道root密碼,執(zhí)行歷程是當前用戶切換到root,然后以root身份執(zhí)行命令,執(zhí)行完后直接退回當前用戶。通過sudo配置文件“/etc/sudoers”進行授權(quán)。
sudo能夠限制用戶只在某臺主機上運行某些命令。
sudo提供了豐富的日志,詳細記錄了每個用戶做了什么,能夠轉(zhuǎn)到中心主機或日志服務器
sudo使用時間戳來文件來執(zhí)行類似的“”檢票“系統(tǒng)。當用戶調(diào)用sudo并輸入它的密碼時,用戶獲得一張存活期為5分鐘的票(此值可在編譯時指定)
sudo的配置文件是sudoers文件,它允許系統(tǒng)管理員集中的管理用戶的使用權(quán)限和使用主機。位置/etc/sudoers,它的屬性必須為0411。
sudo命令用來以其他身份來執(zhí)行的命令,預設的身份為root
sudo與su的不同之處在于sudo僅在需要時授予用戶權(quán)限,減少了用戶因為錯誤執(zhí)行損壞系統(tǒng)的可能性,sudo也可以用來以其他用戶身份執(zhí)行命令。此外sudo可以記錄用戶執(zhí)行的命令,以及失敗的特權(quán)獲取
sudo的配置文件:
sudo的配置文件是”/etc/sudoers“,不強烈建議直接編輯這個文件,而是通過visudo來編輯,因為使用visudo編輯后保存會進行語法檢測,有問題會提示,避免出錯。
別名記錄在配置文件當中有四種:
Host_Alias
Cmnd_Alias
User_Alias
Runas_Alias
2:sudo的使用方法
首先我們分析一些字段
這句話的意思是說:
用戶lifeng在mail這臺服務器上可以以用戶root的身份運行/usr/sbin/useradd這個命令
添加這一行 lifeng ALL=/usr/sbin/useradd
4.語法:
sudo [ -Vhl LvkKsHPSb ] │ [ -p prompt ] [ -c class│- ] [ -a auth_type ] [-u username│#uid ] command
5.參數(shù):
-V
顯示版本編號
-h
會顯示版本編號及指令的使用方式說明
-l
顯示出自己(執(zhí)行 sudo 的使用者)的權(quán)限
-v
因為 sudo 在第一次執(zhí)行時或是在 N 分鐘內(nèi)沒有執(zhí)行(N 預設為五)會問密碼,這個參數(shù)是重新做一次確認,如果超過 N 分鐘,也會問密碼
-k
將會強迫使用者在下一次執(zhí)行 sudo 時問密碼(不論有沒有超過 N 分鐘)
-b
將要執(zhí)行的指令放在背景執(zhí)行
-p
prompt 可以更改問密碼的提示語,其中 %u 會代換為使用者的帳號名稱, %h 會顯示主機名稱
-u
username/#uid 不加此參數(shù),代表要以 root 的身份執(zhí)行指令,而加了此參數(shù),可以以 username 的身份執(zhí)行指令(#uid 為該 username 的使用者號碼)
-s
執(zhí)行環(huán)境變數(shù)中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
-H
將環(huán)境變數(shù)中的 HOME (家目錄)指定為要變更身份的使用者家目錄(如不加 -u 參數(shù)就是系統(tǒng)管理者 root )
command
要以系統(tǒng)管理者身份(或以 -u 更改為其他人)執(zhí)行的指令
日志追蹤:
2.1.創(chuàng)建sudo.log文件
touch /var/log/sudo.log
2./etc/rsyslog.conf配置文件最后面添加一行
local2.debug /var/log/sudo.log #空白處不能用空格鍵,必需用tab鍵
3./etc/ sudoers配置文件最后添加如下
Defaults logfile=/var/log/sudo.log
Defaults loglinelen=0
Defaults !syslog
4.重啟syslog服務
[root@localhost .ssh]# service rsyslog restart
或者 /etc/init.d/rsyslog restart
5.確定進程
[root@localhost .ssh]# ps -aux |grep rsyslog
6.測試
測試賬戶使用sudo命令,在root用戶查看是否有記錄
[root@localhost .ssh]# tail -f /var/log/sudo.log
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。