### 패턴

액세스 제어 언어는 다음 패턴을 구현합니다.

- '.'로 시작하는 문자열 캐릭터. 이름의 마지막 구성 요소가 지정된 패턴과 일치하면 호스트 이름이 일치합니다. 예를 들어, 패턴 '.tue.nl'은 호스트 이름 'wzv.win.tue.nl'과 일치합니다.
- '.'로 끝나는 문자열 캐릭터. 첫 번째 숫자 필드가 주어진 문자열과 일치하면 호스트 주소가 일치합니다. 예를 들어 패턴 '131.155'입니다. Eindhoven University 네트워크 (131.155.xx)의 모든 호스트 주소 (거의)와 일치합니다.
- '@'문자로 시작하는 문자열은 NIS (이전의 YP) 넷 그룹 이름으로 취급됩니다. 지정된 넷 그룹의 호스트 구성원 인 경우 호스트 이름이 일치합니다. 데몬 프로세스 이름 또는 클라이언트 사용자 이름에 대해서는 Netgroup 일치가 지원되지 않습니다.
- 'nnnn / mmmm'형식의 표현은 'net/mask'쌍으로 해석됩니다. 'net'이 주소 및 '마스크'의 비트 AND와 같으면 IPv4 호스트 주소가 일치합니다. 예를 들어, 네트 / 마스크 패턴 '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'쌍으로 해석됩니다. 'net'의 'prefixlen'비트가 주소의 'prefixlen'비트와 동일한 경우 IPv6 호스트 주소가 일치합니다. 예를 들어 [net]/prefixlen 패턴 '[3ffe : 505 : 2 : 1 ::]/64'는 '3ffe : 505 : 2 : 1 :'범위의 모든 주소와 일치합니까? '3ffe : 505 : 2 : 1 : ffff : ffff : ffff : ffff'를 통해.
- '/'문자로 시작하는 문자열은 파일 이름으로 취급됩니다. 명명 된 파일에 나열된 호스트 이름 또는 주소 패턴과 일치하면 호스트 이름 또는 주소가 일치합니다. 파일 형식은 공백으로 구분 된 0 개 이상의 호스트 이름 또는 주소 패턴을 가진 0 개 이상의 행입니다. 파일 이름 패턴은 호스트 이름 또는 주소 패턴이 사용될 수있는 모든 곳에서 사용될 수 있습니다.
- 와일드 카드 '*'및 '?' 호스트 이름 또는 IP 주소를 일치시키는 데 사용할 수 있습니다. 이 일치 방법은 'net/mask'일치, '.'로 시작하는 호스트 이름 일치와 함께 사용할 수 없습니다. 또는 '.'로 끝나는 IP 주소 일치.

### 와일드 카드

액세스 제어 언어는 명시 적 와일드 카드를 지원합니다.

모두 | 범용 와일드 카드는 항상 일치합니다.
현지 | 이름에 점 문자가 포함되지 않은 호스트와 일치합니다.
알 수 없는 | 이름을 모르는 사용자와 이름 또는 주소를 모르는 호스트와 일치합니다. 이 패턴은주의해서 사용해야합니다. 임시 이름 서버 문제로 인해 호스트 이름을 사용하지 못할 수 있습니다. 소프트웨어가 통신하는 네트워크 유형을 파악할 수없는 경우 네트워크 주소를 사용할 수 없습니다.
모두 다 아는 | 이름이 알려진 모든 사용자와 일치하고 이름과 주소가 알려진 모든 호스트와 일치합니다. 이 패턴은주의해서 사용해야합니다. 임시 이름 서버 문제로 인해 호스트 이름을 사용하지 못할 수 있습니다. 소프트웨어가 통신하는 네트워크 유형을 파악할 수없는 경우 네트워크 주소를 사용할 수 없습니다.
파라노이드 | 이름이 주소와 일치하지 않는 호스트와 일치합니다. tcpd가 -DPARANOID (기본 모드)로 빌드되면 액세스 제어 테이블을보기 전에도 해당 클라이언트에서 요청을 삭제합니다. 그러한 요청에 대해 더 많은 제어를 원할 경우 -DPARANOID없이 빌드하십시오.

### 연산자

EXCEPT 용도는 'list_1 EXCEPT list_2'; 이 구성은 list_2와 일치하지 않는 한 list_1과 일치하는 항목과 일치합니다. EXCEPT 연산자는 daemon_lists 및 client_lists에서 사용할 수 있습니다. EXCEPT 연산자는 중첩 될 수 있습니다. 제어 언어에서 괄호 사용을 허용하면 'a EXCEPT b EXCEPT c'는 '(a EXCEPT (b EXCEPT c))'로 구문 분석됩니다.

### 쉘 명령

첫 번째로 일치하는 액세스 제어 규칙에 쉘 명령이 포함 된 경우 해당 명령에는 %가 적용됩니다. 대체 (다음 섹션 참조). 표준 입력, 출력 및 오류가 /dev/null에 연결된 /bin/sh 하위 프로세스에 의해 결과가 나타납니다. 완료 될 때까지 기다리지 않으려면 명령 끝에 '&'를 지정하십시오.

쉘 명령은 inetd의 PATH 설정에 의존해서는 안됩니다. 대신 절대 경로 이름을 사용해야하거나 명시 적 PATH = whateverever 문으로 시작해야합니다.

### % 확장

쉘 명령 내에서 다음 확장을 사용할 수 있습니다.

%a (%A) | 클라이언트 (서버) 호스트 주소입니다.
%c | 클라이언트 정보 : 사용 가능한 정보의 양에 따라 user@host, user@address, 호스트 이름 또는 주소.
%d | 데몬 프로세스 이름 (argv[0] 값)
%h (%H) | 호스트 이름을 사용할 수없는 경우 클라이언트 (서버) 호스트 이름 또는 주소입니다.
%n (%N) | 클라이언트 (서버) 호스트 이름 (또는 "알 수 없음"또는 "파라노이드")
%p | 데몬 프로세스 ID
%s | 사용 가능한 정보의 양에 따라 서버 정보 : daemon@host, daemon@address 또는 단지 데몬 이름.
%u | 클라이언트 사용자 이름 (또는 "알 수 없음")
%% | 단일 '%로 확장 하시겠습니까? 캐릭터.

쉘을 혼동 할 수있는 %확장 문자는 밑줄로 바뀝니다.