die jutta hat das prob mit dem "escapen" des punkts "." bereits angeschnitten, wobei es in diesem zusammenhang gar net so um die sonderbedeutung des punkts auf der shell, sondern um die sonderbedeutung des punkts bei den reguären ausdrücken (regular expressions, regexes) geht. wird die sonderbedeutung des punkts bei einem regex nicht aufgehoben, kann es zu unerwünschten nebeneffekten kommen- accepts werden zu weich (=bruch einer vorgegebenen security policy) und denies werden zu hart (=nervig).
kleines beispiel:
- es sollen exe-dateien geblockt werden, i.e. dateien die buchstäblich die endung ".exe" haben.
- dann gibts mehrere möglichkeiten das abgleichmuster zu formulieren:
- Code: Alles auswählen
als acl type nimmt man in dem fall natürlich net "time" o.ä., sondern "url_regex"
1. liberaler ansatz:
acl no_exe url_regex -i ".exe"
http_access deny no_exe
2. restriktiverer ansatz:
acl no_exe url_regex -i "\.exe"
http_access deny no_exe
- es is klar, daĂź beide acls exe-dateien blocken.
- acl #1 blockt aber z.b. auch das...:
http://irgendwas.com/latex/latexexamples/blabla.tex
...und das is keine exe-datei.
- nichtsdestotrotz kann acl #2 auch noch zu liberal formuliert sein.
auf einem server liegen z.b. die dateien "info.executives1.tgz", "info.executives2.tgz"...usw. in dem fall greift auch die
acl #2, und man kriegt scherereien mit executives[1-n], und wennst n gruppen von verärgerten executives am hals hast, kann die lebensfreude durchaus einen tick abnehmen...
- d.h. man sollte möglichst strikt formulieren:
- Code: Alles auswählen
acl no_exe url_regex -i "\.exe$"
http_access deny no_exe
lg
zid