linux系統下sudo命令使用方法
“Sudo” 是Unix/Linux平台上的一個非常有用的工具,它允許系統管理員分配給普通用户一些合理的“權利”,讓他們執行一些只有超級用户或其他特許用户才能完成的任務,比如:運行一些像restart,reboot,passwd之類的命令,或者編輯一些系統配置文件這樣以來,就不僅減少了root用户的登陸次數和管理時間,也提高了系統安全性。
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分鐘的“入場券”(默認值可以在編譯的時候改變)。超時以後,用户必須重新輸入密碼。
-
Windows XP如何設置關機時自動清理緩存文件
WinXP在關機時,有些頁面文件還會保存在系統中,而不會被清除。那麼,怎麼才能使WinXP在關機時,自動清除系統的頁面文件呢?下面是小編為大家整理關於WindowsXP如何設置關機時自動清理緩存文件的方法家閲讀!操作步驟:1、單擊“開始”菜單,單擊“運行”,在對話框中輸入“Reg...
-
在Linux系統中批量添加用户的方法講解教程
在Linux系統中批量添加用户的方法講解教程我們什麼時候才需要大批量添加用户呢?有時我們需要讓幾十個或更多的用户在主機上完成相同或相似的任務,比如我們想同時添加一堆的ftp用户,這些ftp用户歸屬同一組,但不允許他們通過終端或遠程登錄服務器;有時我們可能為了教...
-
使用python實現Linux異步epoll的代碼
代碼如下:importsocketimportselectif__name__=="__main__":s=et(_INET,_STREAM)ockopt(_SOCKET,_REUSEADDR,1)(("",20123))en(10)epoll=l()printno()printLIN|LETster(no(),LIN|LET)while1:epoll_list=()forfd,eventsinepoll_list:printfdprinteventsiffd==no...
-
安裝計算機系統的幾種常用方法
安裝計算機系統的方法很多,下面小編介紹幾種安裝計算機系統的常用方法,供大家參考。第一種方法:製作U盤啟動盤安裝系統。這種方法適合絕大多數的計算機,但也有少數計算機的主板沒有USB啟動設置,這類型的計算機不能用U盤安裝系統的方法來安裝系統。用U盤安裝計算機系...