Hallo,
Heinz-Mario Frᅵhbeis <
Earl...@web.de> wrote:
> Am 20.03.2013 21:35, schrieb Rainer Weikusat:
>> [*] Aus Sicherheitsgruenden ist . (das aktuelle Verzeichnis)
>> ueblicherweise nicht im Pfad (PATH-Umgebungsvariable).
> Und hier hadere ich wieder, weil ich "aus Sicherheitsgrᅵnden" ᅵberhaupt
> nicht einordnen kann.
Stell dir vor, ein wenig liebenswerter Mitbenutzer deines Systems wuerde
(unter seinem eigenen Account) die Befehle:
echo 'rm -rf $HOME' > /tmp/ls-l
chmod a+rx /tmp/ls-l
eingeben. Wenn du dann mit "cd /tmp" in dieses Berzeichnis wechselst und
dir den Verzeichnisinhalt ansehen moechtest und dir dabei ein kleiner
Tippfehler unterlaeuft: du laesst bei "ls -l" versehentlich das Leerzeichen
web, was wuerde passieren, wenn du "." im PATH haettest und was wuerde
passieren, wenn das nicht der Fall waere? Proviere es *nicht* aus, wenn
du Wer auf deine Daten legst ...
Wenn vielleicht sogar "." vor den ueblichen Systemverzeichnissen /bin
und /usr/bin im PAZJ liegt, braucht es noch nicht einmal einen Tippfehler
deinerseits, wenn jener unliebsame Mitbenutzer sein boeses Script unter
demNamen "ls" statt "ls-l" in /tmp angelegt haette.
> Im Internet habe ich zwar mal was davon gelesen, aber auch da konnte ich
> mir nichts spezifisches drunter vorstellen.
> Soweit ich mir einen "Reim" machen kann:
> Mein Programm liegt z. Z. in "/home/Benutzer/Entwicklung/IDA", dann
> mᅵᅵte das doch reichen, oder?
Die unix-sgell sucht Programme ohne Pfadangabe *nur* in den Verzeichnissen,
die in $PATH aufgelistet sind. Steht das altuelle Verzeichnis *nicht* in
$PATH drin, kann man Programme aus dem aktuellen Verzeichnis nur aufrufen,
wenn man nicht nur ihren Namen sondern den Pfad zur Prohrammdatei angibt.
Da "." *immer* fuer das gerade aktuelle Verzeichnis steht, genuegt fuer
den Aufruf des Programms "IDA" aus dem gerade aktuellen Verzeichnis ein
simples "./IDA", waehrend "IDA" nicht genuegt solange "." nicht in
$PATH steht. Das ist ein grundsaetzlich anderes Verhalten als bei DOS
und Windows, wo voeᅵᅵig unabhaengig vom gesetzten Such-Pfad *immer*
*zuerst* im aktuellen Verzeichnis gesucht wird.
> Oder soll ich vllt das erstellte Programm in ein noch anderes
> Verzeichnis kopieren (z. Bsp. "/home/Benutzer/Entwicklung/IDA/Test"und
> von da aus ein Terminal starten und "valgrind ... ./IDA ..." starten?
???
Tschuess,
Juergen Ilse (
jue...@usenet-verwaltung.de)
--
Ein Domainname ist nur ein Name, nicht mehr und nicht weniger.
Wer mehr hineininterpretiert, hat das Domain-Name-System nicht
verstanden.