TCP Wrappers

Motifs

Le langage de contrôle d'accès implémente les modèles suivants:

Caractères génériques

Le langage de contrôle d'accès prend en charge les caractères génériques explicites:
TOUT Le caractère générique universel correspond toujours.
LOCAL Correspond à tout hôte dont le nom ne contient pas de caractère point.
INCONNUE Correspond à tout utilisateur dont le nom est inconnu et correspond à tout hôte dont le nom ou l'adresse sont inconnus. Ce modèle doit être utilisé avec précaution: les noms d'hôte peuvent ne pas être disponibles en raison de problèmes temporaires de serveur de noms. Une adresse réseau ne sera pas disponible lorsque le logiciel ne pourra pas déterminer à quel type de réseau il parle.
CONNU Correspond à tout utilisateur dont le nom est connu et correspond à tout hôte dont le nom et l'adresse sont connus. Ce modèle doit être utilisé avec précaution: les noms d'hôte peuvent ne pas être disponibles en raison de problèmes temporaires de serveur de noms. Une adresse réseau ne sera pas disponible lorsque le logiciel ne pourra pas déterminer à quel type de réseau il parle.
PARANOÏAQUE Correspond à tout hôte dont le nom ne correspond pas à son adresse. Lorsque tcpd est construit avec -DPARANOID (mode par défaut), il supprime les requêtes de ces clients avant même de consulter les tables de contrôle d'accès. Générez sans -DPARANOID lorsque vous souhaitez plus de contrôle sur ces demandes.

Les opérateurs

SAUF L'utilisation prévue est de la forme: 'list_1 EXCEPT list_2'; cette construction correspond à tout ce qui correspond à list_1, sauf si elle correspond à list_2. L'opérateur EXCEPT peut être utilisé dans daemon_lists et dans client_lists. L'opérateur EXCEPT peut être imbriqué: si le langage de contrôle permet l'utilisation de parenthèses, «a EXCEPT b EXCEPT c» est analysé comme «(a EXCEPT (b EXCEPT c))».

Commandes shell

Si la première règle de contrôle d'accès correspondant contient une commande shell, cette commande est soumise à% substitutions (voir section suivante). Le résultat est exécuté par un processus enfant /bin/sh avec une entrée, une sortie et une erreur standard connectées à /dev/null. Spécifiez un «&» à la fin de la commande si vous ne voulez pas attendre qu'elle soit terminée.

Les commandes shell ne doivent pas s'appuyer sur le paramètre PATH de inetd. Au lieu de cela, ils devraient utiliser des noms de chemin absolus ou commencer par une instruction PATH = what-ever explicite.

% D'expansion

Les extensions suivantes sont disponibles dans les commandes shell:
%a (%A) L'adresse d'hôte du client (serveur).
%c Informations sur le client: utilisateur @ hôte, utilisateur @ adresse, un nom d'hôte ou simplement une adresse, selon la quantité d'informations disponibles.
%d Le nom du processus démon (valeur argv[0]).
%h (%H) Le nom d'hôte ou l'adresse du client (serveur), si le nom d'hôte n'est pas disponible.
%n (%N) Le nom d'hôte du client (serveur) (ou "inconnu" ou "paranoïaque").
%p L'ID du processus démon.
%s Informations sur le serveur: daemon@host, daemon@address ou simplement un nom de démon, selon la quantité d'informations disponibles.
%u Le nom d'utilisateur du client (ou "inconnu").
%% Se développe à un seul%? personnage.
Les caractères en%d'extensions qui peuvent perturber le shell sont remplacés par des traits de soulignement.