Linux 中的 getent 命令示例
getent是一个 Linux 命令,可帮助用户获取许多称为数据库的重要文本文件中的条目。这包括密码和存储用户信息的数据库组。因此getent是在 Linux 上查找用户详细信息的常用方法。由于getent使用与系统相同的服务名称,因此 getent 将显示所有信息,包括从 LDAP 等网络信息源获得的信息。它通常搜索的数据库有:ahosts、 ahostsv4 、 ahostsv6 、 aliases 、 ethers (以太网地址)、 group 、 gshadow 、 hosts 、 netgroup 、 networks 、 passwd 、 protocols 、 rpc 、 services和shadow 。
示例 1:获取 Linux 系统上的用户帐户列表(存储在名为“passwd”的数据库中)。这将显示所有用户帐户,而不管所使用的名称服务类型如何。例如,如果本地和 LDAP 名称服务都用于用户帐户,则结果将包括所有本地和 LDAP 用户:
句法:
getent database [key ...]
示例 2:如果我们想获取名为 rahul的特定用户的详细信息,则
句法:
getent passwd rahul
示例 3:如果我们要获取 Unix 系统上的组帐户列表(存储在名为“group”的数据库中),则
句法:
getent group
选项:
-
-s service, --service service
: 此选项覆盖具有指定服务的所有数据库。(自 glibc 2.2.5 起。) -
-s database:service, --service database:service
:此选项仅覆盖具有指定服务的指定数据库。该选项可以多次使用,但只会使用每个数据库的最后一个服务。(自 glibc 2.4 起。) -
-i, --no-idn
:此选项在 ahosts/getaddrinfo(3) 的查找中禁用 IDN 编码(自 glibc-2.13。) -
-?, --help
:此选项打印使用摘要并退出。 -
--usage
:此选项打印简短的使用摘要并退出。 -
-V, --version
:此选项打印 getent的版本号、许可证和免责声明。
退出状态: getent 可以使用以下退出值之一:
-
0
:此退出状态表明命令已成功完成。 -
1
:此退出状态表明存在缺失参数或数据库未知。 -
2
:此退出状态表明无法在数据库中找到一个或多个提供的密钥。 -
3
: 此退出状态表明此数据库不支持枚举。