password im skript ändern

Post Reply
Message
Author
rossi

password im skript ändern

#1 Post by rossi »

Hallo,

ich versuche gerade ein Skript zu schreiben, das mir das passwort ändert. Das Problem ist, das passwd kein Passwort als Argument akzeptiert. Da gleichzeitig auch smbpasswd geändert werden soll und die Benutzer aber nicht viermal ihr Passwort eingeben sollen, ist die Abfrage getrennt und die Passwörter in Variablen gespeichert, die ich gerne passwd und smbpasswd übergeben würde.

"unix password sync" in samba ist keine Option, da kein absoluter Pfad zum passwd Programm angegeben werden kann (restricted shell).

Jochen

Re: password im skript ändern

#2 Post by Jochen »

Dann müsstest Du den Usern das passwd-Kommando da hinlegen, wo sie auch mit einer Restricted Shell hinkommen, oder? Eine Kopie oder Soft-/Hardlink auf /usr/bin/passwd sollte die einfachste Möglichkeit sein, um trotzdem "unix password sync" in Samba nutzen zu können.

Jochen

User avatar
max
Posts: 806
Joined: 14. May 2000 12:55
Location: Ruhrpott

Re: password im skript ändern

#3 Post by max »

man chpasswd

chpasswd kannst du sogar die klartext Passwörter übergeben...
Gruss Max

rossi

Re: password im skript ändern

#4 Post by rossi »

@max: Danke, das wars. Hat zwar noch ein wenig gedauert, das die rbash (zumindest unter susi) trotz Linkes keine Dateien in /usr/sbin ausführen will, aber löpt nun.

@Jochen: War vermutlich eh Blödsinn, ist mir eingefallen, da "unix passwd sync" als Rootfunktion von Samba läuft und nichts mit den Benutzerrechten des Benutzers zu tun hat. Trotzdem finde ich die Lösung mit chpasswd und einer eigenständigen "GUI" in Verbindung mit sudo eleganter. Zumindest, wenn ich denn nun auch noch smbpasswd gesetzt bekomme ... aber "-s" sieht ganz brauchbar aus.

Auf jeden Fall euch beiden vielen Dank für die Antworten.

Jochen

Re: password im skript ändern

#5 Post by Jochen »

Na ja, chpasswd habe ich nicht vorgeschlagen, weil ich es für ein Sicherheitsrisiko halte. Mittels sudo läuft es mit Administratorrechten, und wenn es jemand schafft, dort "root:gecrackt" hineinzupipen, ist Deine Kiste offen...

Jochen

rossi

Re: password im skript ändern

#6 Post by rossi »

@jochen:

Ist in der Tat ein wenig wackelig und nett, das Du mich drauf hinweist. Eigentlich darf chpasswd nur von einer Gruppe (->sudoers) und von root ausgeführt werden, und diese Gruppe hat keine loginshell, sondern ein Skript stattdessen.
Anmelden -> Maske -> passwort ändern -> logout. Der Benutzername wird über "whoami" ermittelt, die Benutzer (die sich über telnet/ssh anmelden) können den Benutzernamen also nicht fälschen. Außer:
Was mir noch ein wenig Sorgen macht, ist die Möglichkeit, wie die Anwender das Skript "escapen" können und so eine Loginshell bekommen, womit alles hinfällig wäre, weil sudo zwangsweise in /usr/rbin ist.
Stumpfes ctrl+c führt zum sofortigen Logout, aber ich habe keine Ahnung, was es sonst noch für Möglichkeiten gibt.

User avatar
max
Posts: 806
Joined: 14. May 2000 12:55
Location: Ruhrpott

Re: password im skript ändern

#7 Post by max »

du kannst mit trap die Signale abfangen.
Z.B. bei mir im Skript:
trap "" 1 2 3 15
fängt Signal 1,2,3 und 15 ab und keine Aktion bei Signal.
Bei mir ist chpasswd kein Problem das es keinen Benutzer gibt der sich einloggen kann oder eine shell bekommt.
Bei mir brauche chpasswd um per eigenen Skript User anzulegen.
Gruß Max

Post Reply