linux系統為什麼不能一直以root許可權操作呢

2021-08-11 03:40:17 字數 2140 閱讀 9769

眾所周知,大家操作伺服器的時候,總是會碰到一些許可權問題。毫無疑問,這個時候用root超級管理員的許可權是最方便的,簡直秒天秒地秒空氣,那麼為什麼我們的boss都不支援我們一直處在root許可權呢,在此研究一下。

在linux作業系統中,root的許可權是最高的,也被稱為超級許可權的擁有者。普通使用者無法執行的操作,root使用者都能完成,所以也被稱之為超級管理使用者。

在系統中,每個檔案、目錄和程序,都歸屬於某乙個使用者,沒有使用者許可其它普通使用者是無法操作的,但對root除外。root使用者的特權性還表現在root可以超越任何使用者和使用者組來對檔案或目錄進行讀取、修改或刪除(在系統正常的許可範圍內);對可執行程式的執行、終止;對硬體裝置的新增、建立和移除等;也可以對檔案和目錄進行屬主和許可權進行修改,以適合系統管理的需要(因為root是系統中許可權最高的特權使用者);

在所有linux系統中,系統都是通過uid來區分使用者許可權級別的,而uid為0的使用者被系統約定為是具有超級許可權。超級使用者具有在系統約定的最高許可權滿園內操作,所以說超級使用者可以完成系統管理的所有工具;我們可以通過/etc/passwd 來查得uid為0的使用者是root,而且只有root對應的uid為0,從這一點來看,root使用者在系統中是無可替代的至高地位和無限制許可權。root使用者在系統中就是超級使用者;

普通使用者是屬於root通過useradd等,新建立的使用者。普通使用者的uid和root使用者的uid是不一樣的。同樣的,普通使用者擁有的許可權自然也是有限的。

與超級使用者相對的就是普通使用者和虛擬(也被稱為偽裝使用者),普通和偽裝使用者都是受限使用者;但為了完成特定的任務,普通使用者和偽裝使用者也是必須的;linux是乙個多使用者、多工的作業系統,多使用者主要體現在使用者的角色的多樣性,不同的使用者所分配的許可權也不同;這也是linux系統比windows系統更為安全的本質所在。

答:如上所言,root在系統中是無敵的存在,相應的,如果用root許可權做什麼不利於系統的操作的時候,造成的損失也是毀滅級別的。linux系統之所以安全,也是因為許可權的分配使得大部分的操作不會影響系統的執行。

普通使用者,特別是開發人員,總會需要各種各樣的操作命令來完成一些功能。一般來說,普通使用者的許可權也能夠滿足我們的絕大部分需求,所以為了保證安全,我們盡量還是要以普通使用者的許可權來作業系統。實在是許可權不夠的時候,可以通過su命令或者sudo命令臨時使用root許可權。

1、su命令就是切換使用者的工具,怎麼理解呢?比如我們以普通使用者beinan登入的,但要新增使用者任務,執行useradd ,beinan使用者沒有這個許可權,而這個許可權恰恰由root所擁有。解決辦法無法有兩個,一是退出beinan使用者,重新以root使用者登入,但這種辦法並不是最好的;二是我們沒有必要退出beinan使用者,可以用su來切換到root下進行新增使用者的工作,等任務完成後再退出root。我們可以看到當然通過su 切換是一種比較好的辦法;

2、常用的su 命令

(1)su 不加引數

//此命令是切換到root許可權,一般是需要輸入root密碼的,是臨時擁有root許可權

//使用此命令的時候,我們使用的環境變數還是普通使用者的環境變數,還是在普通使用者的目錄下執行命令,檢視uid之後發現,我們的uid並不是0.

su root

(2)su 引數-

//此命令的意思是切換到root許可權,並且使用root超級使用者的環境變數,以及uid。

//此時可以檢視/etc/pwd 和 /etc/shadow可以發現,我們已經完全使用了root超級使用者的一切環境

su -

(3)su - 使用者名稱

這個命令的意思就是切換到任意乙個使用者,使用該使用者的許可權,並且跳到該使用者的主目錄下

//切換到test使用者下,此時檢視uid會發現我們已經使用了test的uid,和上面的命令相似

su - test

(4)su 命令的缺點

不夠安全。不管是哪個使用者,只要知道了root使用者的密碼,他們都可以通過輸入root的密碼而使用root許可權為所欲為。所以在多人管理中,並不適合使用su命令,那麼sudo命令就成為更好的選擇。

這裡我自己也沒好好研究過這個命令。也是水平十分有限。請移步**大神的部落格:

這篇博文寫的很贊,受益匪淺。

總體來說,我們為了保證系統的安全,最好是不要一直以root許可權來作業系統。雖然許可權無敵的感覺很好。。使用普通使用者許可權,在許可權不足的時候臨時切換到root許可權即可。

參考文章:

end

專案經理為什麼一直遭人煩

1 工作得正起勁,這貨突然閃入視線現來問進度 xx介面調通了沒有,xx分享功能完成了嗎?沒有完成?那什麼時候完成?老子 你懂嗎!需要你支援了嗎!上線還需要你施壓!re 專案進度還是要跟進的,這是pm的主要職責之一,但是也不是說無時無刻不分場合的去問 我寫程式的時候也很討厭被打斷,很痛苦 和程式設計師...

為什麼,我們不可以一直一直走下去

我若想你,我就給你寫信。在心裡,這樣跟你說說話。為什麼,我們不可以一直走下去 我關掉了屋裡所有的燈,坐在窗前。窗外的月亮在濃黑裡,格外動人。清澈的,寒冷的,亙古不變的,滄桑的,寂寞的,無人可說的 相思 溶在月色裡。我說不清什麼叫做孤獨。可我知道,我很孤獨。當我獨自穿行在這座陌生的城市,匿跡在車水馬龍...

為什麼你的月薪一直破不了萬?

算一筆賬,在北京扣除五險一金的全部繳納專案稅前工資需要15000元,在上海扣除五險一金要到14000元,在廣州和深圳的職場人需要稅前工資在16000元才能確保月薪破萬。所以稅前的工資不夠高,月薪拿到手裡當然只有幾千塊了。如果月薪低於萬元是常態,那麼你屬於哪一種情況?工作一兩年的職場菜鳥 如果你目前工...