知識庫 使用 Profitserver 服務的簡單說明
主要 知識庫 Linux 使用者:管理和權限

Linux 使用者:管理和權限


在本文中,我們將探討正確組織 Linux 使用者的重要性。我們將描述存取權限,從如何建立和配置使用者開始,到如何授予對特定文件和資料夾的存取權限結束。我們還將討論一些重要的安全工具,例如 sudo 和 SELinux,它們有助於保護系統免受不必要的活動的侵害。

Linux 中使用者管理和存取權限的重要性

在 Linux 世界中,使用者管理和存取權限扮演著至關重要的角色。不妨將 Linux 想像成一棟大型公寓,每個使用者都是租戶,每個檔案都是一個房間。使用者管理就像是為每個租戶分配一把獨一無二的鑰匙,而存取權限則相當於他們在自己的房間裡可以執行的操作。

當使用者建立時,會被指派一個名稱和一個唯一識別碼(UID),就像公寓的專屬鑰匙一樣。用戶也會加入一個群組,與其他租戶聯繫在一起。群組就像一個俱樂部,成員之間共享共同的權限。

文件存取權限分為三類:所有者(使用者)、使用者群組其他使用者。每個鍵(使用者)在每個類別中都可以擁有獨特的讀取、寫入和執行權限。例如,檔案擁有者可能擁有讀取和寫入權限,使用者群組可能只有讀取權限,而其他使用者則沒有任何權限。

Linux 系統中使用的sudoSELinux等安全策略值得特別關注。 sudo 是一個特殊命令,它允許普通使用者暫時使用超級使用者(root)權限來執行通常只有管理員才能執行的特定任務。這有助於防止意外錯誤或濫用超級使用者權限。使用sudo時,使用者通常需要輸入密碼以確認身分。之後,他們可以根據sudoers檔案中設定的規則,以超級使用者(root)權限執行命令。

SELinux是 Linux 作業系統的一層額外安全防護。它監控系統中可以使用的程式和文件,並限制對它們的訪問,以防止入侵和攻擊。這透過阻止駭客攻擊或惡意行為,提高了伺服器的安全性。

建立和管理用戶

如何在 Linux 中建立用戶

Linux 使用者通常使用useradd命令建立。例如,要建立一個名為“username”的用戶,您需要輸入:

useradd username

如何設定 Linux 使用者密碼

用戶建立後,其帳戶未設定密碼保護。若要為新使用者設定密碼,請使用passwd指令:

passwd username

其中使用者名稱是要設定密碼的使用者的名稱。

如何在 Linux 中查看使用者列表

要在 Linux 系統中使用終端機中的單一命令查看使用者列表,可以使用cut命令:

cut -d: -f1 /etc/passwd

該命令讀取/etc/passwd檔案的內容,該檔案包含有關所有使用者的信息。

要獲取有關特定用戶的信息,可以使用以下命令:

id username

這將顯示使用者的UIDGID群組

刪除 Linux 用戶

若要刪除用戶,請使用userdel指令:

userdel username

但是,此命令不會刪除使用者主目錄中的檔案。要刪除它們,可以使用-r選項:

userdel -r username

這將刪除使用者名稱及其主目錄及其中的所有檔案。

修改 Linux 用戶

若要修改使用者資訊,請使用usermod指令。該工具使用以下語法:

usermod argument user

該實用程式的說明中顯示了可能的參數的完整列表:

Linux 用戶管理實用程式協助

例如,要變更使用者的主目錄,您可以使用以下命令:

usermod -d /new/path/to/directory username

在 Linux 中建立和管理使用者群組

Linux 中的使用者群組允許管理員對具有相似存取權限的使用者進行分組。這使得存取權限的管理變得簡單,並且透過在群組層級設定權限而不是為每個使用者單獨設定權限來增強系統安全性。作為範例,我們將考慮具有使用者管理員的開發人員群組。

如何在 Linux 中建立使用者群組

若要建立新群組,請使用groupadd指令並傳入新群組的名稱:

sudo groupadd group_name

在我們的範例中,命令如下所示:

sudo groupadd developers

如何在 Linux 中刪除使用者群組

若要刪除群組,請使用groupdel指令:

sudo groupdel group_name

因此,命令:

sudo groupdel developers

將刪除名為developers 的群組。

將使用者新增至群組

若要將使用者新增至特定群組,請使用usermod命令:

sudo usermod -aG group_name user_name

例如:

sudo usermod -aG developers admin

此指令會將名為admin 的使用者加入到developers群組。

從群組中刪除用戶

若要從群組中移除用戶,請使用deluser命令:

sudo deluser user_name group_name

將使用者admin開發者群組中移除的指令:

sudo deluser admin developers

在 Linux 中查看群組列表

要查看系統中所有群組的列表,請使用cat命令並結合/etc/group檔案:

cat /etc/group

此命令將顯示系統中所有群組的清單。

檢查使用者群組成員身份

執行操作後,您可以使用 groups 指令檢查使用者屬於哪些群組:

groups user_name

至此,我們探索了Linux中管理使用者群組的基礎知識。現在,讓我們進入下一階段——檢查檔案和目錄的存取權限的分配。此程序允許確定使用者或群組可以對特定檔案和目錄執行哪些操作,從而確保有效的安全管理和對系統資源的存取。

分配檔案和目錄的存取權限

存取權限的符號表示

正如我們已經了解到的,Linux 中有 3 類使用者:所有者(使用者)、群組其他使用者。每一類使用者都可能擁有對檔案或目錄的特定存取權限:

  1. 讀取(Read - r):允許查看檔案或目錄的內容。
  2. 寫入(Write - w):提供修改檔案或在目錄內建立新檔案的能力。對於目錄,這也允許從中刪除檔案。
  3. 執行(Execute - x):允許執行檔(如果它是可執行檔)或進入目錄(如果它是目錄)。

在Linux系列系統中,存取權限以10個字元的字串表示。第一個字符表示文件類型(常規文件、目錄等),其餘九個字符是三組三個字符,分別表示每個用戶組。為了理解,我們來考慮一個例子。

存取權限-rwxr-xr-- 的意思:

  1. 第一個字元 (-) 表示文件類型(在本例中為常規文件)。
  2. 所有者的三個字元(rwx)表示所有者俱有讀取、寫入和執行權限。
  3. 群組的三個字元(rx)表示群組成員僅具有讀取和執行權限。
  4. 三個字元為其他(r--)表示其他使用者只能讀取該檔案。

存取權限使用chmod指令設置,語法如下:

chmod [options] mode file(s)

當:

  1. [選項] - 附加參數,例如 -R 用於遞歸更改目錄及其子目錄中的存取權限。
  2. 模式 - 一個特殊的字串,指定哪些存取權限被更改以及為誰更改。模式可以透過符號(r、w、x)和位元(0 或 1)指定。也可以使用模式的數值(我們稍後會討論)
  3. 文件-套用變更的檔案或目錄。

這個實用程式是一個非常強大的工具,所以我們只看幾個基本命令作為範例。

更改檔案的存取權限,使所有者俱有讀寫權限,群組僅具有讀取權限,而其他使用者無權:

chmod u=rw,g=r,o= filename

設定所有使用者對檔案的讀寫存取權限:

chmod a+rw filename

遞歸更改目錄中所有檔案和子目錄的存取權限:

chmod -R u+rwx directory

存取權限的數字表示

在數字表示中,每個使用者類別(所有者、群組、其他)都有其編號,這些數字的組合設定了最終的存取權限。與象徵性權利類似,這三項權利均有其價值,但以數字表示:

  1. 讀取(讀取)-值 4
  2. 寫入(寫入)-值 2
  3. 執行(執行)-值1

數值也用於確定使用者類型:

  1. 文件所有者(用戶)- 第一位數字
  2. 所有者的群組(group)- 第二位數字
  3. 其他用戶(others)-第三位數字

因此,檔案存取權限的完整數字表示由三位數字組成,每位數字代表特定使用者類別的權限值的總和。這比使用 10 個字元的符號表示更方便一些。在這種情況下,管理如下:

chmod XYZ file

其中XYZ分別是代表所有者、群組和其他使用者的存取權限的數字。

例如,要授予所有者完全存取權限(讀取、寫入和執行),而群組和其他使用者僅授予讀取和執行權限,可以使用以下命令:

chmod 755 file

讓我們考慮其他例子:

chmod 700 file

只有擁有者才具有讀取、寫入和執行的權限,而群組和其他使用者則沒有存取權限。

chmod 644 file

擁有者俱有讀寫權限,而群組和其他使用者僅具有讀取權限。

chmod 751 file

所有者俱有全部權限,群組具有讀取和執行權限,其他使用者僅具有執行權限。

正如我們前面提到的,該工具具有非常廣泛的功能。在某些情況下,「幫助」部分提供的選項不夠用:

Linux 中管理存取權限的工具

請注意最後一行。使用此命令可以開啟關於該工具的更詳細文件。您還可以訪問該實用程式的官方維基百科頁面,在那裡可以找到有關 Chmod 的詳細資訊。

結語

Linux使用者及其管理對於作業系統的安全和穩定運作至關重要。在本文中,我們強調了 Linux 中有效的使用者和存取權限管理的重要性,涵蓋了使用者的建立和管理、與使用者群組合作以及分配檔案和目錄的存取權限。

❮ 上一篇文章 在 Linux 上設定防火牆
下一篇文章❯ Linux 文本編輯器

向我們諮詢有關 VPS 的問題

無論白天或黑夜,我們隨時準備好解答您的問題。