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

在Linux中查找用户名等信息的6种简单方法

时间:2023-03-20 01:06:59 科技观察

这是一个很基础的话题,大家都知道如何在Linux中使用id查找用户信息。一些用户还从/etc/passwd文件中过滤用户信息。我们还使用其他命令来获取用户信息。你可能会问,为什么要讨论这个基本话题?即使我这么认为,因为没有比这两个更好的方法了,但我们有一些不错的选择。与这两个相比,那些命令提供了更详细的信息,这对新手很有帮助。这是帮助管理员在Linux中查找用户信息的基本命令之一。在Linux中一切都是文件,甚至用户信息都存储在文件中。所有用户都添加到/etc/passwd文件中,其中保存了用户名和其他相关详细信息。在Linux中创建用户时,用户详细信息存储在/etc/passwd文件中。passwd文件将每个用户详细信息保存为一行,包含7个字段。我们可以使用以下6种方法来查看用户信息。id:打印指定用户名的用户和组信息。getent:从NameServiceSwitch存储库中获取一个条目。/etc/passwd:该文件包含每个用户的详细信息,每个用户详细信息一行,包含7个字段。finger:用户信息查询程序lslogins:显示系统中现有用户的信息compgen:是一个bash内置命令,会显示该用户的所有可用命令。1)使用id命令,用id表示身份。它输出真实有效的用户和组ID。您还可以输出指定用户或当前用户的用户和组信息。#iddaygeekuid=1000(daygeek)gid=1000(daygeek)groups=1000(daygeek),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),128(sambashare)以下是上述输出的详细信息:uid(1000/daygeek):显示用户ID和用户名gid(1000/daygeek):显示用户的组ID和名称groups:显示用户的附加信息组ID和名称2)使用getent命令getent命令显示在/etc/nsswitch.conf中配置的NameServiceSwitch库支持的数据库中的条目。getent命令显示类似于/etc/passwd文件的用户详细信息,它将每个用户详细信息放在一行中,有7个字段。#getentpasswdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinuucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologinames:x:12:100:游戏:/usr/games:/sbin/nologingopher:x:13:30:gopher:/var/gopher:/sbin/nologingopher:x:502:503:2g管理员-MageshM:/home/magesh:/bin/bashthanu:x:503:504:2g编辑器——ThanishaM:/home/thanu:/bin/bashsudha:x:504:505:2g编辑器——SudhaM:/home/sudha:/bin/bash下面是关于7字段的详细信息:magesh:x:502:503:2gAdmin-MageshM:/home/magesh:/bin/bash用户名(magesh):创建的用户名。字符长度应在1到32之间。密码(x):表示加密后的密码存储在/etc/shadow文件中。UserID(UID-502):表示用户ID(UID),每个用户都应该包含唯一的UID。UID(0-0)为root保留,UID(1-99)为系统用户保留,UID(100-999)为系统帐户/组保留。GroupID(GID-503):表示组ID(GID),每个组应该包含最新的GID,保存在/etc/group文件中。UserIDInfo(2gAdmin-MageshM):表示命令字段。该字段可用于描述用户信息。主目录(/home/magesh):代表用户的主目录。shell(/bin/bash):这代表用户的bashshell。如果只想在getent命令的输出中显示用户名,请使用以下命令格式:#getentpasswd|cut-d:-f1rootbindaemonadmlpsyncshutdownhaltmailuucpoperatorgamesgophermageshthanusudha要仅显示用户的主目录,请使用以下命令格式:#getentpasswd|grep'/家'|cut-d:-f1centosprakashmageshthanusudha3)使用/etc/passwd文件/etc/passwd是一个文本文件,包含每个用户登录Linux系统所必需的信息。它维护有关用户的有用信息,例如用户名、密码、用户ID、组ID、用户ID信息、主目录和shell。/etc/passwd文件将每个用户的详细信息放在一行中,包含7个字段,如下所示:#cat/etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:;/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:停止:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinuucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologingopher:x:13:30:gopher:/var/gopher:/sbin/nologinmagesh:x:502:503:2g管理员-MageshM:/home/magesh:/bin/development:x:503:504:2g编辑器-ThanishaM:/home/thanu:/bin/development:x:504:505:2g编辑器-SudhaM:/home/sudha:/bin/bashmagesh:x:502:503:2gAdmin-MageshM:/home/magesh:/bin/bash如果只想显示/etc/passwd文件中的用户名,请使用以下格式:#cut-d:-f1/etc/passwdrootbindaemonadmlpsyncshutdownhaltmailuucpoperatorgamesgophermageshthanusudha仅显示用户的主目录,使用以下格式:#cat/etc/passwd|grep'/home'|cut-d:-f1centosprakashmageshthanusudha4)使用finger命令finger命令显示有关系统用户的信息。它显示用户的真实姓名、终端名称和写入状态(如果没有写入权限,则在终端名称后加上*)、空闲时间和登录时间。#fingermageshLogin:mageshName:2gAdmin-MageshMDirectory:/home/mageshShell:/bin/bashLastloginTueJul1722:46(EDT)onpts/2from103.5.134.167Nomail.NoPlan.以下是上面的输出细节:Login:UsernameName:Additional/otherinformationabouttheuserDirectory:关于用户主目录的信息Shell:用户的shell信息LAST-LOGIN:上次登录日期和其他信息5)使用lslogins命令,其中显示有关已知用户的系统信息。默认情况下,它会列出系统中所有用户的信息。lslogins实用程序的灵感来自首次出现在FreeBSD4.10中的登录实用程序。#lslogins-uUIDUSERPWD-LOCKPWD-DENYLAST-LOGINGECOS0root0000:17:28root500centos01CloudUser501prakash00Apr12/04:082018/04/12502magesh00Jul17/22:462gAdmin-MageshM503thanu00Jul18/00:402gEditor-ThanishaM504sudha00Jul18/01:182gEditor-SudhaM以下是上述输出的详细信息:UID:useridUSER:usernamePWD-LOCK:密码已设置,但被锁定PWD-DENY:登录密码是否被禁用LAST-LOGIN:上次登录日期GECOS:用户的附加信息6)使用compgen命令compgen是一个bash内置命令,会显示所有可用的命令,别名和功能。(LCTT译注:其-u参数可以列出系统中的用户。)#compgen-urootbindaemonadmlpsyncshutdownhaltmailuucpoperatorgamesgophermageshthanusudha