63 lines
2.0 KiB
Bash
63 lines
2.0 KiB
Bash
#!/bin/bash
|
|
|
|
clear
|
|
echo "Erstellen von Usern"
|
|
echo
|
|
|
|
# Nach der Anzahl der Benutzer fragen
|
|
read -p "Geben Sie die Anzahl der Benutzer ein: " num_users
|
|
|
|
# Nach dem Basisnamen für die Benutzer fragen
|
|
read -p "Geben Sie den Basisnamen für die Benutzer ein: " base_username
|
|
|
|
read -p "Geben Sie den Gruppennamen für die Benutzer ein oder drücken Sie Enter, um den Basisnamen zu verwenden: " group_name
|
|
if [ -z "$group_name" ]; then
|
|
group_name="$base_username"
|
|
fi
|
|
|
|
# Überprüfen, ob die Gruppe bereits existiert, andernfalls erstellen
|
|
if ! grep -q "^$group_name:" /etc/group; then
|
|
sudo groupadd "$group_name"
|
|
echo "Die Gruppe '$group_name' wurde erstellt."
|
|
fi
|
|
|
|
# Start-UID und GID festlegen
|
|
start_uid=8001 # Start-UID über 8000
|
|
start_gid=8001 # Start-GID über 8000
|
|
|
|
# Suchen der nächsten freien UID oberhalb von 8000
|
|
while grep -q "^$start_uid:" /etc/passwd; do
|
|
((start_uid++))
|
|
done
|
|
|
|
# Suchen der nächsten freien GID oberhalb von 8000
|
|
while grep -q "^$start_gid:" /etc/group; do
|
|
((start_gid++))
|
|
done
|
|
|
|
# Schleife zur Erstellung der Benutzer
|
|
for ((i=1; i<=num_users; i++))
|
|
do
|
|
# Benutzername mit zweistelliger Nummer erstellen
|
|
username="${base_username}$(printf "%02d" $i)"
|
|
|
|
# Überprüfen, ob der Benutzer bereits existiert
|
|
if id "$username" &>/dev/null; then
|
|
echo "Der Benutzer '$username' existiert bereits."
|
|
else
|
|
# Benutzer erstellen und zur angegebenen Gruppe hinzufügen
|
|
sudo useradd -m -u "$start_uid" -g "$group_name" "$username"
|
|
echo "Der Benutzer '$username' wurde erstellt und der Gruppe '$group_name' hinzugefügt."
|
|
|
|
# Passwort für den Benutzer festlegen (Hier wird das Passwort auf "password" festgelegt, ändern Sie es nach Bedarf)
|
|
echo -e "password\npassword" | sudo passwd "$username"
|
|
echo "Das Passwort für den Benutzer '$username' wurde festgelegt."
|
|
|
|
# Inkrementieren der UID und GID für den nächsten Benutzer
|
|
((start_uid++))
|
|
((start_gid++))
|
|
fi
|
|
done
|
|
|
|
echo "Die Benutzer wurden erstellt und Passwörter festgelegt."
|