Aufruf von Linux-Kosolenbefehl mit Passworteingabe

Für Fragen von Einsteigern und Programmieranfängern...
frisil
Beiträge: 11
Registriert: Mi 19. Mai 2010, 18:58

Re: Aufruf von Linux-Kosolenbefehl mit Passworteingabe

Beitrag von frisil »

Hitman hat geschrieben:Na du brauchst deine neue Erkenntnis doch nur mit deinem alten Code kombinieren: starte encfs mit dem Parameter -S und schreib das Passwort dann in stdin (also wie schon in deinem Code, einzige Änderung halt der Parameter).
Tja, das hab ich doch schon versucht, das klappt aber leider nicht - das Filesystem wird nicht gemountet, und ich hab keine Ahnung, warum...

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: Aufruf von Linux-Kosolenbefehl mit Passworteingabe

Beitrag von Teekeks »

frisil hat geschrieben:Danke Teekeks,
aber ist das nicht fast das, was ich in meinem Programm (siehe oben) schon mache, nur noch durch ein paar Sicherheitsabfragen erweitert, ob der Prozess überhaupt noch läuft?
Was ich nicht verstehe: Warum ap.Input.Write(cmd[1],... ? Sendet das nicht statt des Strings nur das erste Zeichen, oder hab ich da was falsch in Erinnerung? Wie gesagt, ist 'nen paar Jahre her, seit ich das letzte mal ernsthaft programmiert habe.
Nein, es ist nicht ganz das. Dieses #10 ist sehr wichtig, daran erkennt der das der Befehl abgeschlossen ist (also das sozusagen Enter gedrückt wurde)

das nur das erste Zeichen übergeben wird hat den Grund das der einen Zeiger auf das erste Zeichen deines Strings erwartet. Nur deshalb brauch man ja die Länge des Strings mitgeben.

frisil
Beiträge: 11
Registriert: Mi 19. Mai 2010, 18:58

Re: Aufruf von Linux-Kosolenbefehl mit Passworteingabe

Beitrag von frisil »

Teekeks hat geschrieben: das nur das erste Zeichen übergeben wird hat den Grund das der einen Zeiger auf das erste Zeichen deines Strings erwartet.
Yes!!!! Das war der Fehler, das wusste ich nicht, ich hab immer den ganzen String übergeben wollen, deshalb kam wohl nichts an. Somit ist mein Problem jetzt gelöst, vielen Dank euch allen für die freundliche Hilfe!

Eine Frage bleibt noch: Wie ist das mit der Sicherheit? Landet das Passwort irgendwo auf der Platte (vielleicht in irgendwelchen (Lazarus-)Logdateien) wenn ich es im Programm eingebe, oder ist es so sicher wie der encfs-Promt auf der Konsole?

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: Aufruf von Linux-Kosolenbefehl mit Passworteingabe

Beitrag von Teekeks »

Das sollte genauso sicher sein. Allerdings kann man natürlich IMMER irgendwie das abfangen was zwischen 2 Programmen hin und her geschickt wird.
Aber wie gesagt, das kannst du eigentlich ignorieren...

Antworten