轉(zhuǎn)自:http://hi.baidu.com/zjg23/blog/item/70bc34378bc46a260a55a908.html
(二)SU和SUDO命令
(1)SU命令用于切換用戶(hù),單獨(dú)的SU等效于SU ROOT,作用都是切換到ROOT用戶(hù)。
假設(shè)你忘記根用戶(hù)密碼:
zjg@ubuntu:~$ su
密碼:
su:認(rèn)證失敗
普通用戶(hù)無(wú)法查看或更改根用戶(hù)的密碼:
zjg@ubuntu:~$ passwd root
passwd:您不能查看或更改 root 的密碼信息。
SUDO命令讓你在普通用戶(hù)下執(zhí)行一些ROOT用戶(hù)下的命令(如果這個(gè)用戶(hù)有相應(yīng)的權(quán)限的話(huà))
加:
所以你可以通過(guò)sudo來(lái)執(zhí)行passwd命令并修改root用戶(hù)密碼
可以看出ROOT的密碼和普通用戶(hù)(你自己創(chuàng)建的用戶(hù))密碼是兩個(gè)不一樣的密碼。
zjg@ubuntu:~$ sudo passwd root
[sudo] password for zjg: //輸入普通用戶(hù)zjg的密碼
輸入新的 UNIX 密碼:
重新輸入新的 UNIX 密碼:
passwd:已成功更新密碼
現(xiàn)在你就可以用新密碼切換到根用戶(hù)了。
zjg@ubuntu:~$ su
密碼:
root@ubuntu:/home/zjg#
如果普通用戶(hù)沒(méi)有相應(yīng)的權(quán)限,用上述方法更改根用戶(hù)的密碼是行不通的。
(2)
由于su 對(duì)切換到超級(jí)權(quán)限用戶(hù)root后,權(quán)限的無(wú)限制性,所以su并不能擔(dān)任多個(gè)管理員所管理的系統(tǒng)。如果用su 來(lái)切換到超級(jí)用戶(hù)來(lái)管理系統(tǒng),也不能明確哪些工作是由哪個(gè)管理員進(jìn)行的操作。特別是對(duì)于的管理有多人參與管理時(shí),最好是針對(duì)每個(gè)管理員的技術(shù)特長(zhǎng)和管理范圍,并且有針對(duì)性的下放給權(quán)限,并且約定其使用哪些工具來(lái)完成與其相關(guān)的工作,這時(shí)我們就有必要用到 sudo。
通過(guò)sudo,我們能把某些超級(jí)權(quán)限有針對(duì)性的下放,并且不需要普通用戶(hù)知道root密碼,所以sudo 相對(duì)于權(quán)限無(wú)限制性的su來(lái)說(shuō),還是比較安全的,所以sudo 也能被稱(chēng)為受限制的su ;另外sudo 是需要授權(quán)許可的,所以也被稱(chēng)為授權(quán)許可的su;
sudo 執(zhí)行命令的流程是當(dāng)前用戶(hù)切換到root(或其它指定切換到的用戶(hù)),然后以root(或其它指定的切換到的用戶(hù))身份執(zhí)行命令,執(zhí)行完成后,直接退回到當(dāng)前用戶(hù);而這些的前提是要通過(guò)sudo的配置文件/etc/sudoers來(lái)進(jìn)行授權(quán);