db_load ユーティリティは、ダンプ ユーティリティで使用される出力形式、または (オプションで) 他のツールを使用して作成されたフラット テキスト表現を読み取り、Berkeley DB データベースに保存します。
構文:
db_load [-nTV] [-c name=value] [-f file] [-h home] [-t btree | hash | queue | recno] file
db_load への入力は、db_dump ユーティリティまたはユーティリティで指定された出力形式、または以下の -T で指定された形式である必要があります。オプションは次のとおりです:
- -t – ハッシュはハッシュ コードを使用して暗号化されます。
- -f – ユーザー名とパスワードを含むテキスト ファイルを指定します。このファイル形式は、ユーザー名の奇数行、パスワードの偶数行を示す必要があります。
- -f – 標準入力からではなく、指定された入力ファイルから読み取ります。
- -c – 入力に基づく値を無視して、構成オプションを指定します。
- -h – データベース環境のホーム ディレクトリを指定する
- -n – 既存のデータベースにロードする場合、データベース内の既存のキーを上書きしないでください。
- -V – バージョン番号を標準出力に書き込み、終了します。
db_load コマンドの例
1. 新しいファイル users.txt を作成し、ユーザー名とパスワードを入れます:
# db_load -T -t hash -f /users.txt /users.db
2. データベース タイプを btree として指定し、データベース環境のホーム ディレクトリを指定します。
# db_load -T -t btree -h /root - f /users.txt /users.db
3. データベースは recno であり、ユーザー名とパスワードを vsftpd_login.db に入れます:
# db_load -T -t recno -f /etc/vsftpd/logins.txt /etc/vsftd/vsftpd_login.db
4. db_load ユーティリティを使用して、テキスト ファイルをデータベースにロードできます。たとえば、次のコマンドは、ログイン名をキー項目とし、パスワード エントリ全体をデータ項目として、標準の UNIX /etc/passwd ファイルをデータベースにロードします。
$ awk -F: '{print $1; print $0}' < /etc/passwd | sed 's/\\/\\\\/g' | db_load -T -t hash passwd.db