HDD und User Verbessert

This commit is contained in:
braniz
2023-09-30 18:19:52 +02:00
parent 95d3ef410c
commit 1b2685bbed
9 changed files with 653 additions and 141 deletions

51
useradd_neu.sh Normal file
View File

@@ -0,0 +1,51 @@
#!/bin/bash
# Funktion zur Ermittlung der nächsten verfügbaren UID oder GID oberhalb von 8000
get_next_id() {
local id_type="$1"
local current_max_id="$2"
local min_id=8001
if [ -z "$current_max_id" ]; then
echo "$min_id"
else
local next_id=$((current_max_id + 1))
if [ "$next_id" -lt "$min_id" ]; then
next_id="$min_id"
fi
echo "$next_id"
fi
}
# Nach dem Präfix für Benutzer und Gruppen fragen
read -p "Geben Sie das Präfix für Benutzer und Gruppen ein: " prefix
# Nach der Anzahl der zu erstellenden Benutzer fragen
read -p "Geben Sie die Anzahl der zu erstellenden Benutzer ein: " num_users
# Die aktuell größte vorhandene UID und GID ermitteln
current_max_uid=$(getent passwd | awk -F':' '$3 >= 8000 {print $3}' | sort -n | tail -1)
current_max_gid=$(getent group | awk -F':' '$3 >= 8000 {print $3}' | sort -n | tail -1)
echo "Aktuell größte vorhandene UID: $current_max_uid"
echo "Aktuell größte vorhandene GID: $current_max_gid"
# Benutzer und Gruppen erstellen
for ((i=1; i<=num_users; i++))
do
# Benutzername mit zweistelliger Nummer erstellen
username="${prefix}$(printf "%02d" $i)"
groupname="${prefix}$(printf "%02d" $i)"
# Nächste verfügbare UID und GID ermitteln
next_uid=$(get_next_id "UID" "$current_max_uid")
next_gid=$(get_next_id "GID" "$current_max_gid")
# Benutzer und Gruppe erstellen
sudo groupadd -g "$next_gid" "$groupname"
sudo useradd -m -u "$next_uid" -g "$groupname" "$username"
echo "Benutzer '$username' mit UID $next_uid und Gruppe '$groupname' mit GID $next_gid wurde erstellt."
done
echo "Die Benutzer und Gruppen wurden erstellt."