Bash-Skript zum Hinzufügen neuer Benutzer in Linux

Naila Saad Siddiqui 15 Februar 2024
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:

Ausgabe des Bash-Skripts des Befehls useradd

Verwandter Artikel - Bash Command