人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

Linux中把用戶添加到組的4個方法總結(jié)

發(fā)布日期:2022-03-10 11:42 | 文章來源:腳本之家

Linux 組是用于管理 Linux 中用戶帳戶的組織單位。對于 Linux 系統(tǒng)中的每一個用戶和組,它都有惟一的數(shù)字標(biāo)識號。它被稱為 用戶 ID(UID)和組 ID(GID)。組的主要目的是為組的成員定義一組特權(quán)。它們都可以執(zhí)行特定的操作,但不能執(zhí)行其他操作。

Linux 中有兩種類型的默認(rèn)組。每個用戶應(yīng)該只有一個 主要組 primary group 和任意數(shù)量的 次要組 secondary group 。

• 主要組: 創(chuàng)建用戶帳戶時,已將主要組添加到用戶。它通常是用戶的名稱。在執(zhí)行諸如創(chuàng)建新文件(或目錄)、修改文件或執(zhí)行命令等任何操作時,主要組將應(yīng)用于用戶。用戶的主要組信息存儲在 /etc/passwd 文件中。

• 次要組: 它被稱為次要組。它允許用戶組在同一組成員文件中執(zhí)行特定操作。例如,如果你希望允許少數(shù)用戶運行 Apache(httpd)服務(wù)命令,那么它將非常適合。

你可能對以下與用戶管理相關(guān)的文章感興趣。

• 在 Linux 中創(chuàng)建用戶帳戶的三種方法?

• 如何在 Linux 中創(chuàng)建批量用戶?

• 如何在 Linux 中使用不同的方法更新/更改用戶密碼?

可以使用以下四種方法實現(xiàn)。

• usermod :修改系統(tǒng)帳戶文件,以反映在命令行中指定的更改。

• gpasswd :用于管理 /etc/group 和 /etc/gshadow 。每個組都可以有管理員、成員和密碼。

•Shell 腳本:可以讓管理員自動執(zhí)行所需的任務(wù)。

• 手動方式:我們可以通過編輯 /etc/group 文件手動將用戶添加到任何組中。

我假設(shè)你已經(jīng)擁有此操作所需的組和用戶。在本例中,我們將使用以下用戶和組: user1 、 user2 、 user3 ,另外的組是 mygroup 和 mygroup1 。

在進(jìn)行更改之前,我希望檢查一下用戶和組信息。詳見下文。

我可以看到下面的用戶與他們自己的組關(guān)聯(lián),而不是與其他組關(guān)聯(lián)。

# id user1
uid=1008(user1)gid=1008(user1) groups=1008(user1)
 
# id user2
uid=1009(user2)gid=1009(user2) groups=1009(user2)
 
# id user3
uid=1010(user3)gid=1010(user3) groups=1010(user3)

我可以看到這個組中沒有關(guān)聯(lián)的用戶。

#getent group mygroup
mygroup:x:1012:
 
#getent group mygroup1
mygroup1:x:1013:

方法 1:使用 usermod 命令

usermod 命令修改系統(tǒng)帳戶文件,以反映命令行上指定的更改。

如何使用 usermod 命令將現(xiàn)有的用戶添加到次要組或附加組?

要將現(xiàn)有用戶添加到輔助組,請使用帶有 -g 選項和組名稱的 usermod 命令。

語法:

# usermod [-G] [GroupName] [UserName]

如果系統(tǒng)中不存在給定的用戶或組,你將收到一條錯誤消息。如果沒有得到任何錯誤,那么用戶已經(jīng)被添加到相應(yīng)的組中。

# usermod -a-G mygroup user1

讓我使用 id 命令查看輸出。是的,添加成功。

# id user1
uid=1008(user1)gid=1008(user1) groups=1008(user1),1012(mygroup)

如何使用 usermod 命令將現(xiàn)有的用戶添加到多個次要組或附加組?

要將現(xiàn)有用戶添加到多個次要組中,請使用帶有 -G 選項的 usermod 命令和帶有逗號分隔的組名稱。

語法:

# usermod [-G] [GroupName1,GroupName2] [UserName]

在本例中,我們將把 user2 添加到 mygroup 和 mygroup1 中。

# usermod -a-G mygroup,mygroup1 user2

讓我使用 id 命令查看輸出。是的, user2 已成功添加到 myGroup 和 myGroup1 中。

# id user2
uid=1009(user2)gid=1009(user2) groups=1009(user2),1012(mygroup),1013(mygroup1)

如何改變用戶的主要組?

要更改用戶的主要組,請使用帶有 -g 選項和組名稱的 usermod 命令。

語法:

# usermod [-g] [GroupName] [UserName]

我們必須使用 -g 改變用戶的主要組。

# usermod -g mygroup user3

讓我們看看輸出。是的,已成功更改?,F(xiàn)在,顯示 user3 主要組是 mygroup 而不是 user3 。

# id user3
uid=1010(user3)gid=1012(mygroup) groups=1012(mygroup)

方法 2:使用 gpasswd 命令

gpasswd 命令用于管理 /etc/group 和 /etc/gshadow 。每個組都可以有管理員、成員和密碼。

如何使用 gpasswd 命令將現(xiàn)有用戶添加到次要組或者附加組?

要將現(xiàn)有用戶添加到次要組,請使用帶有 -M 選項和組名稱的 gpasswd 命令。

語法:

#gpasswd[-M] [UserName] [GroupName]

在本例中,我們將把 user1 添加到 mygroup 中。

#gpasswd-M user1 mygroup

讓我使用 id 命令查看輸出。是的, user1 已成功添加到 mygroup 中。

# id user1
uid=1008(user1)gid=1008(user1) groups=1008(user1),1012(mygroup)

如何使用 gpasswd 命令添加多個用戶到次要組或附加組中?

要將多個用戶添加到輔助組中,請使用帶有 -M 選項和組名稱的 gpasswd 命令。

語法:

#gpasswd[-M] [UserName1,UserName2] [GroupName]

在本例中,我們將把 user2 和 user3 添加到 mygroup1 中。

#gpasswd-M user2,user3 mygroup1

讓我使用 getent 命令查看輸出。是的, user2 和 user3 已成功添加到 myGroup1 中。

#getent group mygroup1
mygroup1:x:1013:user2,user3

如何使用 gpasswd 命令從組中刪除一個用戶?

要從組中刪除用戶,請使用帶有 -d 選項的 gpasswd 命令以及用戶和組的名稱。

語法:

#gpasswd[-d] [UserName] [GroupName]

在本例中,我們將從 mygroup 中刪除 user1 。

#gpasswd-d user1 mygroup
Removing user user1from group mygroup

方法 3:使用 Shell 腳本

基于上面的例子,我知道 usermod 命令沒有能力將多個用戶添加到組中,可以通過 gpasswd 命令完成。但是,它將覆蓋當(dāng)前與組關(guān)聯(lián)的現(xiàn)有用戶。

例如, user1 已經(jīng)與 mygroup 關(guān)聯(lián)。如果要使用 gpasswd 命令將 user2 和 user3 添加到 mygroup 中,它將不會按預(yù)期生效,而是對組進(jìn)行修改。

如果要將多個用戶添加到多個組中,解決方案是什么?

兩個命令中都沒有默認(rèn)選項來實現(xiàn)這一點。

因此,我們需要編寫一個小的 shell 腳本來實現(xiàn)這一點。

如何使用 gpasswd 命令將多個用戶添加到次要組或附加組?

如果要使用 gpasswd 命令將多個用戶添加到次要組或附加組,請創(chuàng)建以下 shell 腳本。

創(chuàng)建用戶列表。每個用戶應(yīng)該在單獨的行中。

$ cat user-lists.txt
user1
user2
user3

使用以下 shell 腳本將多個用戶添加到單個次要組。

vi group-update.sh
 
#!/bin/bash
for user in `cat user-lists.txt`
do
usermod -a-G mygroup $user
done

設(shè)置 group-update.sh 文件的可執(zhí)行權(quán)限。

# chmod +group-update.sh

最后運行腳本來實現(xiàn)它。

#sh group-update.sh

讓我看看使用 getent 命令的輸出。 是的, user1 、 user2 和 user3 已成功添加到 mygroup 中。

#getent group mygroup
mygroup:x:1012:user1,user2,user3

如何使用 gpasswd 命令將多個用戶添加到多個次要組或附加組?

如果要使用 gpasswd 命令將多個用戶添加到多個次要組或附加組中,請創(chuàng)建以下 shell 腳本。

創(chuàng)建用戶列表。每個用戶應(yīng)該在單獨的行中。

$ cat user-lists.txt
user1
user2
user3

創(chuàng)建組列表。每組應(yīng)在單獨的行中。

$ cat group-lists.txt
mygroup
mygroup1

使用以下 shell 腳本將多個用戶添加到多個次要組。

#!/bin/sh
for user in `more user-lists.txt`
do
for group in `more group-lists.txt`
do
usermod -a -G $group $user
done

設(shè)置 group-update-1.sh 文件的可執(zhí)行權(quán)限。

# chmod +x group-update-1.sh

最后運行腳本來實現(xiàn)它。

#sh group-update-1.sh

讓我看看使用 getent 命令的輸出。 是的, user1 、 user2 和 user3 已成功添加到 mygroup 中。

#getent group mygroup
mygroup:x:1012:user1,user2,user3

此外, user1 、 user2 和 user3 已成功添加到 mygroup1 中。

#getent group mygroup1
mygroup1:x:1013:user1,user2,user3

方法 4:在 Linux 中將用戶添加到組中的手動方法

我們可以通過編輯 /etc/group 文件手動將用戶添加到任何組中。

打開 /etc/group 文件并搜索要更新用戶的組名。最后將用戶更新到相應(yīng)的組中。

# vi /etc/group

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對本站的支持。

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部