Es gibt zwei Konfigurationsdateien, die die Aktionen des LinuxWall Schmuddelfilters steuern : content.rules und content.html. Die Datei content.rules enthält die Regeln zum Zulassen oder Ablehnen eines Zugriffs, content.html enthält die Ersatzseite, die eingeblendet wird, falls der Zugriff nicht erlaubt wird.
Wenn die Datei content.rules nicht vorhanden ist, wird der Schmuddelfilter nicht gestartet. Ist die Datei content.rules vorhanden, aber nicht die Datei content.html, wird automatisch eine Ersatzseite (englisch) erzeugt.
Die Datei content.html enthält eine Datei im HTML-Format, wobei Hyperlinks in dieser Datei extern sein müssen. Eingebettete Bilder müssen also immer einen anderen Web-Server (LAN oder Internet) referenzieren.
Die Datei content.rules ist wie folgt aufgebaut :
Eine beliebige Anzahl von Zeilen, die entweder "DEFAULT:
..." für die Standardeinstellung oder "RULE: ..."
für eine Regel enthalten.
In beiden Fällen gibt es eine Aktion <ACTION>,
die entweder "LOG", "DENY, ACCEPT",
"LOG,DENY", "DENY,LOG","LOG,ACCEPT"
oder "ACCEPT,LOG" ist, wobei das Komma auch weggelassen
werden kann. Groß- und Kleinschreibung werden nicht unterschieden.
DEFAULT: <ACTION>
Trifft keine nachfolgende Regel zu, wird diese Aktion ausgeführt,
meist ACCEPT. LOG alleine ist nicht zulässig
als default-Aktion.
RULE: <ACTION> : <TEST>
Falls <TEST> zutrifft, wird <ACTION>
ausgeführt, LOG alleine als Aktion bewirkt das Protokollieren
und weitere Prüfen von Regeln, bei allen anderen Aktionen wird das
Durchsuchen der Regeln beendet.
<TEST> kann ( <TEST>
), <TEST> AND
<TEST>, <TEST> OR
<TEST> oder NOT <TEST>
sein und bewirkt die üblichen Operationen.
<TEST> ist dann der Buchstabe K
(für keyword) oder D (für description),
gefolgt von = und einem String in eckigen Klammern [
<STRING> ].
Dieser String wird ähnlich einem Dateinamen unter Unix angegeben.
Er kann alle druckbaren Zeichen enthalten, die Zeichen ?
stehen wie unter Unix-shell als Platzhalter für ein einzelnes Zeichen
und * für eine beliebig lange Zeichenfolge, die auch
leer sein kann. Groß- und Kleinschreibung werden nicht unterschieden.
Folgende Zeilen sind ein Beispiel für einen Schmuddelfilter :
DEFAULT: ACCEPT
RULE: DENY, LOG : K = [porno] or K = [playboy] or K = [sex]
Normalerweise wird ein Dokument akzeptiert, außer wenn in den META Tags als "keyword" die Wörter "Porno", "Playboy" oder "Sex" in allen Schreibweisen (also "porNO", "PORno", ...) vorkommen. Dann wird dieser Zugriff in die Datei content.log protokolliert. Die Datei content.error protokolliert syntaktische Fehler in der Datei content.rules. Beide Dateien werden mit der täglichen Logdateiübermittlung übertragen
Es empfiehlt sich, mit Wildcards ("*") sparsam umzugehen, bei der Angabe von "K = [*sex]" würden die Webseiten aus Sussex möglicherweise auch nicht mehr angezeigt.