• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    在Linux上如何检查用户所属组详解

    前言

    将用户添加到现有组是 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 命令?

    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

    via: https://www.2daygeek.com/how-to-check-which-groups-a-user-belongs-to-on-linux/

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

    上一篇:linux tail 查看日志文件方法
    下一篇:linux nohup及tail-f用法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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