Es hat nichts mit bash
noch zu tun iptables
(wie ursprünglich von Ihren Fragetags vorgeschlagen). Dies /etc/rsyslog.d/iptables.conf
ist ein Teil von rsyslogd
config, nicht von iptables
config.
&
ist ein Teil der Syntax, die rsyslog
versteht.
Es wird hier erklärt :
Sie können mehrere Aktionen für einen einzelnen Selector (oder genauer für einen einzelnen Filter einer solchen Selector-Zeile) ausführen. Jede Aktion muss sich in einer eigenen Zeile befinden und die Zeile muss mit einem kaufmännischen Und-Zeichen (
&
) beginnen und darf keine Filter enthalten. Ein Beispiel wäre*.=crit :omusrmsg:rger & root & /var/log/critmsgs
Diese drei Leitungen senden kritische Nachrichten an den Benutzer
rger
undroot
speichern sie auch in/var/log/critmsgs
. Die Verwendung mehrerer Aktionen pro Auswahl ist bequem und bietet auch einen Leistungsvorteil.
Dann ~
wird hier erklärt :
Wenn die Verwerfungsaktion ausgeführt wird, wird die empfangene Nachricht sofort verworfen. Es erfolgt keine weitere Bearbeitung. […] Verwerfen ist nur das Wort
stop
ohne weitere Parameter:stop
Zum Beispiel,
*.* stop
wirft alles ab (ok, man kann dasselbe erreichen, wenn man gar nicht läuft
rsyslogd
…).Beachten Sie, dass in älteren Konfigurationen das Tilde-Zeichen
~
anstelle des Wortes verwendet werden kannstop
.
In Ihrem Fall werden übereinstimmende Meldungen in der Datei protokolliert und dann verworfen (nicht weiter verarbeitet).