25 组账号管理

组账号管理

一、解析组账号文件

(一)组账号基本信息

​ /etc/group,保存组账号的基本信息

​ 每个组记录一行,以:分割为4个字段

字段含义
字段1组账号的名称
字段2密码占位符x
字段3组账号的GID号
字段4本组的成员用户列表
[root@localhost ~]# head -1 /etc/group
root:x:0:

// 新建附加组
[root@localhost ~]# useradd -G root nsd20

[root@localhost ~]# id nsd20
uid=1001(nsd20) gid=1001(nsd20)=1001(nsd20),0(root

[root@localhost ~]# head -1 /etc/group
root:x:0:nsd20

// 新建基本组
[root@localhost ~]# useradd -g root nsd21

[root@localhost ~]# id nsd21
uid=1002(nsd21) gid=0(root)=0(root)

// 字段4不包括基本组的成员,只会记录附加组
[root@localhost ~]# head -1 /etc/group
root:x:0:nsd20

(二)组账号管理信息

​ /etc/gshadow,保存组账号的管理信息

​ 每个组记录一行,以:分割为4个字段

字段含义
字段1组账号的名称
字段2加密后的密码字符串
字段3本组的管理员列表
字段4本组的成员用户列表
[root@localhost ~]# head -1 /etc/gshadow
root:::nsd20

二、组账号的增删改查

(一)groupadd添加组

​ groupadd命令

​ 格式:groupadd [-g GID] 组名

[root@localhost ~]# groupadd -g 800 stugrp

[root@localhost ~]# grep stugrp /etc/group
stugrp:x:800:

(二)groupdel删除组

​ groupdel命令

​ 格式:groupdel组名

​ 被删除的组不能是用户的基本组

[root@localhost ~]# groupdel stugrp

[root@localhost ~]# grep stugrp /etc/group

[root@localhost ~]# useradd -g student nsd30

[root@localhost ~]# id nsd30
uid=1003(nsd30) gid=900(student)=900(student)

// 基本组就是主组
[root@localhost ~]# groupdel student
groupdel:不能移除用户“nsd30”的主组

// 修改nsd30用户基本组
[root@localhost ~]# usermod -g users nsd30

// 删除成功
[root@localhost ~]# groupdel student

(三)groupmod修改组

​ groupmod命令

​ 格式:groupmod -g GID 组名

​ groupmod-n 新组名组名

[root@localhost ~]# groupadd -g 950 teacher

[root@localhost ~]# grep teacher /etc/group
teacher:x:950:

// 修改组名
[root@localhost ~]# groupmod -n tea teacher

[root@localhost ~]# grep tea /etc/group
tea:x:950:

// 修改Gid
[root@localhost ~]# groupmod -g 960 tea

[root@localhost ~]# grep tea /etc/group
tea:x:960:

(四)groups查询组信息

​ groups命令

​ 格式:groups [用户名]…

[root@localhost ~]# useradd -g users -G tea nsd40

[root@localhost ~]# id nsd40
uid=1004(nsd40) gid=100(users)=100(users),960(tea)

// 查询组信息
[root@localhost ~]# groups nsd40
nsd40 : users tea

三、管理组成员

(一)gpasswd工具

​ gpasswd命令

​ 格式:gpasswd [选项]… 组名

​ 常用命令选项

​ -A:定义组管理员列表

​ -a:添加组成员,每次只能加一个

​ -d:删除组成员,每次只能删一个

​ -M:定义组成员用户列表,可设置多个

// 创建stugrp组
[root@localhost ~]# groupadd -g 1300 stugrp

[root@localhost ~]# grep stugrp /etc/group
stugrp:x:1300:

// 新建用户
[root@localhost ~]# useradd harry
[root@localhost ~]# useradd natasha
[root@localhost ~]# useradd jack
[root@localhost ~]# useradd hunter

// 添加组成员
[root@localhost ~]# gpasswd -a harry stugrp
正在将用户“harry”加入到“stugrp”组中

// 添加成功
[root@localhost ~]# grep stugrp /etc/group
stugrp:x:1300:harry

// harry用户的基本组还是harry,stugrp是附加组
[root@localhost ~]# id harry
uid=1005(harry) gid=1005(harry)=1005(harry),1300(stugrp)

[root@localhost ~]# gpasswd -a natasha stugrp
正在将用户“natasha”加入到“stugrp”组中
[root@localhost ~]# gpasswd -a jack stugrp
正在将用户“jack”加入到“stugrp”组中

[root@localhost ~]# grep stugrp /etc/group
stugrp:x:1300:harry,natasha,jack

[root@localhost ~]# gpasswd -d harry stugrp
正在将用户“harry”从“stugrp”组中删除

[root@localhost ~]# grep stugrp /etc/group
stugrp:x:1300:natasha,jack

// -M 定义组成员用户列表,相当于覆盖
[root@localhost ~]# gpasswd -M 'harry,hunter' stugrp

// natasha,jack不见了
[root@localhost ~]# grep stugrp /etc/group
stugrp:x:1300:harry,hunter

// 定义为空,相当于清空用户列表
[root@localhost ~]# gpasswd -M '' stugrp

[root@localhost ~]# grep stugrp /etc/group
stugrp:x:1300:

[root@localhost ~]# gpasswd -M 'harry,hunter,jack,natasha' stugrp

// 切换jack用户
[root@localhost ~]# su - jack

[jack@localhost ~]$ gpasswd -a natasha stugrp
gpasswd:没有权限。

[jack@localhost ~]$ exit
登出

// 定义jack为管理员
[root@localhost ~]# gpasswd -A jack stugrp

[root@localhost ~]# su - jack
上一次登录:日 730 21:03:57 CST 2023pts/0 上

[jack@localhost ~]$ gpasswd -a natasha stugrp
正在将用户“natasha”加入到“stugrp”组中

// 在jack用户下删除harry
[jack@localhost ~]$ gpasswd -d harry stugrp
正在将用户“harry”从“stugrp”组中删除

[jack@localhost ~]$ grep stugrp /etc/group
stugrp:x:1300:hunter,jack,natasha

[jack@localhost ~]$ gpasswd -M 'harry' stugrp
gpasswd:没有权限。

四、基本组切换及认证

(一)设置/清除组密码

​ gpasswd命令

​ 格式:gpasswd [-r] 组账号名

​ 添加-r 时为移除密码,否则设置密码

[root@localhost ~]# groupadd class

[root@localhost ~]# grep class /etc/gshadow
class:!::

// 设置密码:123456
[root@localhost ~]# gpasswd class
正在修改 class 组的密码
新密码:
请重新输入新密码:

[root@localhost ~]# grep class /etc/gshadow
class:$6$n1xJe//6kS$1pJmgXQaMpitXtiW94X9edJff5RdVCdZnKN2SFMsYXZIYT700IsSlMKeoiGu2Ib1iZU.k.ei9WDQOi2wG/ZUb0::

(二)切换基本组

​ newgrp命令

​ 适用于临时加入一个新组的情况

[root@localhost ~]# su - harry

[harry@localhost ~]$ groups
harry

// 加入class组
[harry@localhost ~]$ newgrp class
密码:

// 临时加入class组
[harry@localhost ~]$ groups
class harry

[harry@localhost ~]$ exit
登出

[root@localhost ~]# su - harry
上一次登录:日 730 21:19:00 CST 2023pts/0 上
最后一次失败的登录:日 730 21:20:49 CST 2023pts/0 上
最有一次成功登录后有 1 次失败的登录尝试。

[harry@localhost ~]$ groups
harry
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值