首頁 >運維 >linux運維 >linux可將使用者從群組中刪除嗎

linux可將使用者從群組中刪除嗎

青灯夜游
青灯夜游原創
2023-03-20 10:17:117534瀏覽

可以。刪除方法:1、使用usermod從群組中刪除用戶,語法「sudo usermod -G root 用戶名」;2、使用gpasswd從指定群組中刪除用戶,語法「sudo gpasswd -d 用戶名群組名稱」;3、編輯“/etc/group”文件,手動從群組中刪除使用者。

linux可將使用者從群組中刪除嗎

本教學操作環境:linux7.3系統、Dell G3電腦。

在Linux中,使用者可以是一個主要群組和一個或幾個次要(輔助)群組的成員。檔案「 / etc / group」為Linux系統中的每個使用者定義了群組成員身分。

在本教學中,我們將學習如何在Linux群組中刪除使用者。我們將使用兩種方法,還將展示如何透過從「 / etc / group」檔案中刪除來手動從群組中刪除使用者。

建立Linux使用者

就本教學而言,我們將建立一個名為「 testuser」的使用者。當建立一個新使用者時,也會建立一個與該使用者同名的新主要群組。

我們將透過發出以下命令來建立新使用者:

$ sudo useradd -m testuser

#現在,我們可以為該使用者建立密碼:

$ sudo passwd testuser
Changing password for user testuser.
New password: 
BAD PASSWORD: The password contains the user name in some form
Retype new password: 
passwd: all authentication tokens updated successfully.

我使用了與使用者名稱相同的密碼,因此我收到警告,密碼中不應包含使用者名稱的某種形式。

將使用者新增至群組

首先,我們將使用groupadd指令建立兩個新群組,指令如下所示:

$ sudo groupadd testgroup1$ sudo groupadd testgroup2

現在,我們將「 testuser」使用者加入到上面建立的兩個群組中,並使用以下命令將「 testuser」使用者新增至「 root」群組:

$ sudo usermod -a -G root testuser
$ sudo usermod -a -G testgroup1 testuser
$ sudo usermod -a -G testgroup2 testuser

好的,現在來看看「 / etc / group」文件,可以看到「 testuser」是這三個群組的成員。

$ cat /etc/grouproot:x:0:testuser.............testuser:x:1001:testgroup1:x:1002:testusertestgroup2:x:1003:testuser

找出使用者所屬的群組

#我們也可以使用以下兩種替代方法來檢查使用者屬於哪個群組

$ groups testuser
testuser : testuser testgroup1 testgroup2 root$ id -nG testuser
testuser testgroup1 testgroup2 root

可以看到輸出非常相似,而這些指令完成的是相同的事情。

使用usermod從群組中刪除使用者

我們可以使用usermod指令一次從一個或多個群組中刪除一個使用者。使用usermod時,您必須指定將使用者保留在哪些輔助群組中。讓我用一個範例來解釋一下。

$ groups testuser
testuser : testuser testgroup1 testgroup2 root

為了從“ testgroup1”和“ testgroup2”群組中刪除使用者“ testuser”,請執行下列命令(即,僅將testuser保留在“ root”群組中,它是主要的「 testuser」群組):

$ sudo usermod -G root testuser
Results$ groups testuser
testuser : testuser root

因此,為了將使用者分割為更多的群組,您需要提及以逗號(,)分隔的組名,例如:

$ sudo usermod -G root,testgroup1 testuser
Results# groups testusertestuser : testuser root testgroup1

#使用gpasswd從群組中刪除使用者

完成類似結果的另一個指令是gpasswd。與usermod不同,我們使用此命令從指定的群組中刪除使用者。

要從一個特定的群組中刪除用戶,我們可以使用gpasswd命令:

$ sudo gpasswd -d testuser root
Removing user testuser from group root

$ groups testuser
testuser : testuser testgroup1 testgroup2

$ sudo gpasswd -d testuser testgroup1
Removing user testuser from group testgroup1

$ groups testuser
testuser : testuser testgroup2

從群組中刪除用戶(手動)

我們也可以透過手動編輯檔案'/ etc / group'從群組中刪除使用者。重新啟動後,此方法的效果將應用於使用者。

你可以使用最喜歡的文字編輯器來編輯「 / etc / group」檔案:

$ cat /etc/group
.............sssd:x:993:sshd:x:74:chrony:x:992:vagrant:x:1000:slocate:x:21:vboxsf:x:991:testuser:x:1001:testgroup1:x:1002:testusertestgroup2:x:1003:testuser$ groups testuser
testuser : testuser testgroup1 testgroup2 root

現在,我們將手動編輯最後兩個條目來刪除testuser,並從testgroup1和testgroup2中刪除(編輯後的檔案應如下所示):

$ cat /etc/group.............
sssd:x:993:
sshd:x:74:
chrony:x:992:
vagrant:x:1000:
slocate:x:21:
vboxsf:x:991:
testuser:x:1001:
testgroup1:x:1002:
testgroup2:x:1003:

變更將在重新啟動後進行,現在該使用者已從這兩個群組中刪除:

$ groups testuser
testuser : testuser root

結論

在本教學中,我們學習如何使用usermod、gpasswd以及從「 / etc / group」檔案手動刪除使用者來從群組中刪除使用者。

相關推薦:《Linux影片教學

以上是linux可將使用者從群組中刪除嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn