### Mẫu

Ngôn ngữ kiểm soát truy cập thực hiện các mẫu sau:

- Một chuỗi bắt đầu bằng một '.' tính cách. Tên máy chủ được khớp nếu các thành phần cuối cùng của tên khớp với mẫu đã chỉ định. Ví dụ: mẫu '.tue.nl' khớp với tên máy chủ 'wzv.win.tue.nl'.
- Một chuỗi kết thúc bằng một '.' tính cách. Một địa chỉ máy chủ được khớp nếu các trường số đầu tiên của nó khớp với chuỗi đã cho. Ví dụ: mẫu '131.155.' khớp với địa chỉ của (gần như) mọi máy chủ lưu trữ trên mạng của Đại học Eindhoven (131.155.xx).
- Một chuỗi bắt đầu bằng ký tự '@' được coi là tên nhóm mạng NIS (trước đây là YP). Tên máy chủ được khớp nếu nó là thành viên máy chủ của nhóm mạng được chỉ định. Các kết quả trùng khớp Netgroup không được hỗ trợ cho tên quy trình daemon hoặc cho tên người dùng của khách hàng.
- Một biểu thức có dạng 'nnnn / mmmm' được hiểu là một cặp 'net/mask'. Địa chỉ máy chủ IPv4 được khớp nếu 'net' bằng bit VÀ của địa chỉ và 'mặt nạ'. Ví dụ: mẫu mạng / mặt nạ '131.155.72.0/255.255.254.0' khớp với mọi địa chỉ trong phạm vi '131.155.72.0' đến '131.155.73.255'.
- Một biểu thức có dạng '[n: n: n: n: n: n: n: n] / m' được hiểu là một cặp '[net]/prefixlen'. Địa chỉ máy chủ IPv6 được khớp nếu các bit 'tiền tố' của 'net' bằng với các bit 'tiền tố' của địa chỉ. Ví dụ: mẫu [net]/tiền tố '[3ffe: 505: 2: 1 ::]/64' khớp với mọi địa chỉ trong phạm vi '3ffe: 505: 2: 1:'? thông qua '3ffe: 505: 2: 1: ffff: ffff: ffff: ffff'.
- Một chuỗi bắt đầu bằng ký tự '/' được coi là tên tệp. Tên máy chủ hoặc địa chỉ được khớp nếu nó khớp với bất kỳ tên máy chủ hoặc mẫu địa chỉ nào được liệt kê trong tệp được đặt tên. Định dạng tệp là 0 hoặc nhiều dòng với 0 hoặc nhiều tên máy chủ hoặc mẫu địa chỉ được phân tách bằng khoảng trắng. Một mẫu tên tệp có thể được sử dụng ở bất cứ nơi nào có thể sử dụng tên máy chủ hoặc mẫu địa chỉ.
- Ký tự đại diện '*' và '?' có thể được sử dụng để khớp với tên máy chủ hoặc địa chỉ IP. Phương thức đối sánh này không thể được sử dụng cùng với kết hợp 'mạng / mặt nạ', đối sánh tên máy chủ bắt đầu bằng '.' hoặc khớp địa chỉ IP kết thúc bằng '.'.

### Ký tự đại diện

Ngôn ngữ kiểm soát truy cập hỗ trợ các ký tự đại diện rõ ràng:

TẤT CẢ | Các ký tự đại diện, luôn luôn phù hợp.
ĐỊA PHƯƠNG | Khớp với bất kỳ máy chủ nào có tên không chứa ký tự dấu chấm.
KHÔNG XÁC ĐỊNH | Khớp với bất kỳ người dùng nào không biết tên và phù hợp với bất kỳ máy chủ nào có tên hoặc địa chỉ không xác định. Mẫu này nên được sử dụng cẩn thận: tên máy chủ có thể không khả dụng do sự cố máy chủ tên tạm thời. Một địa chỉ mạng sẽ không khả dụng khi phần mềm không thể tìm ra loại mạng mà nó đang nói đến.
BIẾT | Khớp với bất kỳ người dùng nào có tên được biết và phù hợp với bất kỳ máy chủ nào có tên và địa chỉ được biết đến. Mẫu này nên được sử dụng cẩn thận: tên máy chủ có thể không khả dụng do sự cố máy chủ tên tạm thời. Một địa chỉ mạng sẽ không khả dụng khi phần mềm không thể tìm ra loại mạng mà nó đang nói đến.
PARANOID | Khớp với bất kỳ máy chủ nào có tên không khớp với địa chỉ của nó. Khi tcpd được xây dựng với -DPARANOID (chế độ mặc định), nó sẽ loại bỏ các yêu cầu từ các máy khách đó ngay cả trước khi nhìn vào các bảng điều khiển truy cập. Xây dựng mà không có -DPARANOID khi bạn muốn kiểm soát nhiều hơn các yêu cầu đó.

### Người vận hành

NGOẠI TRỪ Mục đích sử dụng có dạng: 'list_1 EXCEPT list_2'; cấu trúc này khớp với mọi thứ khớp với list_1 trừ khi nó khớp với list_2. Toán tử EXCEPT có thể được sử dụng trong daemon_lists và trong client_lists. Toán tử EXCEPT có thể được lồng nhau: nếu ngôn ngữ điều khiển sẽ cho phép sử dụng dấu ngoặc đơn, 'EXCEPT b EXCEPT c' sẽ phân tích thành '(một EXCEPT (b EXCEPT c))'.

### Lệnh Shell

Nếu quy tắc kiểm soát truy cập được so khớp đầu tiên chứa lệnh shell, lệnh đó phải tuân theo% thay thế (xem phần tiếp theo). Kết quả bị cắt bởi quá trình con /bin/sh với đầu vào, đầu ra và lỗi tiêu chuẩn được kết nối với /dev/null. Chỉ định '&' ở cuối lệnh nếu bạn không muốn đợi cho đến khi hoàn thành.

Các lệnh Shell không nên dựa vào cài đặt PATH của inetd. Thay vào đó, họ nên sử dụng tên đường dẫn tuyệt đối, hoặc họ nên bắt đầu bằng một câu lệnh PATH = what- ever rõ ràng.

### % Mở rộng

Các bản mở rộng sau đây có sẵn trong các lệnh shell:

%a (%A) | Địa chỉ máy chủ (máy chủ).
%c | Thông tin khách hàng: user@host, user@address, tên máy chủ hoặc chỉ một địa chỉ, tùy thuộc vào lượng thông tin có sẵn.
%d | Tên tiến trình daemon (giá trị argv[0]).
%h (%H) | Tên máy chủ hoặc máy chủ (máy chủ), nếu tên máy chủ không khả dụng.
%n (%N) | Tên máy chủ của máy khách (máy chủ) (hoặc "không xác định" hoặc "hoang tưởng").
%p | Quá trình id daemon.
%s | Thông tin máy chủ: daemon@host, daemon@address hoặc chỉ một tên daemon, tùy thuộc vào lượng thông tin có sẵn.
%u | Tên người dùng của khách hàng (hoặc "không xác định").
%% | Mở rộng đến một '%? tính cách.

Các ký tự trong%mở rộng có thể gây nhầm lẫn vỏ được thay thế bằng dấu gạch dưới.