28 lines
807 B
Bash
28 lines
807 B
Bash
#!/bin/bash
|
|
|
|
# Sicherstellen, dass das Skript mit Root-Rechten ausgeführt wird
|
|
if [[ $EUID -ne 0 ]]; then
|
|
echo "Dieses Skript muss als root ausgeführt werden."
|
|
exit 1
|
|
fi
|
|
|
|
# Benutzername ermitteln
|
|
USER_NAME=$(whoami)
|
|
|
|
# Eintrag aus getent passwd
|
|
USER_ENTRY=$(getent passwd "$USER_NAME")
|
|
|
|
# Backup der passwd Datei
|
|
cp /etc/passwd /etc/passwd.bak
|
|
|
|
if grep -q "^$USER_NAME:" /etc/passwd; then
|
|
# Existierenden Eintrag aktualisieren
|
|
sed -i "/^$USER_NAME:/s|[^:]*$|/bin/zsh|" /etc/passwd
|
|
echo "Shell für $USER_NAME wurde auf zsh aktualisiert."
|
|
else
|
|
# Neuen Eintrag hinzufügen
|
|
UPDATED_ENTRY=$(echo "$USER_ENTRY" | awk -F: -v OFS=: '{ $NF="/bin/zsh"; print }')
|
|
echo "$UPDATED_ENTRY" >> /etc/passwd
|
|
echo "Eintrag für $USER_NAME wurde in /etc/passwd geschrieben mit zsh als Shell."
|
|
fi
|