美国服务器 Linux 系统把用户账号添加到组的方法

美国服务器Linux系统中有两种类型的默认组,每个用户应该只有一个主要组primary group和任意数量的次要组secondary group。今天美联科技小编就来讲下,美国服务器Linux系统把用户账号添加

美国服务器 Linux 系统把用户账号添加到组的方法

来源:美国服务器 作者:美联科技小编Zoe 浏览量:184
2019-10-25
0
        美国服务器Linux系统中有两种类型的默认组,每个用户应该只有一个主要组primary group和任意数量的次要组secondary group。今天美联科技小编就来讲下,美国服务器Linux系统把用户账号添加到组的办法。

        1美国服务器Linux系统的主要组

        创建用户帐户时,已将主要组添加到用户,通常是用户的名称。在执行诸如创建新文件/目录、修改文件或执行命令等任何操作时,主要组将应用于用户。用户的主要组信息存储在 /etc/passwd 文件中。

        2美国服务器Linux系统的次要组

        允许用户组在同一组成员文件中执行特定操作。例如,允许少数用户运行 Apache/httpd服务命令。

        假设已经拥有此操作所需的组和用户,在进行更改之前,先查看一下用户和组信息,可以看到下面的用户与他们自己的组关联,而不是与其他组关联。

        #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)

        也可以看到这个组中没有关联的用户。

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

        方法 1:使用 usermod 命令

        usermod 命令修改系统帐户文件,以反映命令行上指定的更改。要将现有用户添加到辅助组,请使用带有 -g 选项和组名称的 usermod 命令:

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

        如果系统中不存在给定的用户或组,将收到一条错误消息。如果没有得到任何错误,那么用户已经被添加到相应的组中。

        要将现有用户添加到多个次要组中,请使用带有 -G 选项的 usermod 命令和带有逗号分隔的组名称:

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

        要更改用户的主要组,请使用带有 -g 选项和组名称的 usermod 命令:

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

        必须使用 -g 改变用户的主要组。

        #usermod-g mygroup user3

        方法 2:使用 gpasswd 命令

        gpasswd 命令用于管理 /etc/group/etc/gshadow,每个组都可以有管理员、成员和密码。要将现有用户添加到次要组,请使用带有 -M 选项和组名称的 gpasswd 命令:

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

        要将多个用户添加到辅助组中,请使用带有 -M 选项和组名称的 gpasswd 命令:

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

        使用 gpasswd 命令从组中删除一个用户?要从组中删除用户,请使用带有 -d 选项的 gpasswd 命令以及用户和组的名称:

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

        方法 3:使用 Shell 脚本

        可以让管理员自动执行所需的任务,sermod 命令没有能力将多个用户添加到组中,可以通过 gpasswd 命令完成。但是,它将覆盖当前与组关联的现有用户。

        例如,user1 已经与 mygroup 关联。如果要使用 gpasswd 命令将 user2user3 添加到 mygroup 中,它将不会按预期生效,而是对组进行修改。

        如果要将多个用户添加到多个组中,两个命令中都没有默认选项来实现这一点,因此需要编写一个小的 shell 脚本来实现这一点。如果要使用 gpasswd 命令将多个用户添加到次要组或附加组,请创建以下 shell 脚本。

        创建用户列表。每个用户应该在单独的行中。

       $ 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

        设置 group-update.sh 文件的可执行权限。

        #chmod+ group-update.sh

        最后运行脚本来实现它。

         # sh group-update.sh

        这时user1user2user3 已成功添加到 mygroup 中。

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

        如果要使用 gpasswd 命令将多个用户添加到多个次要组或附加组中,请创建以下 shell 脚本。

        创建用户列表。每个用户应该在单独的行中。

         $ cat user-lists.txt
         user1
        user2
        user3

        创建组列表。每组应在单独的行中。

        $ 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

        设置 group-update-1.sh 文件的可执行权限。

        #chmod+x group-update-1.sh

        最后运行脚本来实现它。

        # sh group-update-1.sh

        方法 4:在美国非完全 Linux系统 中将用户添加到组中的手动方法

        美国服务器用户可以通过编辑 /etc/group 文件手动将用户添加到任何组中。打开 /etc/group 文件并搜索要更新用户的组名,最后将用户更新到相应的组中。

        以上就是美国服务器Linux系统把用户账号添加到组的办法,希望能帮助有需要的用户。

        关注美联科技,了解更多IDC资讯!
部分文章来源与网络,若有侵权请联系站长删除!