Linux CentOS 8(用户组的管理实验)

Posted 正月十六工作室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux CentOS 8(用户组的管理实验)相关的知识,希望对你有一定的参考价值。


Linux CentOS 8(用户组的管理实验)


目录


一、项目介绍

本节将介绍Linux(Centos8)中用户组的创建、修改和删除。

二、相关概念

2.1 用户组

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。

2.2 用户组的管理

用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

2.3 主组和附属组

从用户的角度,分为主组和附属组。
主组:又称私有组,也被称为primary group、first group或initial login group,用户的默认组,用户的GID(Group ID,简称 GID)所标识的组。一个用户必须属于且只能属于一个私有组,但一个私有组可以包含多个用户。新建用户时,若没有特殊指定,Linux会自动创建一个与该用户同名的组作为其私有组,且这个私有组不可删除。
附属组:也被称为Secondary group或supplementary group,用户的附加组。一般用于多用户管理,用户可以属于一个或多个标准组,也可以不属于任何标准组。同样,标准组中可以有用户,也可以没有用户,且可删除。

2.4 相关文件

/etc/group 文件把组ID映射到组名称和组成员身上
/etc/group 文件存储格式(组名称:组密码:组ID:组成员)

root:x:0:root

字段解释:

  • 组名称:每个组都有一个组名称
  • 组密码:可以给组提供一个密码,一般很少这么做
  • 组ID:像用户ID一样,linux内核使用ID来识别
  • 组成员:定义组成员用户名列表,用半角逗号隔开

三、任务操作

任务1- 创建用户组

1)查看“groupadd”的选项

[root@localhost~]#  groupadd -h   //使用选项“-h”进行查看
Usage: groupadd [options] GROUP
Options:
  -f, --force                   exit successfully if the group already exists,
                            and cancel -g if the GID is already used
  -g, --gid GID                use GID for the new group
  -h, --help                   display this help message and exit
  -K, --key KEY=VALUE          override /etc/login.defs defaults
  -o, --non-unique             allow to create groups with duplicate
                            (non-unique) GID
  -p, --password PASSWORD     use this encrypted password for the new group
  -r, --system                 create a system account
  -R, --root CHROOT_DIR        directory to chroot into
  -P, --prefix PREFIX_DIR        directory prefix

groupadd
1、groupadd 命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。
相关文件:
/etc/group 组账户信息。
/etc/gshadow 安全组账户信息。
/etc/login.defs Shadow密码套件配置。
2、警告:
组名最长32个字符。
不能添加NISsan或LDAP组,这必须在相应的服务器上执行。
如果组名已经存在与外部组数据库(如NIS或LDAP)中,groupadd 将拒绝组创建请求。groupadd 命令常用选项,如表1所示。

表1 groupadd 命令常用选项的用法
选项说明
-g指定新建工作组的id
-r创建系统工作组,系统工作组的组ID小于500
-K覆盖配置文件“/ect/login.defs”
-o允许添加组ID号不唯一的工作组

2)使用 命令“id”,不加任何参数时,该 命令报告用户的用户ID、主要组和主要组ID、用户所属的所有组的组名称和组ID

[root@localhost ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

3)使用“whoami”或者“id -un”,可以显示当前用户的用户名

[root@localhost ~]# whoami
root
[root@localhost ~]# id -un
root

4)使用 命令“users”或“w”或“who”,查看当前都有谁登录了系统

[root@localhost ~]# users  //简单地打印当前已登录用户列表
root root root
[root@localhost ~]# w     //列出当前已登录用户,提供最详细的信息
 22:45:05 up 15:09,  3 users,  load average: 0.00, 0.03, 0.10
USER    TTY      FROM          LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     -                Sun14   30:26m  0.77s  0.77s -bash
root     tty4     -                Sun16   20:00m  3.09s  3.09s -bash
root     pts/0    192.168.1.1      21:00    1.00s  0.10s  0.06s w
[root@localhost ~]# who  //列出当前登录用户的详细信息
root     tty1         2021-06-06 14:44
root     tty4         2021-06-06 16:28
root     pts/0        2021-06-07 21:00 (192.168.1.1)

5)创建群组“tests”,并检验

[root@localhost ~]# groupadd tests
[root@localhost ~]# tail -5  /etc/group
jan15:x:2225:
jan14ll:x:2226:
user01:x:2227:
userss:x:2666:
tests:x:2667:

6)创建群组“tests1”,并设置该群组GID为2888,并检验

[root@localhost ~]# groupadd -g 2888 tests1
[root@localhost ~]# tail -5 /etc/group
jan14ll:x:2226:
user01:x:2227:
userss:x:2666:
tests:x:2667:
tests1:x:2888:

7)创建系统群组“tests2”,并检验

[root@localhost ~]# groupadd -r tests2
[root@localhost ~]# tail -5 /etc/group
user01:x:2227:
userss:x:2666:
tests:x:2667:
tests1:x:2888:
tests2:x:991:

任务2- 修改用户组

1)查看“groupmod”的选项

[root@localhost ~]# groupmod -h
Usage: groupmod [options] GROUP
Options:
  -g, --gid GID                 change the group ID to GID
  -h, --help                    display this help message and exit
  -n, --new-name NEW_GROUP      change the name to NEW_GROUP
  -o, --non-unique              allow to use a duplicate (non-unique) GID
  -p, --password PASSWORD       change the password to this (encrypted)
                                PASSWORD
  -R, --root CHROOT_DIR         directory to chroot into
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files

groupmod 命令常用选项,如表2所示。

表2 groupmod 命令常用选项的用法
选项说明
-g设置欲使用的群组识别码
-o重复使用群组识别码
-n设置欲使用的群组名称

注:
groupmod 命令用于更改群组的识别码或名称时。不过还是要注意,用户名不要随意修改,组名和 GID 也不要随意修改,因为非常容易导致管理员逻辑混乱。如果非要修改用户名或组名,则建议先删除旧的,再建立新的。

2)将组名为“tests1”修改为“group1”,并验证

[root@localhost ~]# groupmod -n group1 tests1
[root@localhost ~]# tail -1 /etc/group
group1:x:2888:                   //注意GID还是2888,但是组名已经改变

3)将“group1”的GID修改为“2999”,并验证

[root@localhost ~]# tail -1 /etc/group
group1:x:2888:
[root@localhost ~]# groupmod -g 2999 group1
[root@localhost ~]# tail -1 /etc/group
group1:x:2999:

注:修改GID,如果没有加-o选项,GID一定不能与某一个现存组的ID号相同。

4)将“test02”的GID修改为与group1一样的“2999”,并验证

[root@localhost ~]# tail -2 /etc/group
tests2:x:991:
group1:x:2999:
[root@localhost ~]# groupmod -o -g 2999 tests2
[root@localhost ~]# tail -2 /etc/group
tests2:x:2999:
group1:x:2999:

任务3- 删除用户组

1)查看“groupdel”的选项

[root@localhost ~]# groupdel -h
Usage: groupdel [options] GROUP
Options:
  -h, --help                  display this help message and exit
  -R, --root CHROOT_DIR       directory to chroot into
  -P, --prefix PREFIX_DIR     prefix directory where are located the /etc/* files
  -f, --force              delete group even if it is the primary group of a user

groupdel 命令常用选项,如表3所示。

表3 groupdel 命令常用选项的用法
选项说明
-h显示帮助信息
-R在chroot_dir目录中应用更改并使用chroot_dir目录中的配置文件
groupdel命令用于删除指定的工作组,本 命令要修改的系统文件包括/ect/group和/ect/gshadow。groupdel 命令在删除用户组的时候,要求其用户组下没有归属的用户才能删除,否则不能删除用户组。

2)将用户组“tests2”删除,并验证

[root@localhost ~]# tail  -3  /etc/group
tests:x:2667:
tests2:x:2999:
group1:x:2999:
[root@localhost ~]# groupdel tests2
[root@localhost ~]# tail -3 /etc/group
userss:x:2666:
tests:x:2667:
group1:x:2999:

3)将用户“user01”所属的用户组“tests”删除,并验证

[root@localhost ~]# usermod -g tests user01
[root@localhost ~]# groupdel tests
groupdel: cannot remove the primary group of user 'user01'
[root@localhost ~]# usermod -g 2999 user01
[root@localhost ~]# groupdel tests

groupdel 命令在删除用户组的时候,要求其用户组下没有归属的用户才能删除,否则不能删除用户组,因此,我们将“tests”的用户“user01”转移到GID为“2999”的用户组中,才可以将用户组“tests”删除。


制作成员: 杨佳佳
排版: 裕新
初审: 何嘉愉
复审: 二月二


点击下方“正月十六工作室”查看更多学习资源

正月十六工作室

以上是关于Linux CentOS 8(用户组的管理实验)的主要内容,如果未能解决你的问题,请参考以下文章

Linux CentOS 8(用户组的管理实验)

Linux CentOS 8(用户与组相关权限管理实验)

Linux CentOS 8(用户与组相关权限管理实验)

Linux CentOS 8(用户与组相关权限管理实验)

第8周知识重点

Linux CentOS 8(用户管理)