Hi Leute,
ich möchte gerne 2 Skripte schreiben.
Mit dem 1. sollen 30 Benutzer mit dem Passwort "Username" und der Gruppe "test_benutzer" erstellt werden
mit dem 2. sollen diese wieder gelöscht werden.
Würde mich über jede Idee freuen.
Hi Leute,
ich möchte gerne 2 Skripte schreiben.
Mit dem 1. sollen 30 Benutzer mit dem Passwort "Username" und der Gruppe "test_benutzer" erstellt werden
mit dem 2. sollen diese wieder gelöscht werden.
Würde mich über jede Idee freuen.
Skript zum Benutzer anlegen und löschen? Schau mal ob du hier fündig wirst!
Das sind zu wenige Infos... Was möchtest du denn nun wissen?
Wie sollen die Benutzernamen lauten - wie sollen die angegeben werden, flexibel beim ausführen des Script, willkürlich, oder fest eingestellt?
Alle Benutzer in die selbe Gruppe, nicht in eine eigene wie es normal wäre sondern alle in einer?
Benutzerverzeichnisse anlegen lassen?
Und warum danach wieder alle löschen :s
Ich vermute einen Einsatz in Schule oder ähnlich...Wofür sollte man sonst 30 user brauchen u. ggf wieder loswerden wollen
Das sind zu wenige Infos... Was möchtest du denn nun wissen?Wie sollen die Benutzernamen lauten - wie sollen die angegeben werden, flexibel beim ausführen des Script, willkürlich, oder fest eingestellt?
Alle Benutzer in die selbe Gruppe, nicht in eine eigene wie es normal wäre sondern alle in einer?
Benutzerverzeichnisse anlegen lassen?Und warum danach wieder alle löschen :s
Die benutzernamen sollen einfach durchnummeriert werden. Also Benutzer1 Benutzer 2 usw
Alle in eine Gruppe. Verzeichnis anlegen wäre auch gut.
Löschen einfach damit hinterher wenn die Benutzer nicht mehr daran arbeiten alles wieder weg ist.
DANKE
Ein Script:
#!/bin/bash
# 06.2015 by meigrafd
#
### CONFIG - START
UsersPrefix=Benutzer
UsersCounts=30
UsersHomedir=/home/
UsersShell=/bin/bash
UsersGroupID=100
UsersPassword='Username'
### CONFIG - END
### functions
function addUsers {
[ -z "$1" ] && CreateCount=$UsersCounts || CreateCount=$1
echo "Creating $CreateCount Users with HOME:$UsersHomedir SHELL:$UsersShell PASSWD:$UsersPassword"
echo
for (( count=1; count<=$CreateCount; count++ )); do
NewUser=$UserPrefix$count
echo "Adding User '$UserPrefix$count' ..."
#useradd -l -N -b$UsersHomedir$NewUser -m -s$UsersShell -g$UsersGroupID -p $(echo "$UsersPassword" | openssl passwd -1 -stdin)
useradd -l -N -b$UsersHomedir$NewUser -m -s$UsersShell -g$UsersGroupID
echo "$NewUser:$UsersPassword" | chpasswd --md5 $NewUser
## also add user to samba:
#echo -e "$UsersPassword\n$UsersPassword" | pdbedit -t -u $NewUser
done
}
function delUsers {
[ -z "$1" ] && CreateCount=$UsersCounts || CreateCount=$1
echo "Deleting $CreateCount Users ..."
for (( count=1; count<=$CreateCount; count++ )); do
userdel -f -r $UserPrefix$count >/dev/null 2>&1
done
}
case "$1" in
add) addUsers $2;;
del) delUsers $2;;
*) echo "Usage: $(basename $0) {add|del}" && exit 1;;
esac
exit 0
[/php]
Aufruf:
[code]sudo ./script.sh add
sudo ./script.sh del
Alles anzeigen
Um die Anzahl bei Aufruf festzulegen:
Ungetestet!
Erst wird gemeckert dass die User nichts selbst machen und dann liefert man ihnen fertige Skripte. Ohwei!
Hilfsbereitschaft = 100.
Lernkurve = 0.
Habt mir mit den Links schon super geholfen. Habe das ganze etwas anders gelöst. jetzt fehlt mir nur noch das passwort.
#!/bin/bash
start=1
ende=30
i=$start
while [ $i -le $ende ]
do
useradd -g 1002 -m Benutzer$i
i=$(($i+1))
done
In meinem Script hab ich 2 verschiedene Möglichkeiten aufgezeigt die zum setzen des Benutzer-Passwords verwendet werden können.
Entweder direkt in der useradd Zeile:
useradd -l -N -b$UsersHomedir$NewUser -m -s$UsersShell -g$UsersGroupID -p $(echo "$UsersPassword" | openssl passwd -1 -stdin)
Oder nach der useradd Zeile:
useradd -l -N -b$UsersHomedir$NewUser -m -s$UsersShell -g$UsersGroupID
echo "$NewUser:$UsersPassword" | chpasswd --md5 $NewUser
PS: @ patlux: Ich beschreibe sehr sehr oft jede einzelne Zeile - nur diesmal hatte ich keine Lust. Aber wieso machts nicht jemand anderes wie Du zum Beispiel :s
Weils nicht verlangt wurde und ich da keine Lust zu habe, ich schreib selten was in Bash.
Erst wird gemeckert dass die User nichts selbst machen und dann liefert man ihnen fertige Skripte. Ohwei!Hilfsbereitschaft = 100.
Lernkurve = 0.
Hi,
aber der Threadstarter sagte ja, er wäre über Ideen erfreut, er fordert somit keine fertigen und für seinen spezifischen Fall voll einsetzbaren Skripte ein. Meigrafd hat übrigens angemerkt, dass sein Skript ungetestet sei - ich finde daran jetzt nichts verwerflich... :s
Daran ist auch nichts verwerflich, ich sag ja selber, die Hilfsbereitschaft ist rießig, wovon der TE aber nichts hätte, wenn er einfach das Skript kopiert und anwendet. Obs nun getestet wurde oder nicht...
Ich will den Thread hier nun nicht vollspamen, sry dafür. Ich halte das nächste Mal einfach mein großes Mundwerk.
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!