Befehl Chage ---> für alle User aufeinmal ???
Befehl Chage ---> für alle User aufeinmal ???
Tag @ all,
hab ein System mit 1000 Usern, ich möchte, dass sich diese User nach 30 Tagen bzw. gleich nach neuanmeldung ihr passwort ändern.
(chage -M 30 -d 0 "username")
Wie kann ich diese Befehl für alle User aufeinmal absetzen ??? Danke schon mal im voraus
Spufy
hab ein System mit 1000 Usern, ich möchte, dass sich diese User nach 30 Tagen bzw. gleich nach neuanmeldung ihr passwort ändern.
(chage -M 30 -d 0 "username")
Wie kann ich diese Befehl für alle User aufeinmal absetzen ??? Danke schon mal im voraus
Spufy
Re: Befehl Chage ---> für alle User aufeinmal ???
Hi!
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
while read line; do
user=`echo $line | cut -f1 -d:`
chage -M 30 -d 0 $user
done < /etc/passwd
</font><hr></pre></blockquote>
Gruß
Chris
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
while read line; do
user=`echo $line | cut -f1 -d:`
chage -M 30 -d 0 $user
done < /etc/passwd
</font><hr></pre></blockquote>
Gruß
Chris
Re: Befehl Chage ---> für alle User aufeinmal ???
Thx, werde ich morgen gleich ausprobieren ...
Spufy
Spufy
Re: Befehl Chage ---> für alle User aufeinmal ???
Hi,
leider Funzt der Skript nicht ???
Es kommt immer die Fehlermeldung: "bash readline command not found"
Kann mir mal jemand helfen ???
THX
Spufy
leider Funzt der Skript nicht ???
Es kommt immer die Fehlermeldung: "bash readline command not found"
Kann mir mal jemand helfen ???
THX
Spufy
Re: Befehl Chage ---> für alle User aufeinmal ???
for i in `seq 1 1000`; do chage -M 3- -d 0 $i; done
...und die uids anpassen (z.b. 500-1500)
...und die uids anpassen (z.b. 500-1500)
Re: Befehl Chage ---> für alle User aufeinmal ???
Hi!
"read line" != "readline"
Aber die Lösung von panthera ist besser da du die UIDs dort festlegen kannst. Mir war der seq-Befehl bislang unbekannt...
Gruß
Chris
"read line" != "readline"
Aber die Lösung von panthera ist besser da du die UIDs dort festlegen kannst. Mir war der seq-Befehl bislang unbekannt...
Gruß
Chris
Re: Befehl Chage ---> für alle User aufeinmal ???
Kannst du mir mal die Lösung von panthera schritt für schritt erklären ???
Danke schon mal im voraus
Spufy
Danke schon mal im voraus
Spufy
Re: Befehl Chage ---> für alle User aufeinmal ???
Hi!
Ist eigentlich nicht's besonderes:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
# Schleife, die von 1 - 1000 zaehlt (`seq 1 1000` ist identisch mit "1 2 3 4 5 6 ... 998 999 1000")
for i in `seq 1 1000`; do
# Das Kommando dürfte dir bekannt sein... $i wird ersetzt durch den Wert aus der for-Schleife
chage -M 3- -d 0 $i
# ...weiter geht's mit der for-Schleife...
done
</font><hr></pre></blockquote>
Gruß
Chris
Ist eigentlich nicht's besonderes:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
# Schleife, die von 1 - 1000 zaehlt (`seq 1 1000` ist identisch mit "1 2 3 4 5 6 ... 998 999 1000")
for i in `seq 1 1000`; do
# Das Kommando dürfte dir bekannt sein... $i wird ersetzt durch den Wert aus der for-Schleife
chage -M 3- -d 0 $i
# ...weiter geht's mit der for-Schleife...
done
</font><hr></pre></blockquote>
Gruß
Chris
Re: Befehl Chage ---> für alle User aufeinmal ???
Hi,
danke...
Aber, jetzt verstehe ich, diese seq 1 bis 1000 sollen meine User sein, oder ?
Mein problem ist, es kommen, ja immer wieder user bzw. gehen welche. Also es sind nicht immer 1000 user, sondern es variert, kann ich da vielleicht dynamisch machen ???
gruß
Spufy
danke...
Aber, jetzt verstehe ich, diese seq 1 bis 1000 sollen meine User sein, oder ?
Mein problem ist, es kommen, ja immer wieder user bzw. gehen welche. Also es sind nicht immer 1000 user, sondern es variert, kann ich da vielleicht dynamisch machen ???
gruß
Spufy
Re: Befehl Chage ---> für alle User aufeinmal ???
Du solltest vor allem Aufpassen, das Du root und andere "system" benutzer nicht anfasst. Da vermutlich "regulaere" Benutzer ab einer bestimmten UID anfangen (sagen wir mal 1000) macht eine Kombination aus beiden evtl. Sinn
---
#!/bin/sh
while read line; do
if [ "`echo ${line} | cut -d ":" -f 3`" -ge "1000" ]; then
user=`echo ${line} | cut -f 1 -d ":"`
chage -M 30 -d 0 ${user}
fi
done < /etc/passwd
---
Liest die Datei /etc/passwd Zeile fuer Zeile ein und prueft, ob die UID groesser ist als 1000. Wenn dem so ist, dann wird der chage Befehl ausgefuehrt. Damit hast Du ein "open End" und es ist egal, wieviele Benutzer mit welcher ID Du auf dem System hast. Hauptsache, Du legst keine Benutzer unterhalb eines bestimmten Schwellwertes an.
---
#!/bin/sh
while read line; do
if [ "`echo ${line} | cut -d ":" -f 3`" -ge "1000" ]; then
user=`echo ${line} | cut -f 1 -d ":"`
chage -M 30 -d 0 ${user}
fi
done < /etc/passwd
---
Liest die Datei /etc/passwd Zeile fuer Zeile ein und prueft, ob die UID groesser ist als 1000. Wenn dem so ist, dann wird der chage Befehl ausgefuehrt. Damit hast Du ein "open End" und es ist egal, wieviele Benutzer mit welcher ID Du auf dem System hast. Hauptsache, Du legst keine Benutzer unterhalb eines bestimmten Schwellwertes an.
Re: Befehl Chage ---> für alle User aufeinmal ???
warum passt du nicht dein Skript an mit dem User angelegt werden?
Dann ist das eine einmalige Sache...
Gruß Max
Dann ist das eine einmalige Sache...
Gruß Max
Re: Befehl Chage ---> für alle User aufeinmal ???
@max:
Hi!
Weil er dann die bestehenden 1000 User immer noch nicht geändert hat...
Gruß
Chris
Hi!
Weil er dann die bestehenden 1000 User immer noch nicht geändert hat...
Gruß
Chris
Re: Befehl Chage ---> für alle User aufeinmal ???
sorry, natürlich nachdem er mit dem Einzeiler alle angepasst hat.
Meine Antwort war bezogen auf das Posting von Spufy.
<blockquote><hr>
Mein problem ist, es kommen, ja immer wieder user bzw. gehen welche. Also es sind nicht immer 1000 user, sondern es variert, kann ich da vielleicht dynamisch machen ???
<hr></blockquote>
Gruß Max
Meine Antwort war bezogen auf das Posting von Spufy.
<blockquote><hr>
Mein problem ist, es kommen, ja immer wieder user bzw. gehen welche. Also es sind nicht immer 1000 user, sondern es variert, kann ich da vielleicht dynamisch machen ???
<hr></blockquote>
Gruß Max