CentOS6.3 系統中su,su -,sudo三命令講解

CentOS6.3 系統中susu -sudo三命令講解linux

        在linux系統中,因爲root的權限過大,通常狀況都不使用它。只有在一些特殊狀況下才採用登陸root執行管理任務,通常狀況下臨時使用root權限多采用susudo命令。 su命令就是切換用戶的工具,怎麼理解呢?好比咱們以普通用戶wade登陸的,但要添加用戶任務,執行useradd wade用戶沒有這個權限,而這個權限偏偏由root所擁有。解決辦法沒法有兩個,一是退出wade用戶,從新以root用戶登陸,但這種辦法並非最好的;二是咱們沒有必要退出wade用戶,能夠用su來切換到root下進行添加用戶的工做,等任務完成後再退出root。咱們能夠看到固然經過su 切換是一種比較好的辦法;經過su能夠在用戶之間切換,而超級權限用戶root向普通或虛擬用戶切換不須要密碼,什麼是權力?這就是!而普通用戶切換到其它任何用戶都須要密碼驗證!  shell

1、su - 命令對比:安全

經過上圖時間操做咱們能夠分析得出兩個命令之間的區別:服務器

1、參數 -, -l, --login
              make the shell a login shell工具

  翻譯過來的意思以下:spa

su -su -lsu --login 命令改變身份時,也同時變動工做目錄,以及HOMESHELLUSERLOGNAME。此外,也會變動PATH變量。su -命令則默認轉換成成root用戶了。.net

而不帶參數的「su命令」不會改變當前工做目錄以及HOME,SHELL,USER,LOGNAME。只是擁有了root的權限而已。翻譯

2su的優缺點;  blog

su的確爲管理帶來方便,經過切換到root下,能完成全部系統管理工具,只要把root的密碼交給任何一個普通用戶,他都能切換到root來完成全部的系統管理工做;但經過su切換到root後,也有不安全因素;好比系統有10個用戶,並且都參與管理。若是這10個用戶都涉及到超級權限的運用,作爲管理員若是想讓其它用戶經過su來切換到超級權限的root,必須把root權限密碼都告訴這10個用戶;若是這10個用戶都有root權限,經過root權限能夠作任何事,這在必定程度上就對系統的安全形成了威協;想一想Windows吧,簡直就是惡夢;「沒有不安全的系統,只有不安全的人」,咱們絕對不能保證這 10個用戶都能按正常操做流程來管理系統,其中任何一人對系統操做的重大失誤,均可能致使系統崩潰或數據損失;因此su 工具在多人蔘與的系統管理中,並非最好的選擇,su只適用於一兩我的參與管理的系統,畢竟su並不能讓普通用戶受限的使用;超級用戶root密碼應該掌握在少數用戶手中,這絕對是真理!因此集權而治的存在仍是有必定道理的。  get

2、susudo命令對比:

       在普通用戶下輸入su命令後,會提示輸入root帳戶的密碼,而後就進入特權模式(跟用root登陸系統徹底同樣),輸入exit或者su - user 退出。

 

而採用sudo命令,只需輸入當前用戶的密碼(也能夠配置爲不輸入密碼)便可執行須要root權限執行的命令:

經過上面的對比能夠看出,sudosu有不少優勢:

1、普通用戶不須要知道root的密碼便可執行須要root權限的命令;

2、不會因忘記退出而採用root執行了會引發破壞性的命令(初學linux常常犯這個錯);

3.  因爲su 對切換到超級權限用戶root後,權限的無限制性,因此su並不能擔任多個管理員所管理的系統。若是用su 來切換到超級用戶來管理系統,也不能明確哪些工做是由哪一個管理員進行的操做。特別是對於服務器的管理有多人蔘與管理時,最好是針對每一個管理員的技術特長和管理範圍,而且有針對性的下放給權限,而且約定其使用哪些工具來完成與其相關的工做,這時咱們就有必要用到 sudo   經過sudo,咱們能把某些超級權限有針對性的下放而且不須要普通用戶知道root密碼,因此sudo 相對於權限無限制性的su來講,仍是比較安全的,因此sudo 也能被稱爲受限制的su ;另外sudo 是須要受權許可的,因此也被稱爲受權許可的susudo 執行命令的流程是當前用戶切換到root(或其它指定切換到的用戶),而後以root(或其它指定的切換到的用戶)身份執行命令,執行完成後,直接退回到當前用戶;而這些的前提是要經過sudo的配置文件/etc/sudoers來進行受權。  

3、sudo命令配置

linux系統中,新建的普通用戶並無執行sudo的權限,如新建一個名爲wade的普通用戶,輸入sudo命令會有以下提示:

這句的意思是在sudoers文件中不存在wade這個用戶,這個時間會被報告給管理員。

既然知道問題處於sudoers這個文件,那咱們就看看這個文件爲什麼方神聖:

打開文件後,內容以下圖所示:

應該是沒有權限,退出編輯狀態後查看權限:

原來root也只有只讀權限,難怪,首先修改權限以讓root有徹底控制權限:

再次編輯,此次沒有出現只讀提示了,而後在文件末尾找到以下字段:

添加用戶wade到列表,添加後如wade  ALL=(ALL)    ALL  以下圖所示:

修改完後輸入:wq保存,保存後記得把權限修改回去,不然會有錯誤提示。

權限必定是440,不然就會有錯誤提示。

OK,如今在wade用戶下就能夠正常使用sudo命令了,如圖。

全文結束!

 

內容轉自:http://blog.csdn.net/zolalad/article/details/11369423

相關文章
相關標籤/搜索