0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在Linux上如何检查用户所属组详解

Linux爱好者 来源:网络整理 作者:工程师陈翠 2018-07-23 14:57 次阅读

将用户添加到现有组是 Linux 管理员的常规活动之一。这是一些在大环境中工作的管理员的日常活动。

甚至我会因为业务需求而在我的环境中每天都在进行这样的活动。它是帮助你识别环境中现有组的重要命令之一。

此外,这些命令还可以帮助你识别用户所属的组。所有用户都列在/etc/passwd中,组列在/etc/group中。

无论我们使用什么命令,都将从这些文件中获取信息。此外,每个命令都有其独特的功能,可帮助用户单独获取所需的信息。

什么是 /etc/passwd?

/etc/passwd是一个文本文件,其中包含登录 Linux 系统所必需的每个用户信息。它维护有用的用户信息,如用户名、密码、用户 ID、组 ID、用户 ID 信息、家目录和 shell。passwd 每行包含了用户的详细信息,共有如上所述的 7 个字段。

$grep"daygeek" /etc/passwd

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

什么是 /etc/group?

/etc/group是一个文本文件,用于定义用户所属的组。我们可以将多个用户添加到单个组中。它允许用户访问其他用户文件和文件夹,因为 Linux 权限分为三类:用户、组和其他。它维护有关组的有用信息,例如组名、组密码,组 ID(GID)和成员列表。每个都在一个单独的行。组文件每行包含了每个组的详细信息,共有 4 个如上所述字段。

这可以通过使用以下方法来执行。

groups: 显示一个组的所有成员。

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

lid: 显示用户的组或组的用户。

getent: 从 Name Service Switch 库中获取条目。

grep: 代表“全局正则表达式打印global regular expression print”,它能打印匹配的模式。

什么是 groups 命令?

groups命令打印每个给定用户名的主要组和任何补充组的名称。

$groups daygeek

daygeek : daygeek adm cdrom sudo dip plugdev lpadmin sambashare

如果要检查与当前用户关联的组列表。只需运行 groups 命令,无需带任何用户名。

$groups

daygeek adm cdrom sudo dip plugdev lpadmin sambashare

什么是 id 命令?

id 代表 “身份identity”。它打印真实有效的用户和组 ID。打印指定用户或当前用户的用户和组信息。

$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)

什么是 lid 命令?

它显示用户的组或组的用户。显示有关包含用户名的组或组名称中包含的用户的信息。此命令需要管理员权限。

$sudo lid daygeek

adm(gid=4)

cdrom(gid=24)

sudo(gid=27)

dip(gid=30)

plugdev(gid=46)

lpadmin(gid=108)

daygeek(gid=1000)

sambashare(gid=124)

什么是 getent 命令?

getent 命令显示 Name Service Switch 库支持的数据库中的条目,它们在 /etc/nsswitch.conf 中配置。

$getent group | grep daygeek

adm:x:4:syslog,daygeek

cdrom:x:24:daygeek

sudo:x:27:daygeek

dip:x:30:daygeek

plugdev:x:46:daygeek

lpadmin:x:118:daygeek

daygeek:x:1000:

sambashare:x:128:daygeek

如果你只想打印关联的组名称,请在上面的命令中使用 awk。

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

adm

cdrom

sudo

dip

plugdev

lpadmin

daygeek

sambashare

运行以下命令仅打印主群组信息。

$getent group daygeek

daygeek:x:1000:

什么是 grep 命令?

grep 代表 “全局正则表达式打印global regular expression print”,它能打印文件匹配的模式。

$grep"daygeek" /etc/group

adm:x:4:syslog,daygeek

cdrom:x:24:daygeek

sudo:x:27:daygeek

dip:x:30:daygeek

plugdev:x:46:daygeek

lpadmin:x:118:daygeek

daygeek:x:1000:

sambashare:x:128:daygeek

如果你只想打印关联的组名称,请在上面的命令中使用 awk。

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

adm

cdrom

sudo

dip

plugdev

lpadmin

daygeek

sambashare

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206736

原文标题:如何在 Linux 上检查用户所属组

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Linux LED子系统详解

    Linux LED子系统详解
    的头像 发表于 06-10 10:37 987次阅读
    <b class='flag-5'>Linux</b> LED子系统<b class='flag-5'>详解</b>

    Linux设备驱动开发详解

    #《Linux设备驱动开发详解》电子书连载#第8章 Linux设备驱动中的阻塞与非阻塞IO,阻塞和非阻塞I/O是设备访问的两种不同模式,驱动程序可以灵活地支持用户空间对设备的这两种访问
    发表于 06-25 15:14

    【4412开发板】理解和掌握linux用户用户组、权限等方法

    如此。由于用户可以同时是多个的成员,所以只需要创建新的就可以安全使用资源。 Linux 中,往往是基于所需要的资源访问权限而不是根据业
    发表于 11-18 13:45

    迅为IMX6ULL开发板-Linux用户权限

    `2.9 x Linux 用户权限 用户权限2.9.1用户组用户Ubuntu 是一个支持多用户
    发表于 05-20 10:30

    Linux如何管理用户用户组

    用户用户组管理的作用Linux如何管理用户用户组
    发表于 12-17 07:41

    linux下网卡配置详解

    linux下网卡配置详解
    发表于 12-15 22:38 0次下载

    Linux设备驱动开发详解》第23章、Linux设备驱动的移植

    Linux设备驱动开发详解》第23章、Linux设备驱动的移植
    发表于 10-27 10:58 9次下载
    《<b class='flag-5'>Linux</b>设备驱动开发<b class='flag-5'>详解</b>》第23章、<b class='flag-5'>Linux</b>设备驱动的移植

    Linux设备驱动开发详解》第13章、Linux块设备驱动

    Linux设备驱动开发详解》第13章、Linux块设备驱动
    发表于 10-27 11:24 18次下载
    《<b class='flag-5'>Linux</b>设备驱动开发<b class='flag-5'>详解</b>》第13章、<b class='flag-5'>Linux</b>块设备驱动

    Linux设备驱动开发详解》第7章、Linux设备驱动中的并发控制

    Linux设备驱动开发详解》第7章、Linux设备驱动中的并发控制
    发表于 10-27 11:37 10次下载
    《<b class='flag-5'>Linux</b>设备驱动开发<b class='flag-5'>详解</b>》第7章、<b class='flag-5'>Linux</b>设备驱动中的并发控制

    Linux设备驱动开发详解》第4章、Linux内核模块

    Linux设备驱动开发详解》第4章、Linux内核模块
    发表于 10-27 14:15 0次下载
    《<b class='flag-5'>Linux</b>设备驱动开发<b class='flag-5'>详解</b>》第4章、<b class='flag-5'>Linux</b>内核模块

    Linux用户用户组的关系详解

    linux 中,用户帐号,用户密码,用户组信息和用户组密码均是存放在不同的配置文件中的。
    的头像 发表于 06-13 14:30 6836次阅读

    如何才能管理Linux中的用户活动

    如果要管理Linux服务器,则需要准备好使用几个命令来检查用户活动-用户何时连接以及他们连接的频率、所属
    的头像 发表于 07-04 11:38 2350次阅读

    Linux设备驱动开发详解

    Linux设备驱动开发详解
    发表于 10-28 11:03 45次下载

    Linux把目录权限给指定用户

    标志定义,包括“读取”、“写入”和“执行”。 在Linux中,可以使用chmod命令来更改文件和目录的权限。但是,如果只是简单地更改文件的权限,可能会导致系统的安全漏洞。因此,为了能够对目录进行更精确的权限控制,可以将目录的所属用户
    的头像 发表于 11-23 10:30 2947次阅读