Das Dienstprogramm db_load liest entweder das Ausgabeformat, das von den Dump-Dienstprogrammen verwendet wird, oder (optional) eine flache Textdarstellung, die mit anderen Tools erstellt wurde, und speichert sie in einer Berkeley-DB-Datenbank.
Syntax:
db_load [-nTV] [-c name=value] [-f file] [-h home] [-t btree | hash | queue | recno] file
Die Eingabe für db_load muss in dem Ausgabeformat vorliegen, das durch das Dienstprogramm db_dump, die Dienstprogramme oder wie unten für das -T angegeben ist. Die Optionen sind wie folgt:
- -t – Hash wird mit Hash-Code verschlüsselt.
- -f – Geben Sie eine Textdatei an, die den Benutzernamen und das Kennwort enthält. Dieses Dateiformat muss Folgendes aufweisen:Zeilen mit ungerader Nummer des Benutzernamens, Zeilen mit gerader Nummer des Passworts.
- -f – Aus der angegebenen Eingabedatei statt aus der Standardeingabe lesen.
- -c – Geben Sie Konfigurationsoptionen an und ignorieren Sie alle Werte, die sie möglicherweise basierend auf der Eingabe haben.
- -h – Geben Sie ein Home-Verzeichnis für die Datenbankumgebung an.
- -n – Vorhandene Schlüssel in der Datenbank beim Laden in eine bereits vorhandene Datenbank nicht überschreiben.
- -V – Versionsnummer auf die Standardausgabe schreiben und beenden.
Beispiele für den db_load-Befehl
1. Erstellen Sie eine neue Datei users.txt und geben Sie den Benutzernamen und das Passwort ein:
# db_load -T -t hash -f /users.txt /users.db
2. Geben Sie den Datenbanktyp als btree an und geben Sie das Home-Verzeichnis der Datenbankumgebung an:
# db_load -T -t btree -h /root - f /users.txt /users.db
3. Die Datenbank ist recno und tragen Sie den Benutzernamen und das Passwort in vsftpd_login.db:
ein# db_load -T -t recno -f /etc/vsftpd/logins.txt /etc/vsftd/vsftpd_login.db
4. Das Dienstprogramm db_load kann verwendet werden, um Textdateien in Datenbanken zu laden. Beispielsweise lädt der folgende Befehl die Standard-UNIX-Datei /etc/passwd in eine Datenbank, mit dem Anmeldenamen als Schlüsselelement und dem gesamten Kennworteintrag als Datenelement:
$ awk -F: '{print $1; print $0}' < /etc/passwd | sed 's/\\/\\\\/g' | db_load -T -t hash passwd.db