国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

幫助中心 >  技術(shù)知識庫 >  數據庫 >  相關(guān)技術(shù)支持 >  在 Linux 中把用戶(hù)添加到組的四個(gè)方法

在 Linux 中把用戶(hù)添加到組的四個(gè)方法

2019-05-04 14:54:55 7573

Linux 組是用于管理 Linux 中用戶(hù)帳戶(hù)的組織單位。對于 Linux 系統中的每一個(gè)用戶(hù)和組,它都有惟一的數字標識號。它被稱(chēng)為 用戶(hù) ID(UID)和組 ID(GID)。組的主要目的是為組的成員定義一組特權。它們都可以執行特定的操作,但不能執行其他操作。

Linux 中有兩種類(lèi)型的默認組。每個(gè)用戶(hù)應該只有一個(gè) 主要組primary group 和任意數量的 次要組secondary group。

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

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

可以使用以下四種方法實(shí)現。

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

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

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

  • 手動(dòng)方式:我們可以通過(guò)編輯 /etc/group 文件手動(dòng)將用戶(hù)添加到任何組中。

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

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

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

  1. #id user1

  2. uid=1008(user1) gid=1008(user1)groups=1008(user1)

  3. #id user2

  4. uid=1009(user2) gid=1009(user2)groups=1009(user2)

  5. #id user3

  6. uid=1010(user3) gid=1010(user3)groups=1010(user3)

我可以看到這個(gè)組中沒(méi)有關(guān)聯(lián)的用戶(hù)。

  1. # getent group mygroup

  2. mygroup:x:1012:

  3. # getent group mygroup1

  4. mygroup1:x:1013:

方法 1:使用 usermod 命令

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

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

要將現有用戶(hù)添加到輔助組,請使用帶有 -g 選項和組名稱(chēng)的 usermod 命令。

語(yǔ)法:

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

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

  1. #usermod-a -G mygroup user1

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

  1. #id user1

  2. uid=1008(user1) gid=1008(user1)groups=1008(user1),1012(mygroup)

如何使用 usermod 命令將現有的用戶(hù)添加到多個(gè)次要組或附加組?

要將現有用戶(hù)添加到多個(gè)次要組中,請使用帶有 -G 選項的 usermod 命令和帶有逗號分隔的組名稱(chēng)。

語(yǔ)法:

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

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

  1. #usermod-a -G mygroup,mygroup1 user2

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

  1. #id user2

  2. uid=1009(user2) gid=1009(user2)groups=1009(user2),1012(mygroup),1013(mygroup1)

如何改變用戶(hù)的主要組?

要更改用戶(hù)的主要組,請使用帶有 -g 選項和組名稱(chēng)的 usermod 命令。

語(yǔ)法:

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

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

  1. #usermod-g mygroup user3

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

  1. #id user3

  2. uid=1010(user3) gid=1012(mygroup)groups=1012(mygroup)

方法 2:使用 gpasswd 命令

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

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

要將現有用戶(hù)添加到次要組,請使用帶有 -M 選項和組名稱(chēng)的 gpasswd 命令。

語(yǔ)法:

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

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

  1. # gpasswd -M user1 mygroup

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

  1. #id user1

  2. uid=1008(user1) gid=1008(user1)groups=1008(user1),1012(mygroup)

如何使用 gpasswd 命令添加多個(gè)用戶(hù)到次要組或附加組中?

要將多個(gè)用戶(hù)添加到輔助組中,請使用帶有 -M 選項和組名稱(chēng)的 gpasswd 命令。

語(yǔ)法:

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

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

  1. # gpasswd -M user2,user3 mygroup1

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

  1. # getent group mygroup1

  2. mygroup1:x:1013:user2,user3

如何使用 gpasswd 命令從組中刪除一個(gè)用戶(hù)?

要從組中刪除用戶(hù),請使用帶有 -d 選項的 gpasswd 命令以及用戶(hù)和組的名稱(chēng)。

語(yǔ)法:

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

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

  1. # gpasswd -d user1 mygroup

  2. Removing user user1 from group mygroup

方法 3:使用 Shell 腳本

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

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

如果要將多個(gè)用戶(hù)添加到多個(gè)組中,解決方案是什么?

兩個(gè)命令中都沒(méi)有默認選項來(lái)實(shí)現這一點(diǎn)。

因此,我們需要編寫(xiě)一個(gè)小的 shell 腳本來(lái)實(shí)現這一點(diǎn)。

如何使用 gpasswd 命令將多個(gè)用戶(hù)添加到次要組或附加組?

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

創(chuàng )建用戶(hù)列表。每個(gè)用戶(hù)應該在單獨的行中。

  1. $ cat user-lists.txt

  2. user1

  3. user2

  4. user3

使用以下 shell 腳本將多個(gè)用戶(hù)添加到單個(gè)次要組。

  1. vi group-update.sh

  2. #!/bin/bash

  3. for user in`cat user-lists.txt`

  4. do

  5. usermod-a -G mygroup $user

  6. done

設置 group-update.sh 文件的可執行權限。

  1. #chmod+ group-update.sh

最后運行腳本來(lái)實(shí)現它。

  1. # sh group-update.sh

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

  1. # getent group mygroup

  2. mygroup:x:1012:user1,user2,user3

如何使用 gpasswd 命令將多個(gè)用戶(hù)添加到多個(gè)次要組或附加組?

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

創(chuàng )建用戶(hù)列表。每個(gè)用戶(hù)應該在單獨的行中。

  1. $ cat user-lists.txt

  2. user1

  3. user2

  4. user3

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

  1. $ cat group-lists.txt

  2. mygroup

  3. mygroup1

使用以下 shell 腳本將多個(gè)用戶(hù)添加到多個(gè)次要組。

  1. #!/bin/sh

  2. for user in`more user-lists.txt`

  3. do

  4. for group in`more group-lists.txt`

  5. do

  6. usermod-a -G $group $user

  7. done

設置 group-update-1.sh 文件的可執行權限。

  1. #chmod+x group-update-1.sh

最后運行腳本來(lái)實(shí)現它。

  1. # sh group-update-1.sh

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

  1. # getent group mygroup

  2. mygroup:x:1012:user1,user2,user3

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

  1. # getent group mygroup1

  2. mygroup1:x:1013:user1,user2,user3

方法 4:在 Linux 中將用戶(hù)添加到組中的手動(dòng)方法

我們可以通過(guò)編輯 /etc/group 文件手動(dòng)將用戶(hù)添加到任何組中。

打開(kāi) /etc/group 文件并搜索要更新用戶(hù)的組名。最后將用戶(hù)更新到相應的組中。

  1. #vi/etc/group


提交成功!非常感謝您的反饋,我們會(huì )繼續努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題:
-->