TCP包装器

模式

访问控制语言实现以下模式:

通配符

访问控制语言支持显式通配符:
所有 通用通配符始终匹配。
本地 匹配名称不包含点字符的任何主机。
未知 匹配名称未知的任何用户,并匹配名称或地址未知的任何主机。请谨慎使用此模式:由于临时名称服务器问题,主机名可能不可用。当软件无法确定正在与之通信的网络类型时,网络地址将不可用。
知道的 匹配名称已知的任何用户,以及名称和地址已知的任何主机。请谨慎使用此模式:由于临时名称服务器问题,主机名可能不可用。当软件无法确定正在与之通信的网络类型时,网络地址将不可用。
泛醇 匹配名称不匹配其地址的任何主机。使用-DPARANOID(默认模式)构建tcpd时,即使在查看访问控制表之前,它也会丢弃来自此类客户端的请求。当您想要对此类请求进行更多控制时,不使用-DPARANOID进行构建。

经营者

EXCEPT预期用途的格式为:“ list_1 EXCEPT list_2”;除非与list_2匹配,否则此构造匹配与list_1匹配的任何内容。可以在daemon_lists和client_lists中使用EXCEPT运算符。 EXCEPT运算符可以嵌套:如果控制语言允许使用括号,则'a EXCEPT b EXCEPT c'将解析为'(a EXCEPT(b EXCEPT c))'。

Shell命令

如果第一个匹配的访问控制规则包含shell命令,则该命令将受% 替换(请参阅下一节)。结果由/bin/sh子进程执行,其标准输入,输出和错误连接到/dev/null。如果您不想等到命令结束,请在命令末尾指定“&”。

Shell命令不应依赖inetd的PATH设置。相反,它们应使用绝对路径名,或者应以显式PATH = whatever语句开头。

% 扩展

Shell命令中提供以下扩展:
%a(%A) 客户端(服务器)主机地址。
%c 客户信息:user@host,user@address,主机名或仅是地址,具体取决于可用的信息量。
%d 守护进程名称(argv[0]值)。
%h(%H) 客户端(服务器)的主机名或地址(如果主机名不可用)。
%n(%N) 客户端(服务器)主机名(或“未知”或“偏执狂”)。
%p 守护进程ID。
%s 服务器信息:daemon@host,daemon@address或仅是守护程序名称,具体取决于可用的信息量。
%u 客户端用户名(或“未知”)。
%% 扩展为单个'%?字符。
下划线会替换%扩展名中可能会引起外壳混乱的字符。