閱讀188 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Root 是誰?為什麼會有 Root 賬戶?

在 Linux 中為什麼會有一個名為 root 的特定賬戶?該怎麼使用 root 賬戶?它在哪些場景下必須使用,哪些場景下不能使用?對於以上幾個問題,如果您感興趣的話,那麼請繼續閱讀。

本文中,我們提供了一些關於 root 賬戶的參考資料,方便您了解。

root 是什麼?

首先,記住這一點,在 Unix 類操作係統中,目錄的層級結構被設計為樹狀結構。起始目錄是一個特殊目錄,使用斜杠 / 表示,而其他目錄都是由起始目錄分支而來。由於這種結構很像現實中的樹,所以 / 也被稱為根root目錄。

下圖,我們可以看到以下命令的輸出:


  1. $ tree -d / | less

該命令主要是演示一下 / 根目錄和樹根root的類比。

Linux 的目錄層級

Linux 的目錄層級

雖然 root 賬戶命名的原因還不是很清楚,可能是因為 root 賬戶是唯一一個在根目錄 / 中有寫權限的賬號吧。

此外,由於 root 賬戶可以訪問 Unix 類操作係統中的所有文件和命令,因此,它也常被稱為超級用戶。

另外,根目錄 / 和 /root 目錄不能混淆了,/root 目錄是 root 賬戶的家目錄。實際上,/root 目錄是根目錄 / 的子目錄。

獲取 root 權限

當我們說到 root(或者超級用戶)權限的時候,我們指的是這樣一種賬戶的權限:其在係統上的權限包含(但不限於)修改係統並授權其他用戶對係統資源的訪問權限。

胡亂使用 root 賬戶,輕則係統崩潰重則係統完全故障。這就是為什麼會說,以下準則是使用 root 賬戶的正確姿勢:

首先,使用 root 賬戶運行 visudo 命令編輯 /etc/sudoers 文件,給指定賬戶(如:supervisor)授予最低的超級用戶權限。

最低超級用戶權限可以包含,例如:添加用戶 (adduser)修改用戶 (usermod)等權限。

接著,使用 supervisor 賬戶登錄並使用 sudo 執行用戶管理任務。此時,你可能會發現,當你執行需要超級用戶權限(例如:刪除軟件包)的其它任務時,會失敗。

沒有使用超級用戶權限運行命令

沒有使用超級用戶權限運行命令

在必須使用超級用戶權限時,重複執行以上兩個步驟,一旦執行完成,則立即使用 exit 命令退回到無特限的賬戶。

此時,你需要確定一下其他周期性的任務是否需要超級用戶權限?如果需要,那麼在 /etc/sudoers 中,給指定的賬戶或組授予必要的權限,盡量避免直接使用 root 賬戶操作。

原文發布時間為:2017-02-20

本文來自雲棲社區合作夥伴“Linux中國”

最後更新:2017-05-25 09:02:33

  上一篇:go  Nodejs進階:核心模塊Buffer常用API使用總結
  下一篇:go  利用 Scikit Learn的Python數據預處理實戰指南