Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache2 htpasswd frage
schmidtl_dd
12.12.05, 10:23
Hi
Ich habe gewisse Bereiche meines Webservers durch diesen schützen lassen, mit einet htpasswd Datei.
Nun möchte ich den Nutzern aber keine neuen passwörter geben. Alle Nutzer, die den Webserver nutzen dürfen, stehen auch in der /etc/passwd, können sich damit zwar nicht lokal, aber via FTP einloggen.
Meine Frage nun: kann ich die htpasswd irgendwie aus der /etc/passwd erzeugen? Denn gleich die /etc/passwd nutzen scheitert, keiner bekommt zugang gewährt...
wenn die PWs mit dem gleichen Algorithmus gehashed werden sollte man die htpasswd aus der /etc/passwd generieren können (Vermutung, nicht verifiziert...)
schmidtl_dd
12.12.05, 11:20
woher weiß der dann was das PW ist? In der htpasswd steht nur username:hash(PW), in der /etc/passwd hingegen ja noch viel mehr....
... kann auch sein, dass es in der /etc/shadow drinsteht...
schmidtl_dd
12.12.05, 12:06
scheint auch ein anderes dateiformat zu sein
alternativ und sinnvoller wären allerdings div. mod_auth_*-Module
schmidtl_dd
12.12.05, 14:06
wieso? kenn mich noch nich so sehr damit aus... aber mod_auth muß doch eh installiertsein, um htaccess verwenden zu können, oder?
... aber es gibt ja auch mysql-basierte und andere...
Die Apache-Doku gibt da gute Hinweise...
schmidtl_dd
12.12.05, 14:26
naja, da schieße ich atm mit Kanonen auf Spatzen...für die 10 leute reicht die datei denk ich...hätte's halt bloß gern in einer..
Newbie2001
12.12.05, 14:50
also die passwörter in der /etc/shadow werden normalerweise md5 verschlüsselt. das versteht der apache auch (htpasswd bietet auch explizit md5 verschlüsselung an). Das Problem ist nur dass die /etc/shadow ein etwas anderes format hat als das apache htpasswd file. bei der /etc/shadow hast du zwar auch erst username, dann ein ":" und dann kommt das passwort, vor der verschlüsselten passwort steht bei mir jedoch noch ein "$1" dieses müsste man per shellscript rausschneiden ebenso wie alles was nach dem zweiten doppelpunkt kommt (username:$1md5-verschlüsseltes-passwort:....).
Wie gesagt theoretisch ließe sich die shadow per shellscript umformatieren und daraus ein htpasswd-file generieren, aber ich glaube nicht, dass das im sinne des erfinders wäre. wenn es sich wirklich nur um 10 user handelt, kannst du ja die usernames selbst in ein htpasswd file eintragen und die verschlüsselten passwörter direkt aus der /etc/shadow rauskopieren. Ansonsten wäre es vll. doch sinnvoller ein mysql authentifizierung sowohl für http als auch für ftp durchzuführen, dann musst du die user garnicht mehr in der der /etc/shadow drinstehen haben.
Hi!
Versuch es doch mal mit mod_auth_pam (http://pam.sourceforge.net/mod_auth_pam/).
Gruß
fuffy
Newbie2001
12.12.05, 15:07
das ist ne gute idee. vergiss was ich gesagt habe, das ist wahrscheinlich die einfachste und eleganteste lösung.
schmidtl_dd
13.12.05, 13:36
Hab mit mod_auth_pam installiert...scheint auch gut geklappt zu haben, keine Fehlermeldungen, und der Apache startete neu.
Aber jetzt komm ich trotz ausführlicher Lektüre diverser Literatur nicht weiter.
in meiner /etc/pam.d/apache2 steht:
@include common-auth
@include common-account
So weit, so gut. Also nun zum Test folgenden Eintrag in die config vom Apache geschrieben:
<Directory /var/www/family>
AuthPAM_Enabled on
AllowOverride None
AuthName "Family Secrets"
AuthType "basic"
require user schmidtl
</Directory>
Nur leider kann ich mich nicht auf dieser Seite einloggen :(
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.