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 客戶端用戶名(或“未知”)。
%% 擴展為單個'%?字符。
下劃線會替換%擴展名中可能會引起外殼混亂的字符。