Ich bin ein Anfänger in der Skripterstellung, habe jedoch eine Textdatei mit dem Namen erstellt, text.dat
die nur Benutzernamen im Dateispeicherort enthält, /home/daniel/text.dat
und ich versuche, ein Skript mit addusers.sh
dem Namen dieser Textdatei auszuführen , in dem ein neues Benutzerkonto erstellt wird das System für jedes neue Benutzerkonto, das in der text.dat
Datei angegeben ist.
Fügen Sie für jedes erstellte Benutzerkonto einen Zeileneintrag an die /home/daniel/logs/useraccounts.log
Datei an. Der Zeileneintrag enthält folgende Informationen:
hinzugefügt | <Name des Benutzerkontos> | <Tag und Uhrzeit der Erstellung>. Das habe ich bisher:
#! / bin / bash echo "cat text.dat" newuser = grep /home/daniel/text.dat sudo adduser $ newuser
Antworten:
Wie kann ich einem Linux-System Benutzer hinzufügen, die in einer Datei aufgelistet sind?
Wenn Sie möchten, dass der Prozess vollständig automatisiert wird (z. B. über
sudo ./addusers.sh
), sollten Sie Folgendes tun :Mit Optionen (von der
adduser
Manpage):(
--disabled-login
würde wohl auch funktionieren)Sie können diese Optionen
adduser
deaktivieren, wenn Sie ein Kennwort und / oder Benutzerinformationen angeben möchten.Sie können auch angeben , wie Sie das wollen , Tag und Uhrzeit der Erstellung über Optionen angegeben
date
, zBquelle
done < $usersfile
ein Problem verursachen. obwohl es in meinem (minimalen) Beispiel funktioniert. Haben Sie überprüft, ob die Protokolldatei / das Protokollverzeichnis vorhanden ist und sinnvolle Berechtigungen hat?Das Ereignis, das Sie protokollieren möchten, wird bereits von Linux protokolliert. Schauen Sie sich das an
/var/log/auth.log
und versuchen Sie es zu filtern oder zu analysieren, anstatt zu versuchen, eine eigene Protokolldatei zu erstellen.Hier ist eine Auswahl des fraglichen Protokolls:
Wie Sie sehen, enthält es so ziemlich alles, was Sie über die Erstellung und Löschung von Benutzerkonten wissen müssen, einschließlich der Informationen darüber, wer die Erstellung / Löschung über die
sudo
Protokollierung vorgenommen hat. Beachten Sie, dass Sie möglicherweise zusätzliche Arbeit leisten müssen, um herauszufinden, wer die Erstellung / Löschung vorgenommen hat , wenn der Ersteller nichtsudo
mituseradd
oder telefoniert hatuserdel
.quelle