mirror of
				https://github.com/bashclub/zamba-lxc-toolbox.git
				synced 2025-11-04 00:02:26 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
set -euo pipefail
 | 
						|
 | 
						|
USER="$1"
 | 
						|
 | 
						|
if [ -z "$USER" ]; then
 | 
						|
  echo "Usage: $0 <username>"
 | 
						|
  exit 1
 | 
						|
fi
 | 
						|
 | 
						|
# Prüfen, ob ldbmodify verfügbar ist
 | 
						|
if ! command -v ldbmodify &> /dev/null; then
 | 
						|
  echo "Fehler: 'ldbmodify' ist nicht installiert. Bitte installiere 'ldb-tools' mit:"
 | 
						|
  echo "  sudo apt update && sudo apt install ldb-tools"
 | 
						|
  exit 10
 | 
						|
fi
 | 
						|
 | 
						|
# Sicheres Passwort generieren (32 Zeichen, alphanumerisch + Sonderzeichen)
 | 
						|
PASSWORD=$(openssl rand -base64 24)
 | 
						|
 | 
						|
# Benutzer anlegen mit generiertem Passwort
 | 
						|
samba-tool user create "$USER" "$PASSWORD"
 | 
						|
echo "✅ Benutzer $USER erfolgreich erstellt."
 | 
						|
 | 
						|
# DN des Benutzers ermitteln
 | 
						|
DN=$(ldbsearch -H /var/lib/samba/private/sam.ldb "(sAMAccountName=$USER)" dn | awk '/^dn: / {print $2}')
 | 
						|
 | 
						|
if [ -z "$DN" ]; then
 | 
						|
  echo "❌ Fehler: DN für $USER nicht gefunden." >&2
 | 
						|
  exit 3
 | 
						|
fi
 | 
						|
 | 
						|
# userWorkstations=NONE setzen
 | 
						|
ldbmodify -H /var/lib/samba/private/sam.ldb <<EOF
 | 
						|
dn: $DN
 | 
						|
changetype: modify
 | 
						|
replace: userWorkstations
 | 
						|
userWorkstations: NONE
 | 
						|
EOF
 | 
						|
 | 
						|
echo
 | 
						|
echo "------------------------------------------"
 | 
						|
echo "BENUTZER ERSTELLT:"
 | 
						|
echo "Username: $USER"
 | 
						|
echo "Passwort: $PASSWORD"
 | 
						|
echo "Distinguished Name:"
 | 
						|
echo "$DN"
 | 
						|
echo "------------------------------------------"
 | 
						|
echo "Bitte notiere Benutzername, Passwort und DN sicher."
 |