Linux-用户组管理命令

Linux用户组管理的相关文件#

/etc/group 文件#

这个文件存放着用户组信息:

Copy
[root@wqh06 ~]# cat /etc/group | head -3 root:x:0: bin:x:1: daemon:x:2:
列数 作用
第一列 组名
第二列 组密码占位符
第三列 组ID(GID)
第四列 附属成员,主组非此组,但附加组为此组的成员

/etc/gshadow 文件#

这个文件存放着组密码信息:

Copy
[root@wqh06 ~]# cat /etc/gshadow | tail -8 ssh4:!:: ssh5:!:: shanghai03:$6$q2Gc1/YE7pk/EW$xNDx5p3G4tnUZkCbYhDc26zyDuNYYuidcyFP0j7JByOFIq8B4r9CEH6NzHJF2DviVnau55Ltwzl2nPjwUBKg51::user03
列数 作用
第一列 组名
第二列 组密码,若是!或空,表示没有密码
第三列 用户组管理员
第四列 附属成员,主组非此组,但附加组为此组的成员

用户组管理命令#

增加用户组#

Copy
# groupadd //创建基本组, 不指定gid [root@wqh ~]# groupadd no_gid [root@wqh ~]# tail -n1 /etc/group no_gid:x:1000: //创建基本组, 指定gid为1500 [root@wqh ~]# groupadd -g 1500 yes_gid [root@wqh ~]# tail -1 /etc/group yes_gid:x:1500: //创建系统组,gid从201-999 [root@wqh ~]# groupadd -r sys_group [root@wqh ~]# tail -1 /etc/group sys_group:x:335:

修改用户组#

Copy
# groupmod //-g 修改组gid [root@wqh ~]# groupmod -g 777 no_gid [root@wqh ~]# tail -1 /etc/group no_gid:x:777: //-n 修改组名称 [root@wqh ~]# groupmod -n active_group yes_gid [root@wqh ~]# tail -1 /etc/group active_group:x:1500:

删除用户组#

Copy
# groupdel #删除组 [root@wqh ~]# groupdel active_group #删除用户附加组 [root@wqh ~]# id wqh uid=1069(wqh) gid=5005(wqh) groups=5005(wqh),5004(devops) [root@wqh ~]# groupdel devops [root@wqh ~]# id wqh uid=1069(wqh) gid=5005(wqh) groups=5005(wqh) #无法删除用户基本组 [root@wqh ~]# groupdel wqh groupdel: cannot remove the primary group of user 'wqh' #只有删除用户或者用户变更基本后,方可删除该组

设置组密码#

Copy
# gpasswd 交互式设置密码 [root@wqh ~]# groupadd devops [root@wqh ~]# gpasswd devops Changing the password for group devops New Password: Re-enter new password:

普通用户临时变更基本组(获取权限)#

在用户管理命令中,我们在root用户下使用usermod可以修改用户基本组(usermod -g),
但是如果我们登陆不了root用户,也无法获得root用户的权限,我们想获取另外一个基本组的权限,
可以用newgrp命令,使用newgrp命令相当于在当前普通用户下又开启了一个登陆式的Shell,
因为执行newgrp [组名]后,会让我们输入密码,如果该组没有组密码,则需要设置一个,否则无法临时变更基本组。

Copy
//检查账户信息 [root@wqh06 ~]# id test_g uid=5161(test_g) gid=5161(test_g) groups=5161(test_g) //切换普通用户 [root@wqh06 ~]# su - test_g //创建新文件,并验证权限 [test_g@wqh06 ~]$ touch test_g.txt [test_g@wqh06 ~]$ ll test_g.txt -rw-rw-r-- 1 test_g test_g 0 Apr 2 00:39 test_g.txt //切换组信息,这里需要注意,要切换到的目的组一定要设置过组密码,否则无法切换,需要在root下设置 //newgrp命令切换组,相当于开启了一个登陆式的Shell [test_g@wqh06 ~]$ newgrp shanghai03 Password: //建立文件,检查权限 [test_g@wqh06 ~]$ touch test_g_newgrp.txt [test_g@wqh06 ~]$ ll total 0 -rw-r--r-- 1 test_g shanghai03 0 Apr 2 00:40 test_g_newgrp.txt -rw-rw-r-- 1 test_g test_g 0 Apr 2 00:39 test_g.txt
posted @   拨云见日z  阅读(274)  评论(0编辑  收藏  举报
编辑推荐:
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
阅读排行:
· 本地部署 DeepSeek:小白也能轻松搞定!
· 基于DeepSeek R1 满血版大模型的个人知识库,回答都源自对你专属文件的深度学习。
· 在缓慢中沉淀,在挑战中重生!2024个人总结!
· 大人,时代变了! 赶快把自有业务的本地AI“模型”训练起来!
· Tinyfox 简易教程-1:Hello World!
点击右上角即可分享
微信分享提示
CONTENTS