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機器上,一個安全對話框會彈出來,要求你輸入密碼,並點擊「肯定」。ide

而Linux方面顯得更有戲劇性。要是沒有適當的權限,一些操做會顯得至關怪異。你在編輯的那個重要的配置文件可能沒法正確保存內容。你安裝上去的那個程序可能就是拒絕運行。你已下載、想要編譯的那段出色的源代碼編譯不了。你要是不走運的話,甚至還會看到"拒絕訪問"或另外一個錯誤信息。你最擔憂的種種狀況都變成了現實,但你要作的就是請求權限!這就是爲何咱們在執行像下面這種操做時,應該牢記事先請求超級用戶權限:spa

sudo reboot

在這個屏幕截圖中看看若是咱們沒有先借助sudo提高權限,會出現什麼狀況:orm

首先,咱們使用重啓命令嘗試重啓系統。該命令沒有提到:「必須是超級用戶」。而後,咱們試着用sudo重啓。sudo要求你提供用戶密碼。請注意:它要求你提供的是你的密碼,而不是根密碼。最後,咱們看到代表如今將重啓系統的廣播信息。sudo就像是個神奇的命令,會發出神奇的指令。htm

爲何sudo比另外一個辦法更好?blog

sudo是提高權限的最出色、最安全的方法。咱們不妨看一下提高權限的另外一個方法。做爲切換用戶命令,"su"會要求你輸入根密碼,而且給你一個超級用戶提示符,以#符號表示。這個#符號意味着"危險!你已做根用戶登陸上去!"你下達的第一個命令也許順利執行完畢。可是你一旦忘了,會繼續以根用戶身份登陸。要是打錯一個字,就完蛋了!你清除了整個硬驅,而不是清除你下載的那個盜版mp3文件。你的Web服務器和家庭公司通通不見了!若是是sudo,你就得在每個命令以前輸入"sudo"。於是,你不必記得切回到常規用戶模式,那樣發生的事故就會更少。事務

Suderos文件get

這個文件可謂是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 -l但看當前用戶有哪些權限。

有沒有如今就用它?

咱們想要運行重要任務時,sudo提供了安全的提高權限。在Linux用戶當中,它也許是使用最普遍、功能最強大的命令,由於它已成爲該發行版中的首選方法。既然你擁有了這麼大的權利,那麼在運行命令時務必要作到安全!世上可沒有su-undo撤銷命令!

相關文章
相關標籤/搜索