当前位置: 首页 > news >正文

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


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


目录

    • 一、项目介绍
    • 二、相关概念
      • 2.1 用户组
      • 2.2 用户组的管理
      • 2.3 主组和附属组
      • 2.4 相关文件
    • 三、任务操作
      • 任务1- 创建用户组
      • 任务2- 修改用户组
      • 任务3- 删除用户组


一、项目介绍

本节将介绍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”删除。


制作成员: 杨佳佳
排版: 裕新
初审: 何嘉愉
复审: 二月二
在这里插入图片描述


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

正月十六工作室

相关文章:

  • .net core开源商城系统源码,支持可视化布局小程序
  • ElasticSearch诞生
  • DRM系列(7)之drmModeAtomicCommit底层流程
  • R语言ggplot2可视化:使用ggpubr包的ggline函数可视化折线图(点线图、line plot)
  • PHP FTP 函数
  • PHP Filter 函数
  • 14---OpenCV:图像检测之边缘检测
  • 带救援的两阶段随机规划问题的LShaped算法理论与算例
  • 为什么比特币将持续增长
  • .Net CoreRabbitMQ消息存储可靠机制
  • 2022年9月2号学习总结
  • Hive基本概念
  • 有向图的强连通分量
  • 新建SpringBoot Maven项目中pom常用依赖配置及常用的依赖的介绍
  • 想搞清楚API网关到底是什么?请看这篇
  • ----------
  • hexo+github搭建个人博客
  • JS函数式编程 数组部分风格 ES6版
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • leetcode98. Validate Binary Search Tree
  • node学习系列之简单文件上传
  • 阿里研究院入选中国企业智库系统影响力榜
  • 复习Javascript专题(四):js中的深浅拷贝
  • 给Prometheus造假数据的方法
  • 记一次用 NodeJs 实现模拟登录的思路
  • 讲清楚之javascript作用域
  • 解析带emoji和链接的聊天系统消息
  • 聚簇索引和非聚簇索引
  • 模型微调
  • 收藏好这篇,别再只说“数据劫持”了
  • 数组的操作
  • 我从编程教室毕业
  • 【云吞铺子】性能抖动剖析(二)
  • ###STL(标准模板库)
  • (13)Hive调优——动态分区导致的小文件问题
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (42)STM32——LCD显示屏实验笔记
  • (C语言)fread与fwrite详解
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (全注解开发)学习Spring-MVC的第三天
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转)Sql Server 保留几位小数的两种做法
  • (转)一些感悟
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • ..回顾17,展望18
  • .net core使用ef 6
  • .net6使用Sejil可视化日志
  • .NetCore项目nginx发布
  • .net程序集学习心得
  • .NET处理HTTP请求
  • .skip() 和 .only() 的使用
  • /usr/local/nginx/logs/nginx.pid failed (2: No such file or directory)
  • [ Linux ] Linux信号概述 信号的产生