### Μοτίβα

Η γλώσσα ελέγχου πρόσβασης εφαρμόζει τα ακόλουθα μοτίβα:

- Μια συμβολοσειρά που ξεκινά με ένα «.» χαρακτήρας. Ένα όνομα κεντρικού υπολογιστή ταιριάζει εάν τα τελευταία στοιχεία του ονόματός του ταιριάζουν με το καθορισμένο μοτίβο. Για παράδειγμα, το μοτίβο «.tue.nl» ταιριάζει με το όνομα κεντρικού υπολογιστή «wzv.win.tue.nl».
- Μια συμβολοσειρά που τελειώνει με "." χαρακτήρας. Μια διεύθυνση κεντρικού υπολογιστή αντιστοιχεί εάν τα πρώτα αριθμητικά πεδία αντιστοιχούν στη δεδομένη συμβολοσειρά. Για παράδειγμα, το μοτίβο «131.155». αντιστοιχεί στη διεύθυνση (σχεδόν) κάθε κεντρικού υπολογιστή στο δίκτυο του Πανεπιστημίου του Αϊντχόβεν (131.155.xx).
- Μια συμβολοσειρά που ξεκινά με χαρακτήρα «@» αντιμετωπίζεται ως όνομα netgroup NIS (πρώην YP). Ένα όνομα κεντρικού υπολογιστή ταιριάζει εάν είναι μέλος κεντρικού υπολογιστή της καθορισμένης ομάδας δικτύου. Οι αντιστοιχίσεις Netgroup δεν υποστηρίζονται για ονόματα διεργασιών daemon ή για ονόματα χρηστών πελατών.
- Μια έκφραση της μορφής «nnnn / mmmm» ερμηνεύεται ως ζεύγος «net/mask». Μια διεύθυνση κεντρικού υπολογιστή IPv4 αντιστοιχεί εάν το "net" είναι ίσο με το bitwise AND της διεύθυνσης και το "mask". Για παράδειγμα, το μοτίβο net/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». Μια διεύθυνση κεντρικού υπολογιστή IPv6 αντιστοιχεί εάν τα bit του prefixlen του net είναι ίσα με τα bit του 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 όταν θέλετε περισσότερο έλεγχο σε τέτοια αιτήματα.

### Χειριστές

EXCEPT Η προβλεπόμενη χρήση έχει τη μορφή: 'list_1 EXCEPT list_2'; αυτή η κατασκευή ταιριάζει με οτιδήποτε ταιριάζει στη λίστα_1, εκτός εάν ταιριάζει στη λίστα_2. Ο τελεστής EXCEPT μπορεί να χρησιμοποιηθεί σε daemon_lists και σε client_lists. Ο χειριστής EXCEPT μπορεί να ένθετο: εάν η γλώσσα ελέγχου θα επιτρέπει τη χρήση παρενθέσεων, «ένα EXCEPT b EXCEPT c» θα αναλυθεί ως «(EXCEPT (b EXCEPT c))».

### Εντολές Shell

Εάν ο κανόνας ελέγχου πρόσβασης με τον πρώτο αγώνα περιέχει μια εντολή κελύφους, αυτή η εντολή υπόκειται σε% αντικαταστάσεις (βλ. επόμενη ενότητα). Το αποτέλεσμα εξαλείφεται με μια / /bin/sh θυγατρική διαδικασία με τυπική είσοδο, έξοδο και σφάλμα συνδεδεμένο στο /dev/null. Καθορίστε ένα «&» στο τέλος της εντολής εάν δεν θέλετε να περιμένετε μέχρι να ολοκληρωθεί.

Οι εντολές Shell δεν πρέπει να βασίζονται στη ρύθμιση PATH του inetd. Αντίθετα, θα πρέπει να χρησιμοποιούν απόλυτα ονόματα διαδρομών ή θα πρέπει να ξεκινούν με μια ρητή PATH = όποια δήλωση.

### % Επεκτάσεις

Οι ακόλουθες επεκτάσεις είναι διαθέσιμες εντός εντολών κελύφους:

%a (%A) | Η διεύθυνση κεντρικού υπολογιστή πελάτη (διακομιστής).
%c | Πληροφορίες πελάτη: user@host, user@address, host name ή απλά μια διεύθυνση, ανάλογα με το πόσες πληροφορίες είναι διαθέσιμες.
%d | Το όνομα διεργασίας δαίμονα (τιμή argv[0]).
%h (%H) | Το όνομα ή διεύθυνση κεντρικού υπολογιστή πελάτη (διακομιστής), εάν το όνομα κεντρικού υπολογιστή δεν είναι διαθέσιμο.
%n (%N) | Το όνομα κεντρικού υπολογιστή-πελάτη (διακομιστής) (ή "άγνωστο" ή "παρανοϊκό").
%p | Το αναγνωριστικό διεργασίας δαίμονα.
%s | Πληροφορίες διακομιστή: daemon@host, daemon@address ή απλά ένα όνομα δαίμονα, ανάλογα με το πόσες πληροφορίες είναι διαθέσιμες.
%u | Το όνομα χρήστη πελάτη (ή "άγνωστο").
%% | Επεκτείνεται σε ένα ενιαίο '%; χαρακτήρας.

Οι χαρακτήρες σε%επεκτάσεις που μπορεί να προκαλέσουν σύγχυση στο κέλυφος αντικαθίστανται από κάτω παύλες.