1. 程式人生 > >Linux root使用者與一般使用者的區別

Linux root使用者與一般使用者的區別

root使用者可以在Linux系統上做任何操作,許可權沒有收到任何限制。一般需要root許可權的任務包括:移動檔案或者資料夾in或者out of 系統目錄,複製檔案到系統目錄,賦予或者收回使用者許可權,系統維護和安裝一些應用程式,例如:安裝RPM格式的軟體通常需要root許可權,因為需要寫一些資訊到系統目錄。還有一個需要注意的就是,對於小於1024埠的知名埠,只有root使用者才可以有許可權偵聽,如果應用程式需要偵聽小於1024的埠,可以採用臨時提權,偵聽埠之後,再收回許可權的方式進行。如果一直使用root執行應用程式,將會很危險,Linux的sendmail就曾經出現過使用root執行sendmail因為要偵聽25埠,結果sendmail程式出問題之後,可以通過這個安全問題控制整臺伺服器,因為它是用root使用者啟的。

一個一般使用者是根據他所在的組的許可權指定的一些操作,但是,一般來說,會拒絕使用一些會影響他的home目錄之外的命令。使用者可以被允許使用sudo命令,臨時賦予root許可權。Unix系列的系統預設是組織一般使用者訪問系統的關鍵部分和其他使用者的檔案和資料夾。

關於sudo之後可以執行哪些命令,可以通過編輯 /etc/sudoers檔案:

要為某個使用者提供特權,使其可以使用sudo執行所有命令,在配置檔案中加入:

使用者名稱   ALL=(ALL) ALL

只為使用者啟用部分特權:

使用者名稱 主機名=/sbin/halt,/sbin/poweroff,/sbin/reboot

還可以通過/etc/sudoers設定超時機制等。

/etc/sudoers檔案預設是隻有root使用者才可以修改和訪問的,如果不小心修改了/etc/sudoers的訪問許可權,要記住立刻恢復。

總之,對於一般的應用程式來說,無論有多好冠冕堂皇的理由,都要禁止使用root使用者啟動,即使是放在公司內部或者資料中心內部的伺服器也是如此,因為,你不能保證你的程式不會出問題。所以,為了安全起見,最好還是建立一個應用程式專用的帳號,並且賦予這個帳號應用程式需要的許可權即可(即最小許可權),這樣即使程式出了問題,攻擊者對整臺機器的控制也是有限的。