当前位置: 首页 > 科技观察

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

时间:2023-03-14 20:42:46 科技观察

将用户添加到现有组是Linux管理员的正常活动之一。这是一些在大型环境中工作的管理员的日常活动。由于业务需求,即使我每天都会在我的环境中这样做。它是帮助您识别环境中现有组的重要命令之一。此外,这些命令可以帮助您识别用户所属的组。所有用户都列在/etc/passwd中,组列在/etc/group中。无论我们使用什么命令,都会从这些文件中获取信息。此外,每个命令都有其独特的功能,可以帮助用户单独获取所需的信息。什么是/etc/passwd?/etc/passwd是一个文本文件,包含登录Linux系统所需的所有用户信息。它维护有用的用户信息,例如用户名、密码、用户ID、组ID、用户ID信息、主目录和shell。passwd每一行包含用户的详细信息,一共7个字段,如上所述。$grep"daygeek"/etc/passwddaygeek:x:1000:1000:daygeek,,,:/home/daygeek:/bin/bash/etc/group是什么?/etc/group是一个文本文件,用于定义用户所属的组。我们可以将多个用户添加到一个组中。它允许用户访问其他用户文件和文件夹,因为Linux权限分为三类:用户、组和其他。它维护有关组的有用信息,例如组名、组密码、组ID(GID)和成员列表。每个都在一个单独的行上。组文件的每一行包含了每个组的详细信息,一共有4个字段,如上所述。这可以通过使用以下方法来执行。groups:显示一个组的所有成员。id:打印指定用户名的用户和组信息。lid:显示用户所在的组或用户组。getent:从NameServiceSwitch存储库中获取一个条目。grep:全称是“globalregularexpressionprintglobalregularexpressionprint”,可以打印出匹配的模式。组命令是什么?groups命令打印主要组的名称和每个给定用户名的任何补充组。$groupsdaygeekdaygeek:daygeekadmcdromsudodipplugdevlpadminsambashare如果你想检查与当前用户关联的组列表。只需运行没有任何用户名的组命令。$groupsdaygeekadmcdromsudodipplugdevlpadminsambashareid命令是什么?id代表“身份”。它打印真实有效的用户和组ID。打印指定用户或当前用户的用户和组信息。$iddaygeekuid=1000(daygeek)gid=1000(daygeek)组=1000(daygeek),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),128(sambashare)如果要检查与当前用户关联的组列表。只需运行不带任何用户名的id命令。$iduid=1000(daygeek)gid=1000(daygeek)groups=1000(daygeek),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),128(sambashare)什么是lid命令?它显示用户的组或用户组。显示有关包含用户名的组或组名中包含的用户的信息。此命令需要管理员权限。$sudoliddaygeekadm(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命令显示由NameServiceSwitch库支持的数据库中的条目,这些条目在/etc/nsswitch.conf中配置。$getent组|grepdaygeekadm:x:4:syslog,daygeekcdrom:x:24:daygeeksudo:x:27:daygeekdip:x:30:daygeekplugdev:x:46:daygeeklpadmin:x:118:daygeekdaygeek:x:1000:sambashare:x:128:daygeek如果你只想打印关联的组名,请在上面的命令中使用awk。$getent组|grepdaygeek|awk-F:'{print$1}'admcdromsudodipplugdevlpadmindaygeeksambashare运行以下命令只打印主组信息。$getentgroupdaygeekdaygeek:x:1000:grep命令是什么?grep代表“全局正则表达式打印”,它打印文件匹配的模式。$grep"daygeek"/etc/groupadm:x:4:syslog,daygeekcdrom:x:24:daygeeksudo:x:27:daygeekdip:x:30:daygeekplugdev:x:46:daygeeklpadmin:x:118:daygeekdaygeek:x:1000:sambashare:x:128:daygeek如果你只想打印关联的组名,请在上面的命令中使用awk。$grep"daygeek"/etc/组|awk-F:'{print$1}'admcdromsudodipplugdevlpadmindaygeeksambashare