ubuntuusers.de

Passwörter per Script ändern

Status: Gelöst | Ubuntu-Version: Server 16.04 (Xenial Xerus)
Antworten |

gnude

Avatar von gnude

Anmeldungsdatum:
11. Juli 2014

Beiträge: 843

Hallo ich möchte gern mehre Benutzerkennwörter in einem Rutsch ändern und suche eine Möglichkeit das per Script zu erledigen, so das man dem Script eine Liste der (bestehenden) Nutzer samt neuen Kennwort oder alternativ die Kennwörter direkt in das Script schreibt.

Gibt es da eine Möglichkeit?

Mokkujin

Anmeldungsdatum:
2. Mai 2008

Beiträge: 389

Wohnort: Hannover

Naja meiner Meinung nach kann man grundsätzlich alles scripten 😉

als erstes würde ich mir mal pwgen (erstellt passwörter) installieren.

1
sudo apt install pwgen

Über chpasswd kannst du die Benutzer Passwörter ändern.

1
echo 'USERNAME:$(pwgen -c -n -y 24 1)' | chpasswd

Dann ein Bash Script schreiben was deine User einliest und für jeden Benutzer den Befehl abfeuert

Das ist aber nur ein Vorschlag und ungetestet 😉

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#!/bin/bash
users_file="USERS.TXT"
declare -a Users
while read -r line; do
        Users+=("${line}")
done < "${users_file}"
for u in ${Users[@]}; do
        echo "Change Password for ${u}"
        pwd=$(pwgen -c -n -y 24 1)
        echo "echo """${u}:${pwd}""" | chpasswd"
done

Grundsätzlich gehen dir die Passwörter der Benutzer aber nix an als Admin !

gnude

(Themenstarter)
Avatar von gnude

Anmeldungsdatum:
11. Juli 2014

Beiträge: 843

Das sieht nach einer komplizierten Lösung aus, dachte mehr an was einfaches wie:

echo 'geheim' | passwd --stdin root

(was allerdings nicht klappt....

Mokkujin

Anmeldungsdatum:
2. Mai 2008

Beiträge: 389

Wohnort: Hannover

Mal ehrlich versuchst du überhaupt den code zu verstehen ?

Hallo ich möchte gern mehre Benutzerkennwörter in einem Rutsch ändern und suche eine Möglichkeit das per Script zu erledigen, so das man dem Script eine Liste der (bestehenden) Nutzer samt neuen Kennwort oder alternativ die Kennwörter direkt in das Script schreibt.

deine Anforderung ist umgesetzt , es gibt eine Datei in der die User liegen und pwgen erstellt ein zufälliges Passwort

Mokkujin

Anmeldungsdatum:
2. Mai 2008

Beiträge: 389

Wohnort: Hannover

gnude schrieb:

Das sieht nach einer komplizierten Lösung aus, dachte mehr an was einfaches wie:

echo 'geheim' | passwd --stdin root

(was allerdings nicht klappt....

1
echo 'user:password' | chpasswd

das funktioniert dann aber für dein Beispiel wäre das dann

1
echo 'root:geheim' | chpasswd

gnude

(Themenstarter)
Avatar von gnude

Anmeldungsdatum:
11. Juli 2014

Beiträge: 843

Perfekt, das klappt

Vielen Dank 👍

Antworten |