Latest News

Home » Linux主機伺服器 » 什麼是: sudo ?

什麼是: sudo ?

我們常在書上或網路上看到文章(執行指令),一開頭就是 sudo

那什麼是: sudo 呢?
Sudo,是一種程序,用於類Unix操作系統如BSD,Mac OS X,以及GNU/Linux以允許用戶通過安全的方式使用特殊的權限運行程序。
Sudo(substitute user [或 superuser] do),是一種程式
用於類Unix作業系統如BSD,Mac OS X,以及GNU/Linux以允許使用者透過安全的方式使用特殊的權限執行程式(通常為系統的超級使用者)。

sudo 原理:
在sudo於1980年前後被寫出之前,一般使用者管理系統的方式是利用su切換為超級使用者。
但是使用su的缺點之一在於必須要先告知超級使用者的密碼。

sudo使一般使用者不需要知道超級使用者的密碼即可獲得權限。
首先超級使用者將普通用戶的名字、可以執行的特定命令、按照哪種用戶或用戶組的身份執行等資訊,登記在特殊的檔案中(通常是/etc/sudoers),即完成對該使用者的授權(此時該使用者稱為「sudoer」)[3];在一般使用者需要取得特殊權限時,其可在命令前加上「sudo」,此時sudo將會詢問該使用者自己的密碼(以確認終端機前的是該使用者本人),回答後系統即會將該命令的行程以超級使用者的權限執行。之後的一段時間內(預設為5分鐘[4],可在/etc/sudoers自訂),使用sudo不需要再次輸入密碼。

由於不需要超級使用者的密碼,部分Unix系統甚至利用sudo使一般使用者取代超級使用者作為管理帳號,例如:Ubuntu、Mac OS X等。
語法:
sudo [-bhHpV][-s ][-u <用户>][指令]

sudo [-klv]

參數

-b  在後台執行指令。

-h  顯示幫助。

-H  將HOME環境變數設為新身份的HOME環境變數。

-k  結束密碼的有效期限,也就是下次再執行sudo時便需要輸入密碼。

-l  列出目前用戶可執行與無法執行的指令。

-p  改變詢問密碼的提示符號。

-s  執行指定的shell。

-u <用戶>  以指定的用戶作為新的身份。若不加上此參數,則預設以root作為新的身份。

-v  延長密碼有效期限5分鐘。

-V  顯示版本資訊。

-S   從標準輸入流替代終端來取得密碼

—————————————————————-

About

發佈留言