
Ubuntu 20.04 LTS.
Es gibteine einfacheBash-SkriptZueinen neuen Benutzer hinzufügenüber die Kommandozeile im interaktiven Modus:
#!/bin/bash
# Script to add a user to Linux system
if [ "$(id -u)" -eq 0 ]; then
read -p "Enter username : " username
read -s -p "Enter password : " password
egrep "^$username" /etc/passwd >/dev/null
if [ $? -eq 0 ]; then
echo "$username exists!"
exit 1
else
pass=$(perl -e 'print crypt($ARGV[0], "password")' $password)
useradd -m -p $pass $username
[ $? -eq 0 ] && echo "User has been added to system!" || echo "Failed to add a user!"
fi
else
echo "Only root may add a user to the system"
exit 2
fi
Das Ergebnis in der /etc/shadow
Datei nach dem Hinzufügen des Benutzers über dieses Skript sieht ziemlich seltsam aus. Zum Beispiel fürNutzername demo
UndPasswort demo
, der useradd
Befehl zum Hinzufügen zur /etc/shadow
Datei:
demo:paR7EXftedvjA:19081:0:99999:7:::
Es gibt keine Informationen zu id
, param
, und salt
wie es in der derzeit akzeptierten Form beschrieben werden sollte. Sieht aus, als wäre es nur ein Hash oder ich weiß nicht, was das ist paR7EXftedvjA
. Ich habe versucht, es zurückzubekommen, indem ich es demo
als Salt und demo
als Passwort in Befehlen wie mkpasswd
oder verwendet habe openssl
, aber das Ergebnis ist nicht dasselbe.