從多角度深入探究Linux創建用戶組

一、用戶組的基礎知識

用戶組是Linux系統中用於訪問文件和目錄的一種基本機制。其作用是將一些用戶聚合起來,並且為它們提供相應的訪問許可權。每個用戶都屬於至少一個用戶組。以下是一些對用戶組基礎知識的詳細闡述:

1.1 組ID(GID)

Linux中每個用戶組都有一個唯一的GID,GID是GNU IDentifier(GNU標識符)的縮寫。它是一種數字標識符,範圍從0到65535。數字0到99通常被系統保留,用於具有特殊許可權的用戶組,例如root用戶組。

1.2 組名稱

除GID外,每個用戶組還有一個可讀的名稱,該名稱與GID一起存儲在系統中。創建用戶組時必須指定組名,可以使用字母、數字和減號(-)來命名。

二、創建和管理用戶組

為了美觀和易於管理,我們可以將所有的用戶按照不同的職能分組到多個用戶組中。Linux系統提供了多種機制用於創建和管理用戶組,以下是幾種不同的方法:

2.1 使用groupadd命令創建用戶組

$ sudo groupadd groupName

上述命令將創建一個新的用戶組,其中groupName是新用戶組的名稱。可以使用以下方法將用戶添加到新組中:

$ sudo usermod -a -G groupName userName

2.2 使用useradd命令創建用戶時同時創建用戶組

$ sudo useradd -g groupName userName

上述命令將創建一個新的用戶,並將它添加到已存在的groupName用戶組中。使用groupadd命令創建新用戶組的方法與2.1章節中相同。

2.3 使用vigr命令編輯組文件創建用戶組

還可以通過編輯組文件 /etc/group 來創建用戶組。這個文件已預留給管理員,該文件可以由root用戶編輯。使用以下命令(vigr)可以集成所有更改:

$ sudo vigr

vigr命令將打開一個文本編輯器,其中包括當前系統上存在的所有用戶組。用戶可以添加新組或修改現有組的詳細信息。

三、用戶組的許可權管理

每個用戶組都有一個默認的目錄和文件許可權設置。可以使用以下命令來設置新的目錄和文件許可權:

3.1 加入新用戶組

$ sudo usermod -a -G groupName userName

加入新用戶組後,組的默認許可權將應用到與該組相關的用戶。

3.2 更改用戶組文件和目錄許可權

$ sudo chgrp groupName fileName/directoryName

要更改現有的文件或目錄的組所有權,請使用此命令。在該命令中,groupName是新的組名,fileName/directoryName是要更改的文件或目錄的名稱。

3.3 更改文件和目錄的訪問許可權

$ sudo chmod g+r-w FileName/Directory

此命令將更改文件或目錄的用戶訪問許可權。在此實例中,g為組,r對任何用戶組允許讀取訪問許可權,w防止任何用戶組的寫訪問許可權。
請將此命令用於單個文件或目錄名稱。

四、刪除用戶組

要刪除用戶組,可以使用groupdel命令。

4.1 使用groupdel命令刪除用戶組

$ sudo groupdel groupName

這個命令將從系統中刪除groupName組。如果要刪除組時保存組中用戶的文件,請使用-r選項。

4.2 將用戶從組中刪除

$ sudo deluser userName groupName

此命令將從組中刪除userName用戶,並從系統中刪除存儲在組中的任何文件。

五、小結

在Linux系統中,創建和管理用戶組非常簡單。管理員可以通過groupadd和useradd命令創建新用戶組和用戶,或者使用vigr命令編輯系統中的組文件。還可以使用chgrp和chmod命令更改文件和目錄的組所有權和訪問許可權。最後,可以使用groupdel命令將用戶組從系統中徹底刪除。

原創文章,作者:UVGJN,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/349396.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
UVGJN的頭像UVGJN
上一篇 2025-02-15 17:10
下一篇 2025-02-15 17:10

相關推薦

  • 如何在Linux中添加用戶並修改配置文件

    本文將從多個方面詳細介紹在Linux系統下如何添加新用戶並修改配置文件 一、添加新用戶 在Linux系統下創建新用戶非常簡單,只需使用adduser命令即可。使用以下命令添加新用戶…

    編程 2025-04-27
  • 如何解決linux jar包 invalid or corrupt jarfile問題

    對於許多開發人員和系統管理員在Linux環境下使用Java開發過程中遇到的一個常見的問題是 invalid or corrupt jarfile(無效或損壞的jar文件)錯誤。當您…

    編程 2025-04-27
  • 在Linux上安裝JRE並配置環境變數

    本文將從以下幾個方面為您詳細闡述如何在Linux系統上,通過自己賬戶安裝JRE,並且配置環境變數。 一、安裝JRE 在進行安裝前,我們需要下載JRE的安裝包並解壓,可以從官方網站下…

    編程 2025-04-27
  • GTKAM:Linux下的照片管理器

    GTKAM是用於Linux操作系統的一款照片管理器,它支持多種相機及存儲設備,並提供了一系列強大的工具,讓用戶可以方便地瀏覽、管理、編輯和導出照片。本文將從多個方面對GTKAM進行…

    編程 2025-04-27
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁碟中。在執行sync之前,所有的文件系統更新將不會立即寫入磁碟,而是先緩存在內存…

    編程 2025-04-25
  • Linux修改文件名命令詳解

    在Linux系統中,修改文件名是一個很常見的操作。Linux提供了多種方式來修改文件名,這篇文章將介紹Linux修改文件名的詳細操作。 一、mv命令 mv命令是Linux下的常用命…

    編程 2025-04-25
  • 深入解析Vue3 defineExpose

    Vue 3在開發過程中引入了新的API `defineExpose`。在以前的版本中,我們經常使用 `$attrs` 和` $listeners` 實現父組件與子組件之間的通信,但…

    編程 2025-04-25
  • 深入理解byte轉int

    一、位元組與比特 在討論byte轉int之前,我們需要了解位元組和比特的概念。位元組是計算機存儲單位的一種,通常表示8個比特(bit),即1位元組=8比特。比特是計算機中最小的數據單位,是…

    編程 2025-04-25
  • 深入理解Flutter StreamBuilder

    一、什麼是Flutter StreamBuilder? Flutter StreamBuilder是Flutter框架中的一個內置小部件,它可以監測數據流(Stream)中數據的變…

    編程 2025-04-25
  • 深入探討OpenCV版本

    OpenCV是一個用於計算機視覺應用程序的開源庫。它是由英特爾公司創建的,現已由Willow Garage管理。OpenCV旨在提供一個易於使用的計算機視覺和機器學習基礎架構,以實…

    編程 2025-04-25

發表回復

登錄後才能評論