PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Script um mehrere Benutzer mit "htpasswd -d" anzulegen?



Roki
18-12-2008, 18:03
Hallo Liebe Entwickler,

ich habe Suchfunktion hier im Forum benutzt und konnte leider kein (oder ähnlichen) Script Funktion finden, was mir das Tastatur-Eintippen erleichtern kann :( .... Ich bin kein Entwickler und hoffe das Ihr mir bei diesem Problem/(oder)meine Unwissenheit helfen könnt.

Es geht um Internet-Benutzer die sich Authentifizieren müssen wenn Sie auf WWW zugreifen wollen. Dafür muss ein WebProxy her und ich habe mich für IPCop+Advance Proxy entschieden.... aber man muss die Benutzer einzeln einlegen :(

es geht entweder per Webinterface (advproxy GUI) oder aber in der Konsole mit diesem Befehl:

htpasswd -b /var/ipcop/proxy/advanced/ncsa/passwd BENUTZERNAME PASSWORT

das Problem aber, ich muss ca. 786 User anlegen :confused:

Ich habe eine .txt datei wo 786 Users so eingetragen sind.
benutzername1_passwort1
benutzername2_passwort2
benutzername3_passwort3
benutzername4_passwort4
...
...

kann man das irgend wie Automatisieren? :o

Bitte um Hilfe.... es geht sicher mit ein Perl Script...?
Danke im voraus für Antwort.

MfG

jeebee
18-12-2008, 23:38
cat data:
benutzer1_pass1
benutzer2_pass2
benutzer3_pass3

Dies sollte gehen, falls weder benutzer noch passworte das Zeichen _ enthalten:
sed -r 's#(.+)_(.+)#htpasswd -b /var/ipcop/proxy/advanced/ncsa/passwd \1 \2#' data | sh

undefined
19-12-2008, 09:13
Siehe meine Signatur khtpasswd und die Apache Dokumentation zu htgroup.
Du willst wohl kaum für jeden Benutzer ein extra Passwort anlegen ;)

Roki
19-12-2008, 19:13
Hallo jeebee,

ich dachte dafür müsste man so eine langes Script schreiben...

da wo "data" steht kommt dann zb. "account.txt" (und ohne "_" aber mit leer Zeichen getrennt?) richtig?

sed -r 's#(.+)_(.+)#htpasswd -b /var/ipcop/proxy/advanced/ncsa/passwd \1 \2#' account.txt | sh

ich kann das erst Morgen ausprobieren.... werde mich dann melden...Danke! :)

Hallo undefined,

Siehe meine Signatur khtpasswd und die Apache Dokumentation zu htgroup.

werde ich testen und Doku lesen....Danke! :)


Du willst wohl kaum für jeden Benutzer ein extra Passwort anlegen.

verstehe ich dich richtig, khtpasswd erstellt dann für jeden User automatisch Passwörter? kann dann kthpasswd auch eine liste davon erstellen?

MfG

jeebee
19-12-2008, 21:55
da wo "data" steht kommt dann zb. "account.txt" (und ohne "_" aber mit leer Zeichen getrennt?) richtig?
Dann musst du das noch wie folgt anpassen:

sed -r 's#(.+) (.+)#htpasswd -b /var/ipcop/proxy/advanced/ncsa/passwd \1 \2#' account.txt | sh

edit: Zur Funktionsweise: Ich schreibe mit dieser Zeile sozusagen on-the-fly ein Script welches für jeden Eintrag in der account.txt den Befehl
htpasswd -b /var/ipcop/proxy/advanced/ncsa/passwd username userpass enthält. Dann reiche ich das soeben erzeugte Script an eine Shell weiter, welche das ganze dann ausführt.

Roki
20-12-2008, 17:33
Hallo jeebee,

es funktioniert!
Vielen Dank... frohes fest... und wunderschönes neues Jahr!

MfG