Bash-Skript zum Hinzufügen neuer Benutzer in Linux
In diesem kurzen Artikel geht es darum, ein Bash-Skript zu erstellen, das dem Linux-Betriebssystem automatisch Benutzer hinzufügen und Passwörter zuweisen kann. Im Linux-Betriebssystem wird der Befehl useradd
verwendet, um neue Benutzer hinzuzufügen und ihnen Passwörter zuzuweisen.
Bash-Skript useradd
-Befehl
Ein einfaches Dienstprogramm zum Hinzufügen von Benutzern ist useradd
. Administratoren auf Debian sollten stattdessen normalerweise adduser
verwenden.
Der Aufruf des Befehls useradd
ohne die Option -D
erstellt ein neues Benutzerkonto mit den in der Befehlszeile eingegebenen Werten und den Standardwerten des Systems. Der Befehl useradd
aktualisiert Systemdateien und kann abhängig von den Befehlszeilenoptionen andere Aufgaben ausführen.
Erstellen Sie außerdem das Home-Verzeichnis für den neuen Benutzer und kopieren Sie die ursprünglichen Dateien.
Bash-Skript zum Hinzufügen von Benutzern
Im Linux-Betriebssystem müssen wir Root-Benutzer sein, um neue Benutzer zum System hinzuzufügen. Daher müssen wir im Skript zuerst überprüfen, ob der Benutzer, der das Skript ausführt, ein Root-Benutzer ist oder nicht.
Danach können wir den eingegebenen Benutzernamen und das Passwort vom Benutzer übernehmen und dann den Befehl useradd
ausführen. Sehen wir uns das folgende Skript an.
Bash-Skript:
#!/bin/bash
if [ $(id -u) -eq 0 ]; then
read -p "Enter your username : " user_name
read -s -p "Enter your password : " pass
egrep "^$user_name" /etc/passwd >/dev/null
if [ $? -eq 0 ]; then
echo "$user_name exists!"
exit 1
else
epass=$(perl -e 'print crypt($ARGV[0], "pass")' $pass)
useradd -m -p "$epass" "$user_name"
[ $? -eq 0 ] && echo "Successfully added User!" || echo "Sorry! User not added"
fi
else
echo "Sorry! You are not authorized to add users."
exit 2
fi
Nachdem wir den Benutzernamen und das Passwort des Benutzers ausgelesen haben, haben wir zunächst mit dem Befehl egrep
gesucht, ob der Benutzer mit dem angegebenen Benutzernamen bereits existiert oder nicht. Wenn der Benutzereintrag in der Datei /etc/passwd
gefunden wird, bedeutet dies, dass der Benutzer bereits existiert.
Andernfalls verschlüsseln wir das Passwort mit dem Befehl perl
. Der Befehl perl
zeigt den Bildschirm mit dem verschlüsselten Passwort.
Die Funktion crypt()
in Perl verwendet einen Einweg-Verschlüsselungsalgorithmus, der es unmöglich macht, ein einmal verschlüsseltes Passwort zu entschlüsseln. Die Passwortzeichenfolge des Benutzers wird abgerufen, mit Salt verschlüsselt und dann auf dem Computerbildschirm angezeigt.
Nach dem Ausführen des Befehls useradd
überprüfen wir das Ergebnis mit dem Befehl $?
Wert und zeigt dem Benutzer die entsprechende Nachricht an.
Ausgang: