systempasswort nutzen?
Dominique Stender
- perl
Hi miteinander!
Ich habe ein Perlscript geschrieben, mit dem man News auf eine Seite schreiben kann. Dazu wählt man eine HTML Seite an, trägt in der FORM Name, die News und ein Passwort ein.
Die Daten werden dann an das Script geleitet und da verarbeitet.
Im Moment werden die Zugangspasswörter direkt im Script in einer Konstanten gespeichert, sind also Klartext lesbar.
Alle Leute, die das Script benutzen sollen/dürfen sind User auf dem Server, haben also ein Zugangspasswort. Gibt es jetzt eine Möglichkeit, evtl. dieses Passwort anzusprechen, damit die Daten aus dem Script verschwinden? Oder gibt es andere Möglichkeiten?
Danke!
Du könntest die Passwörter in einer Datei speichern, und die Zugriffsrechte mit 'chmod' so einrichten, dass nur du Zugriff auf die File hast.
Im Script öffnest du die Datei, lädst den Inhalt in einen String, teilst den in ein Hash auf, und überprüfst dann das zum Namen gehörige Passwort.
Näheres zu Hashs findest du unter <../../tgcb.htm#a3>.
MfG Florian Auer
Du könntest die Passwörter in einer Datei speichern, und die Zugriffsrechte mit 'chmod' so einrichten, dass nur du Zugriff auf die File hast.
Hmmm, wenn nur ich Rechte auf die Datei habe wird das Script sie auch nicht öffnen können, oder?
Tnx,
Dominique
Hmmm, wenn nur ich Rechte auf die Datei habe wird das Script sie auch nicht öffnen können, oder?
Nur wenn du dem Script die Erlaubnis dazu gibst. Der Befehl müsste glaube ich 'chmod 700' und 'chew' heißen oder so ähnlich.
MfG Florian Auer
Du könntest die Passwörter in einer Datei speichern, und die Zugriffsrechte mit 'chmod' so einrichten, dass nur du Zugriff auf die File hast.
Im Script öffnest du die Datei, lädst den Inhalt in einen String, teilst den in ein Hash auf, und überprüfst dann das zum Namen gehörige Passwort.
Näheres zu Hashs findest du unter <../../tgcb.htm#a3>.MfG Florian Auer
Hallo!
Ich glaube, dass es nicht sehr sicher ist die Passwörter unverschlüsselt in einer Datei
zu speichern. Ist vielleicht einfacher, aber auch unsicherer.
Passwörter in einer Datei zu speichern ist aber bei einigen Perl-Skripts die im -Netz frei erhältlich sind eine gern benutzte Methode, aber wie geschreiben etwas unsicher.
Mfg Alex
hi!
Alle Leute, die das Script benutzen sollen/dürfen sind User auf dem Server, haben also ein
Zugangspasswort. Gibt es jetzt eine Möglichkeit, evtl. dieses Passwort anzusprechen, damit
die Daten aus dem Script verschwinden? Oder gibt es andere Möglichkeiten?
Die Perl-Funktion crypt verschlüsselt ein Passwort so, wie es unter Linux üblich ist. Du kannst also das eingegebene Passwort mit crypt verschlüsseln und dann mit dem im System gespeichterten vergleichen, Linux/Unix vorausgesetzt.
bye, Frank!
Alle Leute, die das Script benutzen sollen/dürfen sind User auf dem Server, haben also ein Zugangspasswort. Gibt es jetzt eine Möglichkeit, evtl. dieses Passwort anzusprechen, damit die Daten aus dem Script verschwinden? Oder gibt es andere Möglichkeiten?
Ich unterstütze die Idee mindestens eines Vorredners, die Passworte in verschlüsselter Form (crypt() ist eine gute Methode) in einer Datei auf dem Server abzulegen.
Falls das ein UNIX-Server ist, dann versuche doch mal, Dir den Inhalt der Datei /etc/passwd anzusehen. Je nach Art des UNIX-Systems stehen dort möglicherweise die verschlüsselten login-Passworte Deiner Benutzer drin.
Falls dies der Fall ist und falls Du dieselbe Verschlüsselung in Perl hinbekommst (das könnte evtl. crypt() sein, ich bin mir aber nicht sicher), dann brauchst Du in der Tat keine eigene Passwortdatei, sondern kannst die Passworte für den normalen Systemzugang mitbenutzen.
Es gibt allerdings UNIX-Systeme, bei denen in /etc/passwd nur ein Flag drin steht, ob die Benutzerkennung ein Passwort hat oder nicht. Dann steht das eigentliche Passwort in einer anderen, besser geschützten Datei. Diese wird der Administrator Dir wahrscheinlich nicht für einen normalen Dateizugriff geben wollen.
Mögliche Alternative: Es gibt Kommandos, um in eine andere Kennung zu wechseln (z. B. "su"). Über diese könntest Du die Korrektheit eines Systempassworts eventuell ohne Dateizugriff prüfen (ggf. Returncode abfragen).