Files
virtualbox/code_snippet/id.sh
2023-10-01 12:59:49 +02:00

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."