als root direkt im verzeichnis ausführen ...
-
folgendes problem:
im verzeichnis /www/public liegt ein exe namens "main" ...
wennn ich als root das prog direkt im verzeichnis ausführe (konsole), gibts nur ein "command not found". gehe ich aber ein verzeichnis höher und starte das prog dann mit "public/main" läuft es.
woran liegt das ? ist das eine config-sache ( Suse 8.1) ?
-
Aus Sicherheitsgründen liegt normalerweise das aktuelle Verzeichnis (".") nicht im $PATH der bestimmt in welchen Verzeichnissen ausführbare Dateien liegen.
Das hat folgenden Grund:
Stell Dir vor ein böser Cracker namens Bill schreibt ein Programm das /dev/urandom nach /dev/dsp cattet und währenddessen Dein Homedirectory löscht. Er nennt dieses Programm "ls" und plaziert es in /tmp. Du hältst Dich gerade in /tmp auf und möchtest gerne den Verzeichnisinhalt erfahren und gibst "ls" ein - BUMM!Um das Programm von Bill auszuführen musst Du explizit "./ls" eingeben damit Deine Shell weiß dass Du wirklich das ls im aktuellen Verzeichnis meinst und nicht das aus /bin/ls oä.
Wenn Du dieses Verhalten nicht haben möchtest kannst Du es folgendermaßen umgehen:
export PATH="${PATH}:."
(Aber denk darüber nach ob Du das wirklich möchtest!)
-
hmm, danke ... da ist einiges klar geworden. das es eine gewollte bremse ist, habe ich nicht vermutet. vielmehr dachte ich, da ich in letzter zeit viel an meinem system geschraubt habe, das ich da irgendwas zerschossen habe.
thx ...