Jochen Schrader wrote:
Bei root gibts den Punkt doch auch bei SuSE nicht im $PATH. Und bei Usern ist das wirklich nur eine Scheinsicherheit, schließlich kann sich jeder den Punkt wieder dazu machen. Da wäre es schon besser die entsprechenden Verzeichnisse auf eigene Partitionen zu legen und mit der Option noexec zu mounten.
Das sind zwei verschiedene Dinge. Das aktuelle Verzeichnis aus dem PATH herauszulassen dient dazu, dass man nicht aus Versehen (z.B. durch Schreibfehler) ein Programm aus dem aktuellen Verzeichnis ausführt, denn das kann muss ja (in einer Mehrbenutzerumgebung) nicht unbedingt vertrauenswürdig sein. In PATH führt man dann eben nur vertrauenswürdige Verzeichnisse auf. Ich finde das auch für normale User sinnvoll. Und wenn man sich angewöhnt, Programme im aktuellen Verzeichnis immer mit ./ davor aufzurufen wundert man sich auch nicht mehr, warum das "test" genannte Testprogramm sich nicht so verhält, wie es sollte ;-) Die mount-Option noexec dient dazu, alle Benutzer am (direkten) Ausführen von Programmen in einem bestimmten Dateisystem zu hindern, z.B. weil der Datenträger (etwa eine Diskette) nicht als vertrauenswürdige Quelle angesehen wird. Allerdings muss man sich bewusst sein, dass dieser Schutz nicht gegen Vorsatz seitens des Benutzers hilft. Man kann Programme z.B. vor dem Ausführen auf ein anderes Dateisystem kopieren, Skripte (Shell, Perl, ...) kann man durch Aufruf des jeweiligen Interpreters mit der Skriptdatei als Argument ausführen und Executables kann man auch mit /lib/ld-linux.so.2 pfad-des-programms zur Ausführung bringen -- auch, wenn die Programmdatei nur als lesbar und nicht als ausführbar markiert ist. Eilert -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Eilert Brinkmann -- Universitaet Bremen -- FB 3, Informatik eilert@informatik.uni-bremen.de - eilert@tzi.org http://www.informatik.uni-bremen.de/~eilert/