Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?]

FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
elch_mg
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?]

Post by elch_mg » 2006-06-19 01:01

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?
Last edited by elch_mg on 2006-06-19 22:21, edited 2 times in total.

debianneuling
Posts: 16
Joined: 2006-04-19 09:51

Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?

Post by debianneuling » 2006-06-19 08:19

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.

captaincrunch
Userprojekt
Userprojekt
Posts: 7225
Joined: 2002-10-09 14:30
Location: Dorsten

Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?

Post by captaincrunch » 2006-06-19 08:37

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

elch_mg
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?

Post by elch_mg » 2006-06-19 10:21

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...?

blnsnoopy26
Posts: 660
Joined: 2002-10-19 14:01

Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?

Post by blnsnoopy26 » 2006-06-19 11:06

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.

elch_mg
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?

Post by elch_mg » 2006-06-19 11:28

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.

flo
RSAC
Posts: 2297
Joined: 2002-07-28 13:02
Location: Berlin

Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?

Post by flo » 2006-06-19 11:50

Confixx-like: Änderungen in eine Textdatei (oder Datenbank) schreiben und dann ins System (flatfiles) übernehmen - das habe ich derzeit vor.

flo.

elch_mg
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?

Post by elch_mg » 2006-06-19 11:55

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...

blnsnoopy26
Posts: 660
Joined: 2002-10-19 14:01

Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?

Post by blnsnoopy26 » 2006-06-19 12:16

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.
[...]
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.

debianneuling
Posts: 16
Joined: 2006-04-19 09:51

Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?

Post by debianneuling » 2006-06-19 12:35

elch_mg wrote:Usermin... ich weiß nicht, lieber nicht, man hört da so einiges ;)
Ja? Hab da nix negatives außer der Sicherheitslücke von Ende 2005 gefunden. Was hast du denn konkret gehört?

elch_mg
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?

Post by elch_mg » 2006-06-19 12:51

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.
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.
debianneuling wrote:Ja? Hab da nix negatives außer der Sicherheitslücke von Ende 2005 gefunden. Was hast du denn konkret gehört?
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*

User avatar
Joe User
Project Manager
Project Manager
Posts: 11583
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?

Post by Joe User » 2006-06-19 13:06

Ebenfalls klein und ausreichend sicher, mit vielen nützlichen Features: pure-ftpd
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings 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.

blnsnoopy26
Posts: 660
Joined: 2002-10-19 14:01

Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?

Post by blnsnoopy26 » 2006-06-19 13:23

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 :wink:

Nix für ungut - jeder soll das einsetzen was ihm beliebt - dies war halt nur mein Gedankengang :) :wink:

elch_mg
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?

Post by elch_mg » 2006-06-19 20:03

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.

duergner
RSAC
Posts: 976
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?

Post by duergner » 2006-06-19 21:02

Du kannst es auch durch einen an localhost gebundenen Service machen den du z.B. ueber den Xinetd startest.

elch_mg
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?

Post by elch_mg » 2006-06-19 21:06

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 ;)

User avatar
Joe User
Project Manager
Project Manager
Posts: 11583
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?

Post by Joe User » 2006-06-19 21:25

Warum wollt Ihr eigentlich das Rad erneut erfinden? pure-ftpd bietet "das Rad" OOTB und ist sicherheitstechnisch mit vsftpd gleichzusetzen...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings 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.

elch_mg
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?

Post by elch_mg » 2006-06-19 21:28

wovon genau redest du?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11583
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?

Post by Joe User » 2006-06-19 21:51

Vom ursprünglichem Thema dieses Threads...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings 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.

elch_mg
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?

Post by elch_mg » 2006-06-19 21:54

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*

User avatar
Joe User
Project Manager
Project Manager
Posts: 11583
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?

Post by Joe User » 2006-06-19 22:15

Ich beziehe mich auf das Subject und Deinen ersten Satz:
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.
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...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings 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.

elch_mg
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?

Post by elch_mg » 2006-06-19 22:17

ich übe noch daran, mich in jedem Satz exakt auszudrücken, so dass keine Missverständnisse entstehen können ;)

flo
RSAC
Posts: 2297
Joined: 2002-07-28 13:02
Location: Berlin

Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?

Post by flo » 2006-06-19 22:50

Wenn Du schon sagst, daß Du Dir LDAP überlegst - warum nicht?

flo.

elch_mg
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?

Post by elch_mg » 2006-06-19 22:55

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..

flo
RSAC
Posts: 2297
Joined: 2002-07-28 13:02
Location: Berlin

Re: Auth über PAM - Password per Weboberfläche ändern? [was: FTP-User ohne Shell - Passwortänderung?

Post by flo » 2006-06-19 23:09

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.