这是一个非常基础的话题,在 Linux 中,每个人都知道如何使用 id 来查找用户信息。一些用户也从 /etc/passwd 文件中过滤用户信息。
我们还使用其它命令来获取用户信息。
你可能会问,为什么要讨论这个基础话题呢?即使我也这么认为,因为除了这两个之外没有更好的方法了,但是我们也有一些不错的选择。
与这两者相比,那些命令提供了更详细的信息,这对于新手非常有帮助。
这是帮助管理员在 Linux 中查找用户信息的基本命令之一。Linux 中的一切都是文件,甚至用户信息都存储在一个文件中。
所有用户都被添加在 /etc/passwd 文件中,这里保留了用户名和其它相关详细信息。在 Linux 中创建用户时,用户详细信息将存储在 /etc/passwd 文件中。passwd 文件将每个用户详细信息保存为一行,包含 7 字段。
我们可以使用以下 6 种方法来查看用户信息。
id :为指定的用户名打印用户和组信息。
getent :从 Name Service Switch 库中获取条目。
/etc/passwd : 文件包含每个用户的详细信息,每个用户详情是一行,包含 7 个字段。
finger :用户信息查询程序
lslogins :显示系统中已有用户的信息
compgen :是 bash 内置命令,它将显示用户的所有可用命令。
1) 使用 id 命令
id 代表身份。它输出真实有效的用户和组 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)
下面是上述输出的详细信息:
uid (1000/daygeek) : 它显示用户 ID 和用户名
gid (1000/daygeek) : 它显示用户的组 ID 和名称
groups : 它显示用户的附加组 ID 和名称
2) 使用 getent 命令
getent 命令显示 Name Service Switch 库支持的数据库中的条目,这些库在 /etc/nsswitch.conf 中配置。
getent 命令会显示类似于 /etc/passwd 文件的用户详情,它将每个用户的详细信息放在一行,包含 7 个字段。
# getent passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin gopher:x:13:30:gopher:/var/gopher:/sbin/nologin magesh:x:502:503:2g Admin - Magesh M:/home/magesh:/bin/bash thanu:x:503:504:2g Editor - Thanisha M:/home/thanu:/bin/bash sudha:x:504:505:2g Editor - Sudha M:/home/sudha:/bin/bash
下面是关于 7 个字段的详细信息:
magesh:x:502:503:2g Admin - Magesh M:/home/magesh:/bin/bash
Username (magesh) : 已创建的用户名。字符长度应该在 1 到 32 之间。
Password (x) : 它表明加密密码存储在 /etc/shadow 文件中。
User ID (UID-502) : 它表示用户 ID(UID),每个用户应包含唯一的 UID。UID (0-Zero) 保留给 root,UID(1-99)是为系统用户保留的,UID(100-999)是为系统账户/组保留的。
Group ID (GID-503) : 它表示组 ID(GID),每个组应该包含唯一的 GID,它存储在 /etc/group 文件中。
User ID Info (2g Admin - Magesh M) : 它表示命令字段。这个字段可用于描述用户信息。
Home Directory (/home/magesh) : 它表示用户家目录。
shell (/bin/bash) : 它表示用户的 bash shell。
如果你只想在 getent 命令的输出中显示用户名,使用以下命令格式:
# getent passwd | cut -d: -f1 root bin daemon adm lp sync shutdown halt mail uucp operator games gopher magesh thanu sudha
(编辑:ASP站长网)
|