CentOS 7基础操作14_Linux组账号管理

在5.1.2节学习了管理Linux操作系统中用户账号的相关命令,接下来继续学习组账号管理的相关命令。组账号管理命令的使用相对较少,主要包括groupadd、groupdel、gpasswd等。

对于用户账号来说.对应的组账号可分为基本组和附加组两种类型,每一个用户账号可以是多个组账号的成员,但是其基本组账号只有--个。在/etc/passwd文件中第4字段记录的即为该用户的基本组GID号。而对于该用户还属于哪些附加组.则需要在对应组账号的文件中体现.

1、组账号文件

与组账号相关的配置文件也有两个,分别是/etc/group 和/etc/gshadow。前者用于保存组账号名称.GID号、组成员等基本信息,后者用于保存组账号的加密密码字串等信息(但是很少使用到).某一个组账号包含哪些用户成员,将会在group文件内最后一个字段中体现出来(基本组对应的用户账号默认可能不会列出),多个组成员之间使用"."(逗号)分隔。例如,执行以下操作可分别获知root组包括哪些用户成员.哪些组中包含root 用户。

复制代码
[root@node1 ~]# grep "^root" /etc/group     ##检索root组包括哪些用户
root:x:0:webadmin
[root@node1 ~]# grep "root" /etc/group      ##检索哪些组包括root用户
root:x:0:webadmin

2、添加、管理、删除组账号

1)groupadd命令------添加组账号

使用groupedd命令可以添加一个组账号,需要指定GD号时,可以使用"-g"选项。例如,执行如下的"graupadd class01"命令可以添加-一个名为class01的组账号.

复制代码
[root@node1 ~]# groupadd class01
[root@node1 ~]# tail -1 /etc/group
class01:x:1004:

2)gpasswd命令------添加.设置.删除组成员

gpesswd命令本来是用于设置组账号的密码,但是该功能极少使用.实际上该命令更多地用来管理组账号的用户成员。需要添加.删除成员用户时.可分别使用"-a"和"-d"选项。例如,以下操作分别用于向root组中添加成员用户mike、删除成员用户webmaster 。

复制代码
[root@node1 ~]# useradd mike
[root@node1 ~]# gpasswd -a mike root
正在将用户"mike"加入到"root"组中
[root@node1 ~]# groups mike
mike : mike root

如果需要同时指定组账号的所有成员用户,可以使用"-M"选项。例如,以下操作可以指定组账号adm中的成员为root,adm、daemon,webmaster、mike这五个用户,.

复制代码
[root@node1 ~]# gpasswd -M root,adm,daemon,webmaster,mike adm
[root@node1 ~]# grep "^adm" /etc/group
adm:x:4:root,adm,daemon,webmaster,mike

3)groupdel命令------删除组账号

当系统中的某个组账号已经不再使用时,可以使用groupdel 命令将该组账号删除。而添加指定的组账号名称作为参数。例如,若要删除组账号class01,可以执行以下操作.

复制代码
[root@node1 ~]# groupdel class01

3、查询账号信息

在用户管理工作中,虽然直接查看用户账号.组账号的配置文件也可以查询相关信息,但是并不是很直观。在Linux操作系统中,还可以使用几个常用的查询命令工具,如id,groups、finger、 users等,本小节中主要介绍几个查询命令的使用。

1)groups命令------查询用户账号所属的组

使用groups 命令可以查看指定的用户账号属于哪些组.例如,以下操作分别显示当前用户(root)和daencn 用户所属的组账号信息。

复制代码
[root@node1 ~]# groups
root
[root@node1 ~]# groups daemon
daemon : daemon adm

2)id------查询用户账号的身份标识

使用id命令可以快速查看指定用户账号的UID、GID等标识信息,例如,执行如下的"id root"命令可以查看root账的用户ID号.组lD号,以及所在的附加组D号。在输出结果中, gid和groups部分第一个组账号对应该用户的基本组,groups部分的其他组账号为该用户的附加组。

复制代码
[root@node1 ~]# id root
uid=0(root) gid=0(root) 组=0(root),4(adm)

3)finger------查询用户账号的登录属性

使用finger命令可以查询指定的用户账号的登录属性等详细信息.包括登录名称.完整名称.宿主目录、登录Shell等。例如,执行如下的"finger root"命令可以显示root账号的详细信息。若系统中没有该命令,可以从系统光盘镜像的Packeges目录下找到finger-0.17-52.el7.x86_64.rpm进行安装。

复制代码
[root@node1 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@node1 ~]# rpm -ivh /mnt/Packages/finger-0.17-52.el7.x86_64.rpm 
警告:/mnt/Packages/finger-0.17-52.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:finger-0.17-52.el7               ################################# [100%]
[root@node1 ~]# 
[root@node1 ~]# finger root
Login: root           			Name: root
Directory: /root                    	Shell: /bin/bash
On since 二 6月 11 15:00 (CST) on pts/0 from 192.168.8.1
   6 seconds idle
No mail.
No Plan.
[root@node1 ~]# 

4)w命令------查询当前主机的用户登录情况

使用w命令可以查询当前主机中的用户登录情况.列出登录账号名称.所在终端.登录时间.来源地点等信息.具体操作如下:

复制代码
[root@node1 ~]# w
 15:17:12 up 17 min,  1 user,  load average: 0.04, 0.04, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.8.1      15:00    0.00s  0.12s  0.00s w
相关推荐
DFT计算杂谈3 分钟前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
HiDev_31 分钟前
【非标自动化】2、认识元器件(确定目标)
运维·自动化
Zhang~Ling1 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
DeeplyMind1 小时前
Linux 深入 per-VMA lock:Linux 缺页路径如何摆脱 mmap_lock
linux·per-vma lock
爱写代码的森1 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
中微极客2 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
久曲健的测试窝2 小时前
智能座舱自动化测试落地方案:数字仿真搭配实车实测,解决用例运维与场景失真难题
运维
XMAIPC_Robot2 小时前
软硬协同实时控制|RK3588业务调度+FPGA硬件时序,ethercat实现半导体设备微秒级响应(125us)
linux·arm开发·人工智能·fpga开发
AOwhisky3 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发
重生的黑客3 小时前
Linux 进程优先级、切换与调度:从孤儿进程到 O(1) 调度模型
linux·运维·服务器·进程优先级·nice