Skip to main content

什么是Linux / Unix中的/ etc / services?

Integrating Linux with AD for Users, Groups, Kerberos Authentication, etc (六月 2025)

Integrating Linux with AD for Users, Groups, Kerberos Authentication, etc (六月 2025)
Anonim

UNIX操作系统在/ etc / services中存储所谓的服务文件。它存储有关客户端应用程序可能在计算机上使用的众多服务的信息。文件中包含服务名称,端口号和使用的协议以及任何适用的别名。

端口号映射到特定服务,就像Windows计算机上的hosts文件将主机名映射到IP地址一样。但是,UNIX操作系统的服务文件不包含IP地址,而是包括服务是TCP还是UDP以及它可能包含的常用名称等信息。

可以使用简单的文本编辑器编辑/ etc / services文件,如Vim或Kate。

UNIX服务文件的示例

在UNIX上,配置文件/ etc / services的关键作用是程序可以在其代码中执行getportbyname()套接字调用,以便了解它们应该使用哪个端口。例如,POP3电子邮件守护程序将执行getportbyname(POP3)以检索POP3运行的数字110。

我们的想法是,如果所有POP3守护进程都使用getportbyname(),那么无论您运行什么POP3守护进程,都可以通过编辑/ etc / services来重新配置其端口号。

注意: 使用服务文件以确定端口号的含义是不可靠的。如果要查找正在使用的端口程序,则应使用程序lsof确切地找出哪些端口绑定到哪些进程。如果运行lsof不合适,那么您应该在更通用的引用中研究端口。

所有服务文件都遵循以下相同的语法:

名称端口/协议别名注释

但是,不必为每个数据库条目添加别名和注释,您可以在此示例服务文件中看到:

$ cat / etc / services##版权所有2008 Sun Microsystems,Inc。保留所有权利。#使用受许可条款约束。##ident“@(#)services 1.34 08/11/19 SMI”##网络服务,互联网风格#tcpmux 1 / tcpecho 7 / tcpecho 7 / udpdiscard 9 / tcp sink null丢弃9 / udp sink nullsystat 11 / tcp用户白天13 / tcp白天13 / udpnetstat 15 / tcpchargen 19 / tcp ttytst sourcechargen 19 / udp ttytst sourceftp-data 20 / tcpftp 21 / tcpssh 22 / tcp #Secure Shelltelnet 23 / tcpsmtp 25 / tcp邮件时间37 / tcp timserver时间37 / udp timservername 42 / udp nameserverwhois 43 / tcp nicname#通常是sri-nicswat 901 / tcp#Samba Web Adm.Toolservicetag 6481 / udpservicetag 6481 / tcpsnmpd 161 / udp snmp#SMA snmp守护进程$