列出用户所属的所有群组的5种方法

在研究5种方法之前,让我们首先了解一些基本知识:

将用户添加到现有组是Linux管理员的典型任务之一。

群组是用户的集合。群组的主要目的是为群组中的成员定义一组特权。

如果要为一组没有组的多个用户分配一组特权,这可能是一项艰巨的任务。这是该小组派上用场的地方。

/ etc / passwd文件中列出了所有系统用户,/ etc / group文件中列出了组,而实际密码存储在/ etc / shadow文件中。

无论我们使用什么命令,它都会从这些文件中获取信息。

Linux中有两种类型的组:

初级组

中学组

什么是小学组?

主要组是与用户帐户关联的主要组。每个用户必须是单个主要组的成员。

什么是中学组?

次要或补充组用于向用户授予其他权限。每个用户都可以成为多个辅助组的成员。

什么是/ etc / passwd文件

“ / etc / passwd”是一个文本文件,其中包含登录Linux系统所需的每个用户信息。它维护有关用户的有用信息,例如用户名,密码,用户ID,组ID,用户信息,主目录和Shell。

密码文件中的每个用户配置文件都是一行,其中包含七个字段,如下所示:

$ grep "daygeek" /etc/passwd

daygeek:x:1000:1000:daygeek,,,:/home/daygeek:/bin/bash

什么是/ etc / group文件

“ / etc / group”是一个文本文件,用于定义用户所属的组。我们可以在同一组中添加多个用户。

Linux具有三个权限级别,这些权限级别定义了用户如何访问它。这些级别是 user,group和others,它们控制一个用户对其他用户的文件和文件夹的访问。

/ etc / group文件维护有关组的有用信息,例如组名,组密码,组ID(GIT)和成员资格列表。每个组的详细信息在一行中显示为四个字段,如下面列出的“方法5”所示。

以下七个命令将帮助您找出Linux中用户所属的组。

groups:显示组中的所有成员。

id:打印指定用户名的用户和组信息。

lid or libuser-lid:它显示用户的组或组的用户。

getent:从名称服务交换库中获取条目。

compgen:compgen是bash内置命令,它将为用户显示所有可用命令。

members:列出组的成员。

/etc/group file 同样,我们可以从/ etc / group文件中grep相应的用户组。

现在,让我们深入研究5种方法,这些方法可用于查找用户在Linux中所属的组的列表:

方法1:使用组命令

Linux管理员广泛使用’groups’命令列出用户所属的所有组。它将打印给定用户的主要和补充组的信息,如下所示:

$ groups daygeek

daygeek : daygeek adm cdrom sudo dip plugdev lpadmin sambashare

运行不带任何参数的“ groups”命令以显示与当前用户关联的组列表,如下所示:

$ groups

daygeek adm cdrom sudo dip plugdev lpadmin sambashare

方法2:使用id命令

id命令代表身份。它打印出真实有效的用户,组和补充组信息,例如用户名,UID,组名和GUID,如下所示:

$ id daygeek

uid=1000(daygeek) gid=1000(daygeek) groups=1000(daygeek),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),128(sambashare)

只需运行“ id”命令以查看有关当前用户的组信息,如下所示:

$ id

uid=1000(daygeek) gid=1000(daygeek) groups=1000(daygeek),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),128(sambashare)

方法3:使用lid命令

lid或libuser-lid命令显示有关包含用户名的组的信息,这需要sudo特权。

$ sudo libuser-lid daygeek

adm(gid=4)

cdrom(gid=24)

sudo(gid=27)

dip(gid=30)

plugdev(gid=46)

lpadmin(gid=116)

daygeek(gid=1000)

sambashare(gid=126)

您应该在较新的系统上运行libuser-lid命令而不是lid。

方法4:使用getent命令

getent命令显示名称服务交换机库支持的数据库中的条目,这些数据库在“ /etc/nsswitch.conf”中配置:

$ getent group | grep daygeek

adm:x:4:syslog,daygeek

cdrom:x:24:daygeek

sudo:x:27:daygeek,2gadmin

dip:x:30:daygeek

plugdev:x:46:daygeek

lpadmin:x:116:daygeek

daygeek:x:1000:

sambashare:x:126:daygeek

上面的命令显示了组名以及与该组关联的所有其他成员。使用以下自定义的命令格式可以仅打印给定用户的组:

$ getent group | grep daygeek | awk -F: '{print $1}'

adm

cdrom

sudo

dip

plugdev

lpadmin

daygeek

sambashare

运行以下命令,仅打印用户的主要组信息:

$ getent group daygeek

daygeek:x:1000:

方法5:使用“ / etc / group”文件

可以使用grep命令从“ / etc / group”文件中过滤用户组信息,如下所示:

$ grep daygeek /etc/group

adm:x:4:syslog,daygeek

cdrom:x:24:daygeek

sudo:x:27:daygeek,2gadmin

dip:x:30:daygeek

plugdev:x:46:daygeek

lpadmin:x:116:daygeek

daygeek:x:1000:

sambashare:x:126:daygeek

使用以下自定义的命令格式可以仅打印给定用户的组:

$ grep daygeek /etc/group | awk -F: '{print $1}'

adm

cdrom

sudo

dip

plugdev

lpadmin

daygeek

sambashare

提示1:使用compgen命令找出所有组

Compgen是bash内置命令,显示Linux系统中的所有组:

$ compgen -g

root

daemon

bin

sys

adm

.

.

daygeek

thanu

renu

sudha

admin

u1

u2

提示2:使用member命令列出组中的成员

该成员的命令可以让你在Linux中的一组列表成员:

$ members sudo

daygeek 2gadmin

开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明linux 列出用户所属的所有群组的5种方法!

linux查看群组所属用户,linux 列出用户所属的所有群组的5种方法相关推荐

  1. python列出文件夹所有文件_python列出文件夹下的所有文件的4种方法

    jincon 发表于 2015-01-28 23:56:00 发表在: python开发 python列出文件夹下的所有文件的4种方法 #方法1:使用os.listdir import os for ...

  2. linux 查看权限命令行,【linux】与 用户、权限 有关的常用命令

    查看信息 查看文件.文件夹的filesystem metadata # 查看**单个**文件.文件夹的权限信息 stat filename # 或者使用以下命令来查看当前目录下**所有**文件.文件夹 ...

  3. linux查看lv逻辑卷信息,Linux学习笔记(lvm pv物理卷—VG卷组—LV逻辑卷)

    一.LVM 准备磁盘分区 disk /dev/sdb n创建分区 t更改类型 8e partprobe 将磁盘分区表变化信息通知内核,请求操作系统重新加载分区表.-d 不更新内核 -s 显示磁盘分区汇 ...

  4. linux查看进程详细信息top,linux查看系统进程信息命令 px,top详解

    linux查看系统进程信息命令 px,top详解 发表于:2011-03-10来源:作者:点击数: linux查看系统进程信息命令 px,top详解 软件测试 ps ax命令是显示一个当前系统进程的列 ...

  5. linux查看文件的有效权限,linux文件权限查看及修改-chmod ------入门的一些常识

    查看Linux文件的权限:ls -l 文件名称 查看linux文件夹的权限:ls -ld 文件夹名称(所在目录) 修改文件及文件夹权限: sudo chmod -(代表类型)×××(所有者)×××(组 ...

  6. linux查看服务器品牌和型号,linux 查看服务器型号

    linux 查看服务器型号 内容精选 换一换 登录弹性云服务器查询磁盘设备信息,发现磁盘的设备名称与控制台上显示的挂载点不一致,不清楚磁盘具体挂载在哪个设备上或磁盘对应的逻辑卷标识.本节操作介绍如何根 ...

  7. linux查看进程的信息失败,Linux查看端口、进程信息

    1.linux上如何查看端口 通常情况下,某个端口号会被莫名其妙的占用了.却不知道什么东东占用了,影响心情.通过如下命令,即可查看某一个端口号是否被占用 1)lsof -i:端口号,即可查看某一端口的 ...

  8. linux查看进程运行日志文件,【Linux】常用指令、ps查看进程、kill杀进程、启动停止tomcat命令、查看日志、查看端口、find查找文件...

    1.说出 10 个 linux 常用的指令 1) ls 查看目录中的文件 2)cd /home 进入 '/ home' 目录:cd .. 返回上一级目录:cd ../.. 返回上两级目录 3)mkdi ...

  9. linux查看某进程的连接,linux下查看指定进程的所有连接信息(转)

    定位某个进程的网络故障时经常需要用到的一个功能就是查找所有连接的信息.通常查找某个端口的连接信息使用 ss 或者 netstat 可以轻松拿到,如果是主动与别的机器建立的连接信息则可以通过 lsof ...

  10. linux查看都哪口状态,linux c 查看网口状态

    SCC(超级计算集群)简介 SCC概述 超级计算集群(Super Computing Cluster,SCC)使用高速RDMA网络互联的CPU以及GPU等异构加速设备,面向高性能计算.人工智能/机器学 ...

最新文章

  1. 数据通信技术(八:OSPF单区域配置实验)
  2. boost::ratio_divide相关的测试程序
  3. Linux 查看CPU,内存,硬盘
  4. 快春运了,做个火车余票查询接口,余票来源12306,图是百度地图
  5. java steam 去重_Java中对List去重, Stream去重
  6. c语言程序与设计第三版-苏小红--第一轮学习笔记、难点整理
  7. 常用正则表达式知识点解读及判读有效数字、手机号邮箱正则表达式
  8. python 列表自动排序_Python学习小技巧之列表项排序的示例代码分享
  9. 探讨SQL Server 2005的评价函数
  10. 精心整理 | R语言中文社区历史文章合集(作者篇)
  11. linux 串口与并口,并口和串口的区别是什么
  12. ifix如何设画面大小_组态软件实用技术教程第3章iFIX画面设计.ppt
  13. 刚学会的画丝滑的箭头ppt
  14. 曲苑杂坛--DML操作中如何处理那些未提交的数据
  15. 单片机外围电路设计攻略
  16. 毕业生怎样尽快把自己打造成国际专家级人物?
  17. 基于J2EE的弹幕视频网站设计
  18. 那先比丘说法:用智慧回答不信佛的人
  19. 20145339顿珠达杰 《信息安全系统设计基础》第0周学习总结
  20. 微型计算机的中央控制器包括,在微型计算机中CPU里控制器的作用是( )。

热门文章

  1. Sendrawpdu—Iphone短信欺骗工具发布下载
  2. 天圆地方放样软件_特大型天圆地方构件的放样制做方法及过程
  3. 五分钟学会用Simulink模型生成HDL代码
  4. 怎么开传奇sf?传奇开服交流分享。
  5. SNAT实现共享上网(1)
  6. 关于idea配置方法注释问题——完美注释
  7. 高校公寓管理系统的设计与实现
  8. E-Mobile 后台管理系统漏洞
  9. 步进电机在音乐喷泉中的应用解决方案
  10. 替代 Elasticsearch,TDengine 助力四维图新将存储空间利用率提升 8 倍