### Візерунки

Мова контролю доступу реалізує такі схеми:

- Рядок, що починається з "." характер. Ім'я хоста узгоджується, якщо останні компоненти його імені відповідають заданому шаблону. Наприклад, шаблон '.tue.nl' відповідає імені хоста 'wzv.win.tue.nl'.
- Рядок, який закінчується символом "." характер. Адреса хоста узгоджується, якщо його перші числові поля відповідають даному рядку. Наприклад, шаблон '131.155.' відповідає адресу (майже) кожного господаря в мережі університету Ейндховена (131.155.xx).
- Рядок, який починається символом "@", трактується як ім'я мережі NIS (раніше YP). Ім'я хоста узгоджується, якщо він є членом хосту зазначеної мережі. Збіги Netgroup не підтримуються для імен процесу демонів або для імен користувачів клієнтів.
- Вираз форми 'nnnn / mmmm' інтерпретується як пара 'net/mask'. Адреса хоста IPv4 узгоджується, якщо 'net' дорівнює побітові AND адреси та 'mask'. Наприклад, сітка / маска '131.155.72.0/255.255.254.0' відповідає кожній адресі в діапазоні '131.155.72.0' до '131.155.73.255'.
- Вираз форми '[n: n: n: n: n: n: n: n] / m' інтерпретується як пара '[net]/prefixlen'. IP-адреса хоста IPv6 узгоджується, якщо біти префіксалу 'net' дорівнюють бітам 'prefixlen' адреси. Наприклад, шаблон [net]/prefixlen '[3ffe: 505: 2: 1 ::]/64' відповідає кожній адресі в діапазоні '3ffe: 505: 2: 1:'? через '3ffe: 505: 2: 1: ffff: ffff: ffff: ffff'.
- Рядок, що починається з символу '/', трактується як ім'я файлу. Ім'я або адреса хоста узгоджуються, якщо вони відповідають будь-якому імені хосту або шаблону адреси, вказаному в названому файлі. Формат файлу дорівнює нулю або більше рядків з нульовим або більше шаблонами імен хостів або адрес, розділених пробілом. Шаблон імені файлу можна використовувати де завгодно, ім'я хосту або шаблон адреси.
- Замінні символи '*' та '?' можна використовувати для узгодження імен хостів або IP-адрес. Цей спосіб узгодження не можна використовувати в поєднанні з "net/mask" зіставленням, узгодження імені хоста починається з "." або відповідність IP-адреси, що закінчується на "."

### Уайлдкард

Мова контролю доступу підтримує чіткі символи:

ВСІ | Універсальна підстановка завжди відповідає.
МІСЦЕВО | Відповідає будь-якому хосту, ім'я якого не містить крапки.
НЕЗНАЧЕНО | Відповідає будь-якому користувачеві, ім'я якого невідоме, і відповідає будь-якому хосту, ім'я чи адреса якого невідомі. Цю схему слід використовувати обережно: імена хостів можуть бути недоступними через проблеми з тимчасовим сервером імен. Мережева адреса буде недоступною, коли програмне забезпечення не зможе зрозуміти, з яким типом мережі він спілкується.
ЗНАЙТЕ | Відповідає будь-якому користувачеві, ім'я якого відомо, і відповідає будь-якому хосту, ім'я та адреса якого відомі. Цю схему слід використовувати обережно: імена хостів можуть бути недоступними через проблеми з тимчасовим сервером імен. Мережева адреса буде недоступною, коли програмне забезпечення не зможе зрозуміти, з яким типом мережі він спілкується.
ПАРАНОЙД | Відповідає будь-якому хосту, ім'я якого не відповідає його адресі. Коли tcpd побудований з -DPARANOID (режим за замовчуванням), він скасовує запити від таких клієнтів ще до того, як переглядати таблиці контролю доступу. Створюйте без -DPARANOID, коли ви хочете більше контролювати такі запити.

### Оператори

ВКЛЮЧЕННЯ Передбачуване використання має вигляд: 'list_1 ОСНОВНИЙ список_2'; ця конструкція відповідає всім, що відповідає list_1, якщо вона не відповідає списку_2. Оператор EXCEPT може використовуватися в daemon_lists і в client_lists. Оператор EXCEPT може бути вкладений: якщо мова управління дозволить використовувати дужки, "EXCEPT b EXCEPT c" буде розбиратися як "(EXCEPT (b EXCEPT c))".

### Команди оболонки

Якщо правило управління доступом, яке відповідає першому збігу, містить команду оболонки, ця команда піддається% заміни (див. наступний розділ). Результат виконується дочірнім процесом /bin/sh із стандартним входом, виходом та помилкою, підключеними до /dev/null. Вкажіть "&" в кінці команди, якщо ви не хочете чекати, поки воно не завершиться.

Команди оболонки не повинні покладатися на налаштування PATH inetd. Натомість вони повинні використовувати абсолютні імена шляхів, або вони повинні починатися з явного PATH = що-небудь твердження.

### % Розширень

У командах оболонки доступні такі розширення:

%a (%A) | Адреса хоста клієнта (сервера).
%c | Інформація про клієнта: user@host, user@address, ім'я хоста або просто адреса, залежно від того, скільки інформації доступно.
%d | Назва процесу демона (значення argv[0]).
%h (%H) | Ім'я або адреса клієнта (сервера), якщо ім'я хоста недоступне.
%n (%N) | Ім'я хоста клієнта (сервера) (або "невідомо" або "параноїда").
%p | Ідентифікатор процесу демона.
%s | Інформація про сервер: daemon @ хост, daemon @ адреса або просто ім'я демон, залежно від того, скільки інформації доступно.
%u | Ім'я користувача клієнта (або "невідомо").
%% | Розширюється на єдиний '%? характер.

Символи в%розширень, які можуть сплутати оболонку, замінюються накресленнями.