1.命令作用
从管理数据库获取记录(Get entries from administrative database.)
2.命令语法
Usage: getent [OPTION...] database [key ...]
3.参数详解
OPTION:
- -i, --no-idn,禁用IDN编码;影响非ASCII字符(如中文)域名和主机名的处理方式,强制使用原始编码而非IDN编码
- -s, --service=CONFIG,指定要使用的服务配置文件,getnet默认使用/etc/nsswitch.conf,也可参考该文件修改
- -?, --help,给出以下帮助列表
- --usage,给出简短的用法信息
- -V, --version,打印程序版本
databases:
- ahosts、ahostsv4、ahostsv6,查询系统的主机名与IP地址的映射关系(包括IPv4和IPv6),内容来源DNS或/etc/hosts
- aliases,查询系统的邮件别名与真实邮箱地址的映射关系;内容来源/etc/aliases
- ethers,查询系统的以太网主机名与MAC地址的映射关系;内容来源/etc/ethers
- group、gshadow,查看用户组及其密码信息,内容来源/etc/group和/etc/gshadow
- hosts,查询系统的主机名与IP地址映射关系,内容来源/etc/hosts
- initgroups、netgroup,查询系统用户组相关
- networks,查询系统的网络名称与网络地址映射关系(如子网地址、默认路由等),内容来源/etc/networks
- passwd,查看系统用户信息,内容来源/etc/passwd
- protocols,查询系统网络协议信息,内容来源/etc/protocols
- rpc,查询系统的RPC(Remote Procedure Call)服务,内容来源/etc/rpc
- services,查询系统网络服务信息,内容来源/etc/services;输出包括服务名称、端口号、协议类型以及别名等
- shadow,查看系统用户密码策略信息,内容来源/etc/shadow
4.常用用例
4.1.查看hosts信息
[root@node1 ~]# getent ahosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.118.201 node1
192.168.118.172 node2
[root@node1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.118.201 node1
192.168.118.172 node2
[root@node1 ~]#
[root@node1 ~]# getent ahosts 192.168.118.172
192.168.118.172 STREAM 192.168.118.172
192.168.118.172 DGRAM
192.168.118.172 RAW
[root@node1 ~]# getent ahosts node2
192.168.118.172 STREAM node2
192.168.118.172 DGRAM
192.168.118.172 RAW
[root@node1 ~]# getent ahostsv4 node2
192.168.118.172 STREAM node2
192.168.118.172 DGRAM
192.168.118.172 RAW
[root@node1 ~]# getent ahostsv6 node2
::ffff:192.168.118.172 STREAM node2
::ffff:192.168.118.172 DGRAM
::ffff:192.168.118.172 RAW
[root@node1 ~]#
[root@node1 ~]#
[root@node1 ~]# getent hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.118.201 node1
192.168.118.172 node2
[root@node1 ~]# getent hosts 192.168.118.172 # 不支持getent hosts node2方式
192.168.118.172 node2
[root@node1 ~]#
4.2.查看邮件别名
[root@node1 ~]# getent aliases # 列出系统中所有邮件别名;以下输出删除了部分,仅作为示例查看
mailer-daemon: postmaster
halt: root
mail: root
ldap: root
ftp: root
ntp: root
mysql: root
system: root
ftp-admin: ftp
www: webmaster
support: postmaster
decode: root
[root@node1 ~]# getent aliases mysql # 列出mysql邮件别名
mysql: root
[root@node1 ~]#
4.3. 查看用户组及其密码信息
[root@node1 ~]# getent group # 查看所有用户组信息
root:x:0:
bin:x:1:
... ...
user1:x:1001:
[root@node1 ~]# getent group user1 # 查看指定用户组信息
user1:x:1001:
[root@node1 ~]# cat /etc/group | grep user1 # 通过文件方式查看指定用户组信息
user1:x:1001:
[root@node1 ~]#
[root@node1 ~]# getent gshadow
root:::
... ...
user1:!::
[root@node1 ~]#
[root@node1 ~]# getent gshadow user1
user1:!::
[root@node1 ~]# cat /etc/gshadow | grep user1
user1:!::
[root@node1 ~]#
4.4. 查看网络名称地址映射
[root@node1 ~]# getent networks
default 0.0.0.0
loopback 127.0.0.0
link-local 169.254.0.0
[root@node1 ~]# getent networks default
default 0.0.0.0
[root@node1 ~]#
4.5.查看用户信息
[root@node1 ~]# getent passwd
root:x:0:0:root:/root:/bin/bash
... ...
user1:x:1001:1006::/home/user1:/bin/bash
[root@node1 ~]# getent passwd user1
user1:x:1001:1006::/home/user1:/bin/bash
[root@node1 ~]#
4.6.查询系统网络协议信息
[root@node1 ~]# getent protocols
ip 0 IP
... ...
rohc 142 ROHC
[root@node1 ~]# getent protocols skip
skip 57 SKIP
[root@node1 ~]#
4.7.查询系统的RPC服务
[root@node1 ~]# getent rpc
portmapper 100000 portmap sunrpc rpcbind
... ...
fypxfrd 600100069 freebsd-ypxfrd
[root@node1 ~]# getent rpc sync
sync 100104 na.sync
[root@node1 ~]#
4.8.查询系统网络服务信息
[root@node1 ~]# getent services
... ...
mediabox 46999/tcp
mediabox 46999/udp
... ...
iqobject 48619/tcp
iqobject 48619/udp
matahari 49000/tcp
[root@node1 ~]# getent services mediabox
mediabox 46999/tcp
[root@node1 ~]#
4.9.查看用户密码信息
[root@node1 ~]# getent shadow
root:$1$tNVLGG4J$reEp7/8V/vKhCCz.bHOhD0:20075:0:99999:7:::
bin:*:17834:0:99999:7:::
... ...
user1:$5$wfusXb9byD0vERZD$3ze4l33uVFHbctkec3VN5gU/xxkCrpc/6Tg5IM4ivuA:20250:0:99999:7:::
[root@node1 ~]#
[root@node1 ~]# getent shadow user1
user1:$5$wfusXb9byD0vERZD$3ze4l33uVFHbctkec3VN5gU/xxkCrpc/6Tg5IM4ivuA:20250:0:99999:7:::
[root@node1 ~]#
4.10.其他database选项
getent ethers # 列出所有MAC地址映射
getent ethers server1 # 检查主机server1的MAC地址
getent initgroups # 提示Enumeration not supported on initgroups
getent netgroup # 提示Enumeration not supported on initgroups