當前位置:才華齋>計算機>作業系統>

linux系統下sudo命令使用方法

作業系統 閱讀(2.27W)

“Sudo” 是Unix/Linux平臺上的一個非常有用的工具,它允許系統管理員分配給普通使用者一些合理的“權利”,讓他們執行一些只有超級使用者或其他特許使用者才能完成的任務,比如:執行一些像restart,reboot,passwd之類的命令,或者編輯一些系統配置檔案這樣以來,就不僅減少了root使用者的登陸次數和管理時間,也提高了系統安全性。

linux系統下sudo命令使用方法

sudo是個統管一切的命令。它的字面意思是代表“超級使用者才能做!”(super user do!)對Linux系統管理員或高階使用者而言,它是必不可少的最重要的命令之一。你可曾有過這樣的經歷:在終端中試著執行某個命令,結果卻遇到“拒絕訪問”?這個就是你所需要的命令!但正所謂,權力越大,責任也越大!較之以根使用者身份登入,或者使用 su “switch user” 命令,sudo要好得多。請耐心讀下去,看看sudo能為你做些什麼!

sudo:它有什麼用途?

那麼,sudo實際能做些什麼呢?如果你在任何Linux命令的前面加上“sudo”這個字首,那麼它會以提升的許可權來執行該命令。執行某些管理任務需要提升的許可權。有一天,你可能想執行一臺LAMP(Linux Apache MySQL PHP)伺服器,又要手動編輯配置檔案。你可能還要重新啟動或重置Apache Web伺服器或者是其他服務後臺程式。你甚至需要提升的許可權來關閉或重新計算機。“嘿,誰關閉了這臺機子?”

如果你熟悉Windows,sudo與當你試圖處理任何重要操作時,彈出來的Windows使用者帳戶控制(ACL)對話方塊非常相似,只是不如後者來得友好。在Windows中,如果你試圖執行某項管理任務,對話方塊就會問你是否想繼續執行(“你果真確信想要執行剛才點選的這個程式嗎?”)隨後執行該任務。在Mac機器上,一個安全對話方塊會彈出來,要求你輸入密碼,並點選“確定”。

而Linux方面顯得更有戲劇性。要是沒有適當的許可權,一些操作會顯得相當怪異。你在編輯的那個重要的配置檔案可能無法正確儲存內容。你安裝上去的那個程式可能就是拒絕執行。你已下載、想要編譯的那段出色的原始碼編譯不了。你要是不走運的話,甚至還會看到“拒絕訪問”或另一個錯誤資訊。

sudo是提升許可權的最出色、最安全的方法。我們不妨看一下提升許可權的'另一個方法。作為切換使用者命令,“su”會要求你輸入根密碼,並且給你一個超級使用者提示符,以#符號表示。這個#符號意味著“危險!你已作根使用者登入上去!”你下達的第一個命令也許順利執行完畢。但是你一旦忘了,會繼續以根使用者身份登入。要是打錯一個字,就完蛋了!你清除了整個硬驅,而不是清除你下載的那個盜版mp3檔案。你的Web伺服器和家庭公司統統不見了!如果是sudo,你就得在每一個命令之前輸入“sudo”。因而,你沒必要記得切回到常規使用者模式,那樣發生的事故就會更少。

Suderos檔案

這個檔案可謂是sudo的基礎。它控制著誰可以使用sudo命令來獲得提升的許可權。它通常位於/etc/sudoers。想編輯這個檔案,最有效最安全的方式就是,使用visudo命令。這個命令會以提升許可權啟動vi編輯器,那樣你就能編輯並儲存該檔案。它還會給sudoers檔案上檔案鎖,那樣別人無法編輯該檔案。一旦你完成了編輯工作,它會分析檔案,查詢有無簡單的錯誤。編輯sudo檔案要比僅僅使用任何舊的文字編輯器來得安全得多。

該檔案含有許多引數。你可以指定哪些使用者或哪些使用者助可以執行哪些命令。我們準備為自己授予訪問sudo的許可權,為此只要在底部新增:

username ALL=(ALL) ALL //為使用者“username”授予sudo訪問權 %wheel ALL=(ALL) ALL //為屬於wheel使用者組的所有使用者授予sudo訪問權

現在指定的使用者名稱就能夠使用所有根許可權了。你還可以允許某個使用者或使用者組只對特定服務或伺服器擁有sudo訪問權,以取代ALL引數,不過那是另一個話題了。

幾個選項

與任何優秀的命令一樣,也有幾個很棒的選項可以讓sudo處理更多的事務。

sudo -b會在後臺執行命令。這對顯示許多實時輸出內容的命令來說很有用。

sudo -s 會執行以提升許可權指定的外殼,為你提供#提示符(別忘了退出!)

sudo su -會讓你成為根使用者,並裝入你那些自定義的使用者環境變數。

有沒有現在就用它?

我們想要執行重要任務時,sudo提供了安全的提升許可權。在Ubuntu使用者當中,它也許是使用最廣泛、功能最強大的命令,因為它已成為該發行版中的首選方法。既然你擁有了這麼大的權利,那麼在執行命令時務必要做到安全!世上可沒有su-undo撤銷命令!

sudo的特點

sudo扮演的角色註定了它要在安全方面格外謹慎,否則就會導致非法使用者攫取root許可權。同時,它還要兼顧易用性,讓系統管理員能夠更有效,更方便地使用它。sudo設計者的宗旨是:給使用者儘可能少的許可權但仍允許完成他們的工作。所以,sudo 有以下特點:

1. sudo能夠限制指定使用者在指定主機上執行某些命令。

2. sudo可以提供日誌,忠實地記錄每個使用者使用sudo做了些什麼,並且能將日誌傳到中心主機或者日誌伺服器。

3. sudo為系統管理員提供配置檔案,允許系統管理員集中地管理使用者的使用許可權和使用的主機。它預設的存放位置是/etc/sudoers。

使用時間戳檔案來完成類似“檢票”的系統。當用戶執行sudo並且輸入密碼後,使用者獲得了一張預設存活期為5分鐘的“入場券”(預設值可以在編譯的時候改變)。超時以後,使用者必須重新輸入密碼。