xinetd-Daemon
Der xinetd-Daemon ist ein in TCP verpackter Superdienst, der den Zugriff auf eine Teilmenge beliebter Netzwerkdienste einschließlich FTP, IMAP und Telnet steuert. Es bietet auch dienstspezifische Konfigurationsoptionen für Zugriffskontrolle, verbesserte Protokollierung, Bindung, Umleitung und Kontrolle der Ressourcennutzung.
Wenn ein Client-Host versucht, sich mit einem von xinetd gesteuerten Netzwerkdienst zu verbinden, empfängt der Super-Dienst die Anfrage und prüft, ob Zugriffskontrollregeln für TCP-Wrapper vorhanden sind. Wenn der Zugriff erlaubt ist, überprüft xinetd, ob die Verbindung nach seinen eigenen Zugriffsregeln für diesen Dienst erlaubt ist und ob der Dienst nicht mehr als die ihm zugewiesene Menge an Ressourcen verbraucht oder gegen definierte Regeln verstößt. Anschließend startet er eine Instanz des angeforderten Dienstes und übergibt ihm die Kontrolle über die Verbindung. Sobald die Verbindung hergestellt ist, greift xinetd nicht weiter in die Kommunikation zwischen dem Client-Host und dem Server ein.
Das Verzeichnis /etc/xinetd.d/
Die Dateien in /etc/xinetd.d/ Das Verzeichnis enthält die Konfigurationsdateien für jeden von xinetd verwalteten Dienst, und die Namen der Dateien entsprechen dem Dienst. Wie bei xinetd.conf werden diese Dateien nur gelesen, wenn der xinetd-Dienst gestartet wird. Damit Änderungen wirksam werden, muss der Administrator den xinetd-Dienst neu starten.
# ls -lrt /etc/xinetd.d/ total 60 -rw-r--r--. 1 root root 332 Mar 28 2014 rsync -rw------- 1 root root 1150 Dec 16 2015 time-stream -rw------- 1 root root 1149 Dec 16 2015 time-dgram -rw------- 1 root root 1212 Dec 16 2015 tcpmux-server -rw------- 1 root root 1150 Dec 16 2015 echo-stream -rw------- 1 root root 1148 Dec 16 2015 echo-dgram -rw------- 1 root root 1159 Dec 16 2015 discard-stream -rw------- 1 root root 1157 Dec 16 2015 discard-dgram -rw------- 1 root root 1159 Dec 16 2015 daytime-stream -rw------- 1 root root 1157 Dec 16 2015 daytime-dgram -rw------- 1 root root 1159 Dec 16 2015 chargen-stream -rw------- 1 root root 1157 Dec 16 2015 chargen-dgram -rw-------. 1 root root 429 Aug 22 00:56 rsh -rw-------. 1 root root 376 Aug 22 00:56 rlogin -rw-------. 1 root root 359 Aug 22 00:56 rexec
Das Format der Dateien im Verzeichnis /etc/xinetd.d/ verwendet die gleichen Konventionen wie /etc/xinetd.conf. Der Hauptgrund dafür, dass die Konfiguration für jeden Dienst in einer separaten Datei gespeichert wird, besteht darin, die Anpassung zu vereinfachen und weniger wahrscheinlich andere Dienste zu beeinträchtigen.
Um zu verstehen, wie diese Dateien strukturiert sind, betrachten Sie die Datei /etc/xinetd.d/rsync:
# cat /etc/xinetd.d/rsync # default: off # description: The rsync server is a good addition to an ftp server, as it \ # allows crc checksumming etc. service rsync { disable = yes flags = IPv6 socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID }
Diese Zeilen steuern verschiedene Aspekte des rsync-Dienstes:
- Dienst – Definiert den Dienstnamen, normalerweise einer, der in der Datei /etc/services aufgeführt ist.
- deaktivieren – Definiert, ob der Dienst aktiv ist oder nicht.
- Flaggen – Legt eines von mehreren Attributen für die Verbindung fest.
- socket_type – Setzt den Netzwerk-Socket-Typ auf Stream.
- warten – Definiert, ob der Dienst Single-Threaded (Ja) oder Multi-Threaded (Nein) ist.
- Benutzer – Definiert, unter welcher Benutzer-ID der Prozessprozess ausgeführt wird.
- Server – Definiert die zu startende ausführbare Binärdatei.
- server_args – Definiert Argumente, falls vorhanden, die an die zu startende ausführbare Binärdatei übergeben werden sollen.
- log_on_failure – Definiert Protokollierungsparameter für log_on_failure zusätzlich zu denen, die bereits in xinetd.conf definiert sind.