Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?]
-
- Posts: 302
- Joined: 2006-01-23 19:14
- Location: 41063
Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?]
Namd,
ich stehe gerade vor einem Problem.. ich habe einige FTP-User, denen ich gerne eine Möglichkeit zur Verfügung stellen würde, ihr Passwort zu ändern.
Mir fiele da die Möglichkeit einer Weboberfläche in Perl mit Authen::PAM ein, beispielsweise - oder vollständige Umstellung des Systems auf PAM per LDAP. Halbe Sachen mag ich nicht, wie beispielsweise ProFTPd mit mySQL. Ich möchte den Usern auch evtl. noch die Möglichkeit geben (können), sich per ssh einzuloggen wenn Bedarf besteht. Allerdings - einige User kommen nicht einmal mit ftp richtig zurecht, eine Lösung wie die Shell auf /usr/bin/passwd setzen fällt also raus.
Momentan hab ich keine Ahnung, wie ich das lösen soll. Es soll ja nicht nur rudimentär laufen, sondern sicher.
Ich will auf jeden Fall bei PAM bleiben, denn das läuft eigentlich immer, bei Shell/SSH, vsFTPd, Exim, Courier etc.
Wie würdet Ihr das machen?
EDIT
Hm, nachdem einige Missverständnisse aufgetaucht sind: Ich suche im Grunde eine Möglichkeit, eine Weboberfläche zu programmieren, um Usern die Möglichkeit zu geben, ihr Passwort zu ändern. Die Authentifizierung läuft dabei komplett über PAM.
Frage: Daemon basteln, der Anfragen (u.a. aus php/perl-Scripts) entgegennimmt und zu fuß, per Authen::PAM oder so in die /etc/passwd / shadow einpflegt, oder System auf pam_ldap umstellen, was das ganze theoretisch vereinfacht, weil perl, php etc. nativ LDAP können?
ich stehe gerade vor einem Problem.. ich habe einige FTP-User, denen ich gerne eine Möglichkeit zur Verfügung stellen würde, ihr Passwort zu ändern.
Mir fiele da die Möglichkeit einer Weboberfläche in Perl mit Authen::PAM ein, beispielsweise - oder vollständige Umstellung des Systems auf PAM per LDAP. Halbe Sachen mag ich nicht, wie beispielsweise ProFTPd mit mySQL. Ich möchte den Usern auch evtl. noch die Möglichkeit geben (können), sich per ssh einzuloggen wenn Bedarf besteht. Allerdings - einige User kommen nicht einmal mit ftp richtig zurecht, eine Lösung wie die Shell auf /usr/bin/passwd setzen fällt also raus.
Momentan hab ich keine Ahnung, wie ich das lösen soll. Es soll ja nicht nur rudimentär laufen, sondern sicher.
Ich will auf jeden Fall bei PAM bleiben, denn das läuft eigentlich immer, bei Shell/SSH, vsFTPd, Exim, Courier etc.
Wie würdet Ihr das machen?
EDIT
Hm, nachdem einige Missverständnisse aufgetaucht sind: Ich suche im Grunde eine Möglichkeit, eine Weboberfläche zu programmieren, um Usern die Möglichkeit zu geben, ihr Passwort zu ändern. Die Authentifizierung läuft dabei komplett über PAM.
Frage: Daemon basteln, der Anfragen (u.a. aus php/perl-Scripts) entgegennimmt und zu fuß, per Authen::PAM oder so in die /etc/passwd / shadow einpflegt, oder System auf pam_ldap umstellen, was das ganze theoretisch vereinfacht, weil perl, php etc. nativ LDAP können?
Last edited by elch_mg on 2006-06-19 22:21, edited 2 times in total.
-
- Posts: 16
- Joined: 2006-04-19 09:51
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
ich verwende hierfür Usermin, ein Modul von Webmin.
Da kannst du dann einzelne Module freischalten, die deinen Usern zu verfügung stehen sollen, z.B. Passwort ändern, Emails online lesen/versenden, SPAM-Filter konfigurieren, usw.
Da kannst du dann einzelne Module freischalten, die deinen Usern zu verfügung stehen sollen, z.B. Passwort ändern, Emails online lesen/versenden, SPAM-Filter konfigurieren, usw.
-
- Userprojekt
- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
Wenn's "nur" um die Passwortänderung ginge, könntest du auch als Shell sehr simpel "/usr/bin/passwd" setzen (Eintrag in der /etc/shells nicht vergessen). Wer sich dann per SSH-Client anmeldet, kann haklt nur das PW ändern.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
-
- Posts: 302
- Joined: 2006-01-23 19:14
- Location: 41063
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
die Lösung mit der Shell auf /usr/bin/passwd fällt wie gesagt raus, das kann ich einigen Usern nicht zumuten.
Usermin... ich weiß nicht, lieber nicht, man hört da so einiges ;)
Ja, momentan ist es nur eine Passwortänderung. Ich fände es allerdings praktisch wenn sich in dieser Weboberfläche nachher auch noch andere Sachen einbauen ließen.
Programmieren kann ich die Geschichte selber, ich stelle mir halt nur gerade die Frage wie sich die Passwortänderung anstellen lässt...?
Usermin... ich weiß nicht, lieber nicht, man hört da so einiges ;)
Ja, momentan ist es nur eine Passwortänderung. Ich fände es allerdings praktisch wenn sich in dieser Weboberfläche nachher auch noch andere Sachen einbauen ließen.
Programmieren kann ich die Geschichte selber, ich stelle mir halt nur gerade die Frage wie sich die Passwortänderung anstellen lässt...?
-
- Posts: 660
- Joined: 2002-10-19 14:01
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
proftpd + mysql dann ein phpscript schreiben womit sich dann für den user das PW ändern lässt und dafür braucht es nichtmal ne shell.
und auch shellzugriff kann dann dort über das mysql geregelt werden - dafür bietet proftpd diese funktion an.
und auch shellzugriff kann dann dort über das mysql geregelt werden - dafür bietet proftpd diese funktion an.
-
- Posts: 302
- Joined: 2006-01-23 19:14
- Location: 41063
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
irgendwie liest sich niemand das richtig durch, was ich oben geschrieben hab. Ich habe gesagt, ich möchte kein ProFTPd mit mysql, sondern bei vsftpd bleiben + PAM bleiben. Weil PAM ganz einfach immer tut und weniger Probleme verursacht.
Und zur Weboberfläche: Nochmal, ich kann zum Beispiel mir ein Perl-Script basteln, was mit Authen::PAM das Passwort ändert (gibt sogar ein Beispiel in der FAQ, was nicht-interaktiv funktioniert), die Lösung ist aber nicht sonderlich sauber, das Script benötigt möglicherweise root-Rechte etc.pp.. Oder ich biege PAM auf einen LDAP um - und LDAP-Einträge von Perl, PHP, sonstwo aus ändern ist ja nun wirklich kein Problem.
Momentan würde ich LDAP bevorzugen, allerdings hab ich bisher mehr oder weniger keine Dokumentation zu PAM + LDAP gefunden. Wahrscheinlich war ich bisher nur zu blöd zum Suchen.
Ich stelle mir jetzt die Frage, welche von diesen Lösungen Ihr bevorzugen würdet, welche unsicher(er) ist, und evtl. was es noch für Möglichkeiten gäbe.
Ziel ist, eine Weboberfläche zu schaffen über die sich (vorerst nur) das Passwort ändern lässt, die User sollen möglicherweise auch noch später eine Shell bekommen können, ich will, wenn ich gerade dabei bin auch noch die Möglichkeit haben, Exim4, Courier-POP/IMAP, Apache, und hast du nicht gesehn anzubinden - eben alles was PAM oder LDAP kann. Ich würde das Script am liebsten jeweils unter der UID des Benutzers laufen lassen, der sein Passwort gerade ändern will, dafür hab ich bereits Apache mit suEXEC eingerichtet.
Und zur Weboberfläche: Nochmal, ich kann zum Beispiel mir ein Perl-Script basteln, was mit Authen::PAM das Passwort ändert (gibt sogar ein Beispiel in der FAQ, was nicht-interaktiv funktioniert), die Lösung ist aber nicht sonderlich sauber, das Script benötigt möglicherweise root-Rechte etc.pp.. Oder ich biege PAM auf einen LDAP um - und LDAP-Einträge von Perl, PHP, sonstwo aus ändern ist ja nun wirklich kein Problem.
Momentan würde ich LDAP bevorzugen, allerdings hab ich bisher mehr oder weniger keine Dokumentation zu PAM + LDAP gefunden. Wahrscheinlich war ich bisher nur zu blöd zum Suchen.
Ich stelle mir jetzt die Frage, welche von diesen Lösungen Ihr bevorzugen würdet, welche unsicher(er) ist, und evtl. was es noch für Möglichkeiten gäbe.
Ziel ist, eine Weboberfläche zu schaffen über die sich (vorerst nur) das Passwort ändern lässt, die User sollen möglicherweise auch noch später eine Shell bekommen können, ich will, wenn ich gerade dabei bin auch noch die Möglichkeit haben, Exim4, Courier-POP/IMAP, Apache, und hast du nicht gesehn anzubinden - eben alles was PAM oder LDAP kann. Ich würde das Script am liebsten jeweils unter der UID des Benutzers laufen lassen, der sein Passwort gerade ändern will, dafür hab ich bereits Apache mit suEXEC eingerichtet.
-
- Posts: 2223
- Joined: 2002-07-28 13:02
- Location: Berlin
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
Confixx-like: Änderungen in eine Textdatei (oder Datenbank) schreiben und dann ins System (flatfiles) übernehmen - das habe ich derzeit vor.
flo.
flo.
-
- Posts: 302
- Joined: 2006-01-23 19:14
- Location: 41063
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
Also per Cronjob? Das hört sich ungefähr so nach der Lösung mit der Endlosschleife an, die auf irgendwas wartet - also Ressourcenverschwendung *kopfkratz*
Vielleicht lässt sich da was mit Interprozesskommunikation basteln. Mal sehn...
Vielleicht lässt sich da was mit Interprozesskommunikation basteln. Mal sehn...
-
- Posts: 660
- Joined: 2002-10-19 14:01
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
Ich hatte zuerst auch vsftpd und wollte davon nicht weg, aber proftpd bietet mehr als vsftpd und ist leistungsstarker, daher bin ich auch zu proftpd gezwungerer massen gewechselt.elch_mg wrote:irgendwie liest sich niemand das richtig durch, was ich oben geschrieben hab. Ich habe gesagt, ich möchte kein ProFTPd mit mysql, sondern bei vsftpd bleiben + PAM bleiben.
[...]
-
- Posts: 16
- Joined: 2006-04-19 09:51
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
Ja? Hab da nix negatives außer der Sicherheitslücke von Ende 2005 gefunden. Was hast du denn konkret gehört?elch_mg wrote:Usermin... ich weiß nicht, lieber nicht, man hört da so einiges ;)
-
- Posts: 302
- Joined: 2006-01-23 19:14
- Location: 41063
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
ich hatte proftpd und bin dann zu vsftpd gewechselt, weil vsftpd schön klein und sicher ist. Die ganzen Features von proftpd brauch ich garnicht.blnsnoopy26 wrote:Ich hatte zuerst auch vsftpd und wollte davon nicht weg, aber proftpd bietet mehr als vsftpd und ist leistungsstarker, daher bin ich auch zu proftpd gezwungerer massen gewechselt.
Alles, was auf Webmin basiert, mag ich nicht. Rein persönliche Abneigung, ich bin gerade zu faul (und zu beschäftigt) um Gegenargumente rauszukramen *g*debianneuling wrote:Ja? Hab da nix negatives außer der Sicherheitslücke von Ende 2005 gefunden. Was hast du denn konkret gehört?
-
- Project Manager
- Posts: 11164
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
Ebenfalls klein und ausreichend sicher, mit vielen nützlichen Features: pure-ftpd
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
-
- Posts: 660
- Joined: 2002-10-19 14:01
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
Jede software/Programm hat seine Vor -und Nachteile.
Ich Persönlich bin auch zu ProFTPD gewechselt, weil das s*** quota unterm reiserFS Dateisystem nicht funzt, aber ich dennoch das anbieten möchte, musste ich mich entscheiden,... entweder so lassen wie es ist oder eine Alternative - und die hieß dan halt ProFTPD, weil es eine eingebaute Quota unterstützung hat in verbindung mit mysql :)
War jetzt ein wenig zu sehr offtopic, aber ich dachte es passte hier jetzt ganz gut rein
Nix für ungut - jeder soll das einsetzen was ihm beliebt - dies war halt nur mein Gedankengang :)
Ich Persönlich bin auch zu ProFTPD gewechselt, weil das s*** quota unterm reiserFS Dateisystem nicht funzt, aber ich dennoch das anbieten möchte, musste ich mich entscheiden,... entweder so lassen wie es ist oder eine Alternative - und die hieß dan halt ProFTPD, weil es eine eingebaute Quota unterstützung hat in verbindung mit mysql :)
War jetzt ein wenig zu sehr offtopic, aber ich dachte es passte hier jetzt ganz gut rein
Nix für ungut - jeder soll das einsetzen was ihm beliebt - dies war halt nur mein Gedankengang :)
-
- Posts: 302
- Joined: 2006-01-23 19:14
- Location: 41063
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
Idee: statt jeweils per Cron ein Script aufzurufen, was die Änderungen übernimmt, könnte man doch bestimmt auch ein Signal senden. Kann IIRC auch PHP, per posix_kill.
Es wird eine Datei generiert, die den Hash des aktuellen Passworts und den neuen Hash enthält, woraufhin - durch das Signal angestoßen - das "Änderungs"-Script den Besitzer der Datei überprüft und dessen Passwort ändert. Die Dateizugehörigkeit wird ja durch suEXEC gesichert.
Es wird eine Datei generiert, die den Hash des aktuellen Passworts und den neuen Hash enthält, woraufhin - durch das Signal angestoßen - das "Änderungs"-Script den Besitzer der Datei überprüft und dessen Passwort ändert. Die Dateizugehörigkeit wird ja durch suEXEC gesichert.
-
- Posts: 923
- Joined: 2003-08-20 11:30
- Location: Pittsburgh, PA, USA
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
Du kannst es auch durch einen an localhost gebundenen Service machen den du z.B. ueber den Xinetd startest.
-
- Posts: 302
- Joined: 2006-01-23 19:14
- Location: 41063
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
die Idee ist mir auch schon gekommen. da müsste ich dann eine Art Authentifizierung reinpacken, denn der Serverprozess kann ja nicht so ohne weiteres rausfinden, unter welcher UID der Client läuft oder?
Hm, wird aber wahrscheinlich am einfachsten zu realisieren sein, auch wenn ich noch nie mit Sockets unter Perl gespielt habe, und beispielsweise nicht weiß, wie ich parallele Zugriffe behandeln kann. Aber es gibt ja Dokumentationen, Nächte, und Koffeinhaltige Lebensmittel ;)
Hm, wird aber wahrscheinlich am einfachsten zu realisieren sein, auch wenn ich noch nie mit Sockets unter Perl gespielt habe, und beispielsweise nicht weiß, wie ich parallele Zugriffe behandeln kann. Aber es gibt ja Dokumentationen, Nächte, und Koffeinhaltige Lebensmittel ;)
-
- Project Manager
- Posts: 11164
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
Warum wollt Ihr eigentlich das Rad erneut erfinden? pure-ftpd bietet "das Rad" OOTB und ist sicherheitstechnisch mit vsftpd gleichzusetzen...
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
-
- Posts: 302
- Joined: 2006-01-23 19:14
- Location: 41063
-
- Project Manager
- Posts: 11164
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
Vom ursprünglichem Thema dieses Threads...
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
-
- Posts: 302
- Joined: 2006-01-23 19:14
- Location: 41063
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
pure-ftpd bietet mir also eine sichere Weboberfläche, über die ich Passwörter für Systemuser ändern kann, so dass verschiedenste Programme per PAM eine Authentifizierung anhand dieser Passwörter vornehmen können? *guckt dumm*
-
- Project Manager
- Posts: 11164
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
Ich beziehe mich auf das Subject und Deinen ersten Satz:
Da pure-ftpd eine eigene (optionale) Benutzerverwaltung mitbringt, lässt sich dafür schnell ein Frontend schreiben, oder ein fertiges wie etwa http://machiel.generaal.net/index.php?s ... r_pureftpd anpassen. Naja, ist auch egal, Du wolltest den FTPd ja nicht wechseln...elch_mg wrote:ich stehe gerade vor einem Problem.. ich habe einige FTP-User, denen ich gerne eine Möglichkeit zur Verfügung stellen würde, ihr Passwort zu ändern.
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
-
- Posts: 302
- Joined: 2006-01-23 19:14
- Location: 41063
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
ich übe noch daran, mich in jedem Satz exakt auszudrücken, so dass keine Missverständnisse entstehen können ;)
-
- Posts: 2223
- Joined: 2002-07-28 13:02
- Location: Berlin
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
Wenn Du schon sagst, daß Du Dir LDAP überlegst - warum nicht?
flo.
flo.
-
- Posts: 302
- Joined: 2006-01-23 19:14
- Location: 41063
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
gute frage... was mache ich, wenn der LDAP abraucht?
Es ist doch möglich, pam_ldap und pam_pwb (?) parallel laufen zu lassen.. oder? So dass ich zumindest root und einen benutzer wie gehabt über passwd/shadow laufen lassen kann.
Das eigentliche Problem (??) ist aber, dass ich noch nie was mit LDAP gemacht habe. Lernen kann mans ja..
Es ist doch möglich, pam_ldap und pam_pwb (?) parallel laufen zu lassen.. oder? So dass ich zumindest root und einen benutzer wie gehabt über passwd/shadow laufen lassen kann.
Das eigentliche Problem (??) ist aber, dass ich noch nie was mit LDAP gemacht habe. Lernen kann mans ja..
-
- Posts: 2223
- Joined: 2002-07-28 13:02
- Location: Berlin
Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?
per PAM ist das doch kein Thema - außer den UNIX-Accounts gibt es dann eben noch pam_ldap, pam_winbindd, pam_mysql oder wie auch immer.
flo.
flo.