sudo


sudo 簡介

以下之簡介係取材至臺北市立逸仙國民小學RedHat Linux 入門和安裝基本命令操作篇:

我們平時都用普通帳號登錄系統,如果碰到一定要使用 root 的權力的時候,您可以輸入:
su -

(su 不帶‘-’的話,root 的一些環境設定可能不會生效,例如程式路徑等),然後輸入 root 的密碼,您就可以轉變成 root 的身份了。當完成了系統設置之後,您可以輸入‘exit’跳離 root 的身份,回到自己的身份。這樣做完全是基於安全考量,因為 root 的權限最大了,他可以對系統做任何動作,如果 root 不小心破壞了系統設定或刪除了某些重要設定檔案,或修改了檔案的權限,除非您有備份,否則是永遠也救不回來的了。尤其是當您的系統被值入一個後門程式之後,使用 root 更是危險萬分,因為您一旦誤觸動機關,那麼該程式就是以 root 的身份執行﹗所以,有必要再一次提醒:除非必要,就不要使用 root 來工作。

tips:不過,有時候在一個多管理員的系統上,您或許不想將 root 的密碼到處公佈,或是不想每次(定期)改變 root 密碼之後要逐個轉告,那您可以使用 sudo 這個工具。

RedHat7.1 上面本身就裝好 sudo 套件了,您只需修 /etc/sudoers 這個檔。假如您要使用者完全獲得和 root 一樣的權力,那就將 root 那行複製一行,然後將 root 換成使用帳號名稱就是了:
user1	ALL=(ALL)  ALL

具體更細緻的設定,請您自行參考 sudo 的技術文件了。

如果您已經加在這個 list 中,然後要臨時以 root 身份執行相關指令,那就在命令前面加上 "sudo " ,再輸入您自己的密碼就可以了,例如:
sudo tail -20 /var/log/messages

如果要完全變成 root 的身份,輸入 "sudo su -" 然後是自己的密碼就好了。這樣,root 的密碼更好保護了,當然,在 sudoers 裡面的使用者,就要更小心保護他們自己的密碼了。


安裝 sudo


設定:

指令:visudo

visudo

假如您要使用者(tim, leo)完全獲得和 root 一樣的權力,請做如下的設定:

###
## User alias specification
###
User_Alias ADMIN = tim, leo

###
## User privilege specification
###
ADMIN ALL=(ALL) NOPASSWD : ALL


如何使用 sudo :

tim 或是 leo 登入後,欲變換身份成為 root 時,只要輸入:
sudo su -
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these two things:

        #1) Respect the privacy of others.
        #2) Think before you type.

Password:

請在Password:的提示後面,輸入 tim 或是 leo 自己的密碼,而不是 root 的密碼喔。


相關連結