Linux CentOS7 用户组管理方式

 更新时间:2023年11月08日 10:11:53   作者:qq_36142959  
这篇文章主要介绍了Linux CentOS7 用户组管理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Linux操作系统基于多用户的设计理念,允许多个用户同时使用系统资源。

用户是登录系统并使用系统资源的个体,其都有自己的账户和密码。用户组是将众多用户归类为一组。

Linux中的用户和用户组是系统安全和权限管理的基础。本文将探讨Linux中用户组的创建和管理。

关于用户的创建与管理是最基本的操作,用户组的删除与修改等,不在本文讨论之列。

我们将从用户组(有时简称组)的创建与查询开始讨论。

一、创建组

新安装的centos7系统中,默认存在的组是root组,及其系统组(如bin、sys、Ip、tty、mem等)。

组ID用gid表示,与uid自动编号相同,系统id小于1000,普通组(与普通用户)id将从1000开始编号,添加一个新用户,编号自动加1。

如果设置uid(或gid)为2000,新用户将在此基础自动加1进行编号。

如果重设一用户gid为1500,新用户仍然在原来的基础上(2000)自动加1。

1.单独创建

groupadd 组名

-g  指定用户组的gid

2.由创建用户产生

useradd 用户名

-g 指定用户组的gid/组名

-G 指定用户附加组名/gid,多个组时用逗号分开

二、组操作

对用户组的常用操作包括:设置组密码、为组指定一名或多名管理员、添加其他用户到组内、把不合适的组成员删除等。

不常见操作有对用户组的删除groupdel和对用户组的修改groupmod。

1.指定管理员

gpasswd -A 用户名 组名

如把tangseng(唐僧)设为组管理员

gpasswd -A tangseng tangseng

2.添加成员

在用户组中添加成员有两种方式:root管理员或组管理员

a.由root添加成员

把用户zhang、wang和zhao添加到tangseng组中

(1)把tangseng组作为主组

(2)把tangseng组作为附加组

b.由组管理员添加成员

基本语法:

gpasswd -a 用户名 组名

本案例由组管理员tangseng把tang、song和ming添加到tangseng

su - tangseng

gpasswd -a tang tangseng

gpasswd -a song tangseng

gpasswd -a ming tangseng

3.删除成员

a. 由root删除成员

gpasswd -d 用户名 组名

本案例中把由root管理员把song组员从tangseng组中删除

b.由管理员删除组成员

基本语法:

 gpasswd -d 用户名 组名

本案例中把由组管理员tangseng把ming组员删除

gpasswd -d ming tangseng

三、查看组

1.查看用户属于组

a.groups

由命令groups用户名  查看用户属于哪些组

由上图可知:tangseng只属于tangseng组,而tang属于三个组tang、class1和tangseng。

在这三个组中,tang这个组是tang用户的主组,而class1和tangseng是附加组。

b./etc/group

由组文件查看组及组成员

由上图可知:第1列是组名,第四列含有用户名的,是第1列组的成员。

class1有三个成员,wukong组和wuneng组都含有成员baigujing,tangseng组中含有四个成员。

c.id

由id -g用户名  查看用户的组信息

2.查看组中成员

getent  group 组名

由上图可以该组中有四名成员

getent --help

可以查看命令getent的帮助信息。

四、切换组

在Linux系统中,可以通过用户修改,把其主组改变为其他组。

原来的主组将不存在,其附加组中也没有了改变前的组。

而通过newgrp命令,把附加组中的某一个组切换为主组,不改变用户所占有的组。

1.usermod

我们以用户tang为例,验证改变tang的主组之前后变化

a.查tang主组

由上图可知:tang主组是tang,其gid为5018

b.改变tang主组为class1

usermod  -g  class1 tang

c.验证tang主组变化

通过改变主组,可看到gid由原来的5018变为现在的5022,组名由原来的tang变为现在的class1。

2.newgrp

常用的用户组之间切换命令是newgrp。通过该命令,可以让用户从附加组中选择一个作为其新的主组。

newgrp命令的基本语法如下:

newgrp [选项] [组名]

其中,组名为要切换到的用户组名称。如果在命令行上没有指定组名,则默认将会进入当前登录用户的主组。

切换原理与功能

一个用户有多个附加组时,通过newgrp切换,把原主组与某一附加组交换:原主组成为附加组,某一附加组成为主组。

下面的案例,我们以wukong为例,进行操作。

a.切换前信息

切换前查看用户的主组与附加组,可看到gid所标志的,就是当前主组

主要查看方法:

  • (1)id  用户名
  • (2)getent group  组名
  • (3)cat /etc/passwd |grep "用户名"
  • (4)cat /etc/group |grep "组名"

上图是切换主组前的相关信息。我们切换用户wukong,在其家目录中创建目录及文件

b.切换

进行切换newgrp  附加组名

newgrp xiyou

c.验证

再次查看组信息

由上图可以看到切换前后的变化:用户在哪个组中,创建普通文件与目录时,所属组就是哪个组。

由此也可观察到所属组的变化是临时性的,退出切换组状态,仍保持原来的所属组

五、组权限

gpasswd的帮助

1.设密码

gpasswd 组名

2.用户组的权限管理

文件权限:Linux中的每个文件和目录都有所属用户和所属用户组,通过文件权限可以控制用户对文件的访问权限。文件权限包括读取(r)、写入(w)和执行(x)权限,分别对应数字表示为4、2和1。通过chmod命令可以修改文件权限。

  • 文件所属组:每个文件都有一个所有者和一个所属组,所有者是文件创建者的用户,所属组是所有者所属的用户组。通过chown和chgrp命令可以修改文件的所有者和所属组。
  • 特殊权限:除了基本的文件权限外,Linux还支持一些特殊权限,如SetUID、SetGID和Sticky Bit。SetUID权限允许用户在执行程序时以程序所有者的权限执行,SetGID权限允许用户在执行程序时以程序所属组的权限执行,Sticky Bit权限用于限制对某些目录的删除操作。
  • 用户和组的关系:用户和用户组之间有一对多的关系,一个用户可以同时属于多个用户组。用户组可以通过文件权限和ACL(访问控制列表)来控制对文件的访问权限。

系统安全性

  • a.资源隔离:通过将用户分配到不同的用户组,可以实现资源的隔离。不同用户组之间的文件和目录权限可以相互独立,从而防止用户越权访问和修改资源。
  • b.访问控制:通过用户和用户组的管理,可以实现对系统资源的精细控制。管理员可以根据需要为不同用户和用户组分配不同的权限,从而限制用户对系统资源的访问。
  • c.安全审计:用户和用户组的管理可以为系统安全审计提供重要依据。通过记录和监控用户和用户组的活动,可以及时发现异常行为和安全威胁。
  • d.用户认证:用户和用户组的管理是系统认证和授权的基础。通过用户和用户组的管理,可以实现用户的身份验证和权限控制,保障系统的安全性。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解如何使用Spark和Scala分析Apache访问日志

    详解如何使用Spark和Scala分析Apache访问日志

    这篇文章主要介绍了详解如何使用Spark和Scala分析Apache访问日志,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • linux中批量添加文件前缀的操作方法

    linux中批量添加文件前缀的操作方法

    这篇文章主要介绍了linux中批量添加文件前缀的操作方法,给大家扩展介绍linux下批量改变文件前缀命令,需要的朋友可以参考下
    2019-12-12
  • Linux环境搭建之安装/配置Tomcat的方法

    Linux环境搭建之安装/配置Tomcat的方法

    本篇文章主要介绍了Linux环境搭建之安装/配置Tomcat的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Linux如何搭建文件服务器

    Linux如何搭建文件服务器

    这篇文章主要介绍了Linux如何搭建文件服务器,包括基于centos7.9搭建http文件服务器,基于centos7.9搭建nginx文件服务器以及基于ubuntu2204搭建http文件服务器,本文给大家介绍的非常详细,需要的朋友参考下吧
    2023-10-10
  • CentOS 配置防火墙详解及实例

    CentOS 配置防火墙详解及实例

    这篇文章主要介绍了CentOS 配置防火墙详解及实例的相关资料,需要的朋友可以参考下
    2017-02-02
  • apache 开启重定向 rewrite的实现方法

    apache 开启重定向 rewrite的实现方法

    这篇文章主要介绍了apache 开启重定向 rewrite的实现方法的相关资料,希望通过本文能帮助到大家,让大家实现这样的功能,需要的朋友可以参考下
    2017-10-10
  • linux系统下用户管理相关介绍

    linux系统下用户管理相关介绍

    大家好,本篇文章主要讲的是linux系统下用户管理相关介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下哦,方便下次浏览
    2021-12-12
  • Linux系统下利用C程序输出某进程的内存占用信息

    Linux系统下利用C程序输出某进程的内存占用信息

    这篇文章主要给大家介绍了关于在Linux系统下利用C程序输出某进程的内存占用信息的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友下面来一起看看吧。
    2017-12-12
  • linux中chmod命令用法详解

    linux中chmod命令用法详解

    在本篇文章里小编给大家分享了关于linux中chmod命令用法和相关知识点,需要的朋友们跟着学习下。
    2019-04-04
  • Centos 7开启网卡自动获取IP的详细方法

    Centos 7开启网卡自动获取IP的详细方法

    本篇文章主要介绍了Centos 7开启网卡自动获取IP的详细方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02

最新评论