偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

[[263311]]

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

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

  • 主要組: 創(chuàng)建用戶帳戶時(shí),已將主要組添加到用戶。它通常是用戶的名稱。在執(zhí)行諸如創(chuàng)建新文件(或目錄)、修改文件或執(zhí)行命令等任何操作時(shí),主要組將應(yīng)用于用戶。用戶的主要組信息存儲(chǔ)在 /etc/passwd 文件中。
  • 次要組: 它被稱為次要組。它允許用戶組在同一組成員文件中執(zhí)行特定操作。例如,如果你希望允許少數(shù)用戶運(yùn)行 Apache(httpd)服務(wù)命令,那么它將非常適合。

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

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

  • usermod:修改系統(tǒng)帳戶文件,以反映在命令行中指定的更改。
  • gpasswd:用于管理 /etc/group/etc/gshadow。每個(gè)組都可以有管理員、成員和密碼。
  • Shell 腳本:可以讓管理員自動(dòng)執(zhí)行所需的任務(wù)。
  • 手動(dòng)方式:我們可以通過(guò)編輯 /etc/group 文件手動(dòng)將用戶添加到任何組中。

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

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

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

  1. # id user1
  2. uid=1008(user1) gid=1008(user1) groups=1008(user1)
  3.  
  4. # id user2
  5. uid=1009(user2) gid=1009(user2) groups=1009(user2)
  6.  
  7. # id user3
  8. uid=1010(user3) gid=1010(user3) groups=1010(user3)

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

  1. # getent group mygroup
  2. mygroup:x:1012:
  3.  
  4. # getent group mygroup1
  5. mygroup1:x:1013:

方法 1:使用 usermod 命令

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

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

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

語(yǔ)法:

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

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

  1. # usermod -a -G mygroup user1

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

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

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

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

語(yǔ)法:

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

在本例中,我們將把 user2 添加到 mygroupmygroup1 中。

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

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

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

如何改變用戶的主要組?

要更改用戶的主要組,請(qǐng)使用帶有 -g 選項(xiàng)和組名稱的 usermod 命令。

語(yǔ)法:

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

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

  1. # usermod -g mygroup user3

讓我們看看輸出。是的,已成功更改。現(xiàn)在,顯示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 命令將現(xiàn)有用戶添加到次要組或者附加組?

要將現(xiàn)有用戶添加到次要組,請(qǐng)使用帶有 -M 選項(xià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è)用戶到次要組或附加組中?

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

語(yǔ)法:

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

在本例中,我們將把 user2user3 添加到 mygroup1 中。

  1. # gpasswd -M user2,user3 mygroup1

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

  1. # getent group mygroup1
  2. mygroup1:x:1013:user2,user3

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

要從組中刪除用戶,請(qǐng)使用帶有 -d 選項(xiàng)的 gpasswd 命令以及用戶和組的名稱。

語(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è)用戶添加到組中,可以通過(guò) gpasswd 命令完成。但是,它將覆蓋當(dāng)前與組關(guān)聯(lián)的現(xiàn)有用戶。

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

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

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

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

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

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

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

  1. $ cat user-lists.txt
  2. user1
  3. user2
  4. user3

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

  1. vi group-update.sh
  2.  
  3. #!/bin/bash
  4. for user in `cat user-lists.txt`
  5. do
  6. usermod -a -G mygroup $user
  7. done

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

  1. # chmod + group-update.sh

最后運(yùn)行腳本來(lái)實(shí)現(xiàn)它。

  1. # sh group-update.sh

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

  1. # getent group mygroup
  2. mygroup:x:1012:user1,user2,user3

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

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

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

  1. $ cat user-lists.txt
  2. user1
  3. user2
  4. user3

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

  1. $ cat group-lists.txt
  2. mygroup
  3. mygroup1

使用以下 shell 腳本將多個(gè)用戶添加到多個(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

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

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

最后運(yùn)行腳本來(lái)實(shí)現(xiàn)它。

  1. # sh group-update-1.sh

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

  1. # getent group mygroup
  2. mygroup:x:1012:user1,user2,user3

此外,user1user2user3 已成功添加到 mygroup1 中。

  1. # getent group mygroup1
  2. mygroup1:x:1013:user1,user2,user3

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

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

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

  1. # vi /etc/group
責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2023-11-14 22:16:36

2023-07-02 08:48:45

2011-11-15 14:52:39

Mac OSWindows域

2021-05-26 14:39:27

FedoraLinux企業(yè)域

2024-06-04 14:27:42

2010-08-31 15:14:55

DB2域賬戶

2022-01-12 15:50:24

JavaScript開(kāi)發(fā)循環(huán)

2021-09-22 10:30:54

UbuntuLinux命令

2020-02-11 12:54:34

Linux日志文件消息

2009-06-10 08:34:17

Linux編程開(kāi)發(fā)

2022-03-20 07:07:23

MySQL數(shù)據(jù)庫(kù)命令行工具

2020-11-20 10:30:48

云計(jì)算SaaS技術(shù)

2021-08-14 09:48:02

ReentrantLock多線編程

2022-05-04 12:44:57

Python編程語(yǔ)言

2020-08-13 10:29:55

項(xiàng)目管理項(xiàng)目經(jīng)理CIO

2018-08-10 09:22:20

Windows 10Windows照片

2023-01-13 23:39:51

Linux掛載驅(qū)動(dòng)器

2010-11-03 11:18:16

職場(chǎng)

2010-03-30 10:34:08

Oracle exp備

2015-08-17 16:34:13

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)