### Padrões

A linguagem de controle de acesso implementa os seguintes padrões:

- Uma sequência que começa com um '.' personagem. Um nome de host será correspondido se os últimos componentes de seu nome corresponderem ao padrão especificado. Por exemplo, o padrão '.tue.nl' corresponde ao nome do host 'wzv.win.tue.nl'.
- Uma sequência que termina com um '.' personagem. Um endereço de host é correspondido se seus primeiros campos numéricos corresponderem à sequência especificada. Por exemplo, o padrão '131.155'. corresponde ao endereço de (quase) todos os hosts da rede da Universidade de Eindhoven (131.155.xx).
- Uma sequência que começa com um caractere '@' é tratada como um nome de grupo de rede NIS (anteriormente YP). Um nome de host será correspondido se for um membro do host do grupo de rede especificado. As correspondências de grupo de rede não são suportadas para nomes de processos daemon ou nomes de usuário do cliente.
- Uma expressão no formato 'nnnn / mmmm' é interpretada como um par 'rede / máscara'. Um endereço de host IPv4 será correspondido se 'net' for igual ao AND bit a bit do endereço e da 'máscara'. Por exemplo, o padrão de rede / máscara '131.155.72.0/255.255.254.0' corresponde a todos os endereços no intervalo '131.155.72.0' a '131.155.73.255'.
- Uma expressão no formato '[n: n: n: n: n: n: n: n] / m' é interpretada como um par '[net]/prefixlen'. Um endereço de host IPv6 será correspondido se os bits 'prefixlen' de 'net' forem iguais aos bits 'prefixlen' do endereço. Por exemplo, o padrão [net]/prefixlen '[3ffe: 505: 2: 1 ::]/64' corresponde a todos os endereços no intervalo '3ffe: 505: 2: 1:'? através de '3ffe: 505: 2: 1: ffff: ffff: ffff: ffff'.
- Uma sequência que começa com um caractere '/' é tratada como um nome de arquivo. Um nome ou endereço de host é correspondido se corresponder a qualquer nome de host ou padrão de endereço listado no arquivo nomeado. O formato do arquivo é zero ou mais linhas com zero ou mais padrões de nome ou endereço de host separados por espaços em branco. Um padrão de nome de arquivo pode ser usado em qualquer lugar em que um nome de host ou padrão de endereço possa ser usado.
- Caracteres curinga '*' e '?' pode ser usado para combinar nomes de host ou endereços IP. Esse método de correspondência não pode ser usado em conjunto com a correspondência 'net/mask', a correspondência do nome do host começando com '.' ou endereço IP correspondente, terminando com '.'.

### Curingas

A linguagem de controle de acesso suporta caracteres curinga explícitos:

TODOS | O curinga universal sempre corresponde.
LOCAL | Corresponde a qualquer host cujo nome não contenha um caractere de ponto.
DESCONHECIDO | Corresponde a qualquer usuário cujo nome é desconhecido e corresponde a qualquer host cujo nome ou endereço seja desconhecido. Esse padrão deve ser usado com cuidado: os nomes de host podem estar indisponíveis devido a problemas temporários no servidor de nomes. Um endereço de rede ficará indisponível quando o software não conseguir descobrir com que tipo de rede está falando.
CONHECIDO | Corresponde a qualquer usuário cujo nome seja conhecido e corresponde a qualquer host cujo nome e endereço sejam conhecidos. Esse padrão deve ser usado com cuidado: os nomes de host podem estar indisponíveis devido a problemas temporários no servidor de nomes. Um endereço de rede ficará indisponível quando o software não conseguir descobrir com que tipo de rede está falando.
PARANOID | Corresponde a qualquer host cujo nome não corresponde ao seu endereço. Quando o tcpd é criado com -DPARANOID (modo padrão), elimina solicitações desses clientes antes mesmo de examinar as tabelas de controle de acesso. Crie sem -DPARANOID quando desejar ter mais controle sobre essas solicitações.

### Operadores

EXCETO O uso pretendido está no formato: 'list_1 EXCEPT list_2'; essa construção corresponde a qualquer coisa que corresponda à lista_1, a menos que corresponda à lista_2. O operador EXCEPT pode ser usado em daemon_lists e em client_lists. O operador EXCEPT pode ser aninhado: se a linguagem de controle permitir o uso de parênteses, 'a EXCEPT b EXCEPT c' analisará como '(a EXCEPT (b EXCEPT c))'.

### Comandos do Shell

Se a regra de controle de acesso de primeira correspondência contiver um comando shell, esse comando estará sujeito a% substituições (consulte a próxima seção). O resultado é executado por um processo filho /bin/sh com entrada, saída e erro padrão conectados a /dev/null. Especifique um '&' no final do comando se você não quiser esperar até que ele seja concluído.

Os comandos do shell não devem depender da configuração PATH do inetd. Em vez disso, eles devem usar nomes absolutos de caminho ou devem começar com uma instrução PATH = what ever.

### % De expansão

As seguintes expansões estão disponíveis nos comandos do shell:

%a (%A) | O endereço do host do cliente (servidor).
%c | Informações do cliente: usuário @ host, usuário @ endereço, um nome de host ou apenas um endereço, dependendo da quantidade de informações disponíveis.
%d | O nome do processo do daemon (valor argv[0]).
%h (%H) | O nome ou endereço do host do cliente (servidor), se o nome do host não estiver disponível.
%n (%N) | O nome do host do cliente (servidor) (ou "desconhecido" ou "paranóico").
%p | O ID do processo daemon.
%s | Informações do servidor: daemon@host, daemon@address ou apenas um nome de daemon, dependendo da quantidade de informações disponíveis.
%u | O nome de usuário do cliente (ou "desconhecido").
%% | Expande para um único '%? personagem.

Os caracteres em%de expansões que podem confundir o shell são substituídos por sublinhados.