主頁 > 知識(shí)庫 > Linux系統(tǒng)中的sudo命令使用講解

Linux系統(tǒng)中的sudo命令使用講解

熱門標(biāo)簽:電話機(jī)器人搭建 家政服務(wù)網(wǎng)絡(luò) 服務(wù)器配置 百度競價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 硅谷的囚徒呼叫中心 外呼系統(tǒng) 解決方案 美團(tuán)

“Sudo” 是Unix/Linux平臺(tái)上的一個(gè)非常有用的工具,它允許系統(tǒng)管理員分配給普通用戶一些合理的“權(quán)利”,讓他們執(zhí)行一些只有超級用戶或其他特許用戶才能完成的任務(wù),比如:運(yùn)行一些像restart,reboot,passwd之類的命令,或者編輯一些系統(tǒng)配置文件這樣以來,就不僅減少了root用戶的登陸次數(shù)和管理時(shí)間,也提高了系統(tǒng)安全性。

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

  sudo:它有什么用途?
  那么,sudo實(shí)際能做些什么呢?如果你在任何Linux命令的前面加上“sudo”這個(gè)前綴,那么它會(huì)以提升的權(quán)限來運(yùn)行該命令。執(zhí)行某些管理任務(wù)需要提升的權(quán)限。有一天,你可能想運(yùn)行一臺(tái)LAMP(Linux Apache MySQL PHP)服務(wù)器,又要手動(dòng)編輯配置文件。你可能還要重新啟動(dòng)或重置Apache Web服務(wù)器或者是其他服務(wù)后臺(tái)程序。你甚至需要提升的權(quán)限來關(guān)閉或重新計(jì)算機(jī)。“嘿,誰關(guān)閉了這臺(tái)機(jī)子?”
  如果你熟悉Windows,sudo與當(dāng)你試圖處理任何重要操作時(shí),彈出來的Windows用戶帳戶控制(ACL)對話框非常相似,只是不如后者來得友好。在Windows中,如果你試圖執(zhí)行某項(xiàng)管理任務(wù),對話框就會(huì)問你是否想繼續(xù)執(zhí)行(“你果真確信想要運(yùn)行剛才點(diǎn)擊的這個(gè)程序嗎?”)隨后執(zhí)行該任務(wù)。在Mac機(jī)器上,一個(gè)安全對話框會(huì)彈出來,要求你輸入密碼,并點(diǎn)擊“確定”。
  而Linux方面顯得更有戲劇性。要是沒有適當(dāng)?shù)臋?quán)限,一些操作會(huì)顯得相當(dāng)怪異。你在編輯的那個(gè)重要的配置文件可能無法正確保存內(nèi)容。你安裝上去的那個(gè)程序可能就是拒絕運(yùn)行。你已下載、想要編譯的那段出色的源代碼編譯不了。你要是不走運(yùn)的話,甚至還會(huì)看到“拒絕訪問”或另一個(gè)錯(cuò)誤信息。

  sudo是提升權(quán)限的最出色、最安全的方法。我們不妨看一下提升權(quán)限的另一個(gè)方法。作為切換用戶命令,“su”會(huì)要求你輸入根密碼,并且給你一個(gè)超級用戶提示符,以#符號表示。這個(gè)#符號意味著“危險(xiǎn)!你已作根用戶登錄上去!”你下達(dá)的第一個(gè)命令也許順利執(zhí)行完畢。但是你一旦忘了,會(huì)繼續(xù)以根用戶身份登錄。要是打錯(cuò)一個(gè)字,就完蛋了!你清除了整個(gè)硬驅(qū),而不是清除你下載的那個(gè)盜版mp3文件。你的Web服務(wù)器和家庭公司統(tǒng)統(tǒng)不見了!如果是sudo,你就得在每一個(gè)命令之前輸入“sudo”。因而,你沒必要記得切回到常規(guī)用戶模式,那樣發(fā)生的事故就會(huì)更少。

  Suderos文件
  這個(gè)文件可謂是sudo的基礎(chǔ)。它控制著誰可以使用sudo命令來獲得提升的權(quán)限。它通常位于/etc/sudoers。想編輯這個(gè)文件,最有效最安全的方式就是,使用visudo命令。這個(gè)命令會(huì)以提升權(quán)限啟動(dòng)vi編輯器,那樣你就能編輯并保存該文件。它還會(huì)給sudoers文件上文件鎖,那樣別人無法編輯該文件。一旦你完成了編輯工作,它會(huì)分析文件,查找有無簡單的錯(cuò)誤。編輯sudo文件要比僅僅使用任何舊的文本編輯器來得安全得多。
  該文件含有許多參數(shù)。你可以指定哪些用戶或哪些用戶助可以執(zhí)行哪些命令。我們準(zhǔn)備為自己授予訪問sudo的權(quán)限,為此只要在底部添加:
  username ALL=(ALL) ALL //為用戶“username”授予sudo訪問權(quán) %wheel ALL=(ALL) ALL //為屬于wheel用戶組的所有用戶授予sudo訪問權(quán)
  現(xiàn)在指定的用戶名就能夠使用所有根權(quán)限了。你還可以允許某個(gè)用戶或用戶組只對特定服務(wù)或服務(wù)器擁有sudo訪問權(quán),以取代ALL參數(shù),不過那是另一個(gè)話題了。
  幾個(gè)選項(xiàng)
  與任何優(yōu)秀的命令一樣,也有幾個(gè)很棒的選項(xiàng)可以讓sudo處理更多的事務(wù)。
  sudo -b會(huì)在后臺(tái)運(yùn)行命令。這對顯示許多實(shí)時(shí)輸出內(nèi)容的命令來說很有用。
  sudo -s 會(huì)運(yùn)行以提升權(quán)限指定的外殼,為你提供#提示符(別忘了退出?。?br />  sudo su -會(huì)讓你成為根用戶,并裝入你那些自定義的用戶環(huán)境變量。
  有沒有現(xiàn)在就用它?
  我們想要運(yùn)行重要任務(wù)時(shí),sudo提供了安全的提升權(quán)限。在Ubuntu用戶當(dāng)中,它也許是使用最廣泛、功能最強(qiáng)大的命令,因?yàn)樗殉蔀樵摪l(fā)行版中的首選方法。既然你擁有了這么大的權(quán)利,那么在運(yùn)行命令時(shí)務(wù)必要做到安全!世上可沒有su-undo撤銷命令!

   sudo的特點(diǎn)

  sudo扮演的角色注定了它要在安全方面格外謹(jǐn)慎,否則就會(huì)導(dǎo)致非法用戶攫取root權(quán)限。同時(shí),它還要兼顧易用性,讓系統(tǒng)管理員能夠更有效,更方便地使用它。sudo設(shè)計(jì)者的宗旨是:給用戶盡可能少的權(quán)限但仍允許完成他們的工作。所以,sudo 有以下特點(diǎn):

  # 1. sudo能夠限制指定用戶在指定主機(jī)上運(yùn)行某些命令。

  # 2. sudo可以提供日志,忠實(shí)地記錄每個(gè)用戶使用sudo做了些什么,并且能將日志傳到中心主機(jī)或者日志服務(wù)器。

  # 3. sudo為系統(tǒng)管理員提供配置文件,允許系統(tǒng)管理員集中地管理用戶的使用權(quán)限和使用的主機(jī)。它默認(rèn)的存放位置是/etc/sudoers。

  # 4.sudo使用時(shí)間戳文件來完成類似“檢票”的系統(tǒng)。當(dāng)用戶執(zhí)行sudo并且輸入密碼后,用戶獲得了一張默認(rèn)存活期為5分鐘的“入場券”(默認(rèn)值可以在編譯的時(shí)候改變)。超時(shí)以后,用戶必須重新輸入密碼。

   sudo常用命令

  

復(fù)制代碼
代碼如下:
sudo -h Help
列出使用方法,退出。

  

復(fù)制代碼
代碼如下:
sudo -V Version
顯示版本信息,并退出。

  

復(fù)制代碼
代碼如下:
sudo -l List
列出當(dāng)前用戶可以執(zhí)行的命令。只有在sudoers里 的用戶才能使用該選項(xiàng)。

  

復(fù)制代碼
代碼如下:
sudo -u username|#uid User
以指定用戶的身份執(zhí)行命令。后 面的用戶是除root以外的,可以是用戶名,也可以 是#uid。

  

復(fù)制代碼
代碼如下:
sudo -k Kill
清除“入場卷”上的時(shí)間,下次再使用sudo時(shí)要 再輸入密碼。

  

復(fù)制代碼
代碼如下:
sudo -K Sure kill
與-k類似,但是它還要撕毀“入場卷”,也 就是刪除時(shí)間戳文件。

  

復(fù)制代碼
代碼如下:
sudo -b command Background
在后臺(tái)執(zhí)行指定的命令。

  

復(fù)制代碼
代碼如下:
sudo -p prompt command Prompt
可以更改詢問密碼的提示語, 其中%u會(huì)代換為使用者帳號名稱,%h會(huì)顯示主機(jī)名稱。 非常人性化的設(shè)計(jì)。

  

復(fù)制代碼
代碼如下:
sudo -e file Edit
不是執(zhí)行命令,而是修改文件,相當(dāng)于命 令sudoedit。

標(biāo)簽:韶關(guān) 北海 烏蘭察布 撫州 南昌 邢臺(tái) 防城港 臨沂

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux系統(tǒng)中的sudo命令使用講解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266