ubuntuusers.de

Passwörter ändern ohne Shell

Status: Gelöst | Ubuntu-Version: Server 16.10 (Yakkety Yak)
Antworten |

egeus

Anmeldungsdatum:
26. Dezember 2011

Beiträge: 29

Hallo, ich suche eine Anregung für ein User-Passwort-Ändern-Problem: Auf einem Server sind einige lokale Benutzer, welche sich nicht per Shell einloggen dürfen (bzw. vordergründig können 😕 ). Die Nutzer werden als Datenbank für ein paar verschiedene Authentifizierungen verschiedener Dienste genutzt. Nun möchten sie natürlich irgendwann mal ihr Passwort ändern. Hat jemand eine Idee, wie das ermöglicht werden könnte?

Ich kann das Ganze leider nicht auf Ldap umstellen, was für mich das einfachste wäre. Am liebsten wäre mir eine Art Webinterface - allerdings fällt mir da nichts ein, ohne das System so offen wie ein Scheunentor zu machen (z.B. PHP-Skript). Aber vielleicht gibt es ja etwas nettes, was ich bisher nicht kenne ☺

Eine Option per Einloggen in die Shell ist leider relativ umständlich (idr. Windows User, also erst Putty installieren, Serverip eingeben, verbinden, passwd...). Deshalb wäre das nur eine absolute Notlösung...

Vielen Dank für eure Vorschläge!

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5584

Hast du eine bestehende Moeglichkeit die User zu identifizieren? Und welches Interface stellst du dir vor?

Du kannst natuerlich jederzeit ein PHP/Python/Ruby/Perl etc Skript schreiben, das die Authentifizierung und das Aendern des passworts ueber zB passwd (gibts da noch was anderes? chpasswd ist hier nicht sinnvoll) macht. In der sudoers erlaubst du dann gezielt dem Skript nur den Aufruf mit den usern als Parameter. Aber wie du selbst weisst, ist das System nur so gut, wie das Skript.

egeus

(Themenstarter)

Anmeldungsdatum:
26. Dezember 2011

Beiträge: 29

Was meinst du mit User identifizieren? Momentan läuft das einfach z.B. über pwauth ab, je nach Anwendung.

Ein solches Skript zu schreiben traue ich mir inhaltlich prinzipiell zu, jedoch habe ich Respekt davor dicke Sicherheitslücken rein zu schreiben.

Problem ist nach meiner Ansicht, dass ein solches Skript dann mit Sudo-Rechten ausgeführt werden muss 😮

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5584

egeus schrieb:

Problem ist nach meiner Ansicht, dass ein solches Skript dann mit Sudo-Rechten ausgeführt werden muss 😮

Nein, wozu? Das Skript muss "nur" mittels sudo einen Befehl ausfuehren duerfen. Siehe sudo/Konfiguration

egeus

(Themenstarter)

Anmeldungsdatum:
26. Dezember 2011

Beiträge: 29

Habe mich falsch ausgedrückt, genau das meinte ich. Es muss Sudo-Befehle ausführen dürfen.

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5584

egeus schrieb:

Es muss Sudo-Befehle ausführen dürfen.

Aber nur genau einen. Und diesen einen auch nur mit einer klar definierter Menge an ersten Parametern. Das grenzt die Moeglichkeiten schon sehr stark ein. Und eine Uebernahme des Servers oder aehnliches geht dann nicht mehr. Wenn ein Angreifer das Skript austrickst, koennen "nur" PWs geaendert werden, mehr nicht.

Und lass dir bei jeder Aenderung der /etc/shadow eine Email zusenden.

egeus

(Themenstarter)

Anmeldungsdatum:
26. Dezember 2011

Beiträge: 29

sebix schrieb:

Wenn ein Angreifer das Skript austrickst, koennen "nur" PWs geaendert werden, mehr nicht.

Aber das ist ja schlimm genug, da hiermit einer kompletten Übernahme der Kiste nur noch wenig im Weg steht. Okay, ich kann die PW-Änderung von root-Accounts abfangen, aber dann kann dennoch auf sämmtliche Daten und Dienste zugegriffen werden.

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5584

Du kannst (einen Teil) der Parameter auch fest definieren.

www-data ALL = NOPASSWD: /usr/bin/passwd username

Wenn du die User nicht uebers Web identifizieren kannst (du Kannst diese Aufgabe auch an den Webserver delegieren, Stichwort .htaccess), denn eben nicht uebers Web.

Via SMTP ginge das genauso: User sende Email mit dem neuen Passwort an eine spezielle Emailadresse, ein Skript verarbeitet das dann. Der Mailserver ist so konfiguriert, dass das nur von lokale Usern aus geht (no na) und diese den Absender nicht faelschen koennen.

Mokkujin

Anmeldungsdatum:
2. Mai 2008

Beiträge: 389

Wohnort: Hannover

Nur eine Idee am Rande. Ich hab mal was von Usermin http://www.webmin.com/usermin.html gehört vielleicht wäre das etwas für dich.

egeus

(Themenstarter)

Anmeldungsdatum:
26. Dezember 2011

Beiträge: 29

Sieht wirklich danach aus, was ich suche. Aber ist schon ein wenig overpowerd, mit dem ganzen Admin-gedöns. Ich werde es mal auf einer Testmaschine ausprobieren.

egeus

(Themenstarter)

Anmeldungsdatum:
26. Dezember 2011

Beiträge: 29

Es ist wohl möglich einzelne Module zu Aktivieren/Deaktivieren, wodurch das Ganze für den User relativ schlank sein sollte.

Installation klappt soweit leider kann ich mit noch nicht einloggen. In den Logfiles steht nichts drinnen - ich werds versuchen herauszufinden.

Den Thread markiere ich nun mal als gelöst, da die eigentliche Frage beantwortet wurde. Vielen Dank hierfür!

Antworten |