db_load 命令详解

| 选择喜欢的代码风格  

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

db_load 命令安装:


-bash/zsh: db_load command not found

#Debian
apt-get install db-util

#Ubuntu
apt-get install db-util

#Alpine
apk add db

#Arch Linux
pacman -S db

#Kali Linux
apt-get install db-util

#CentOS
yum install libdb-utils

#Fedora
dnf install libdb-utils

#Raspbian
apt-get install db-util

#Docker
docker run cmd.cat/db_load db_load

db_load 命令语法:


db_load [-nTV] [-b blob_dir] [-c name=value] [-f file]
    [-h home] [-P password] [-o blob_threshold] 
    [-t btree | hash | queue | recno] file

db_load [-r lsn | fileid] [-h home] [-P password] file  

db_load 命令选项:


-b
标识存储BLOB数据的目录。如果未指定此选项,则BLOB数据将放置在DB环境中的子目录中。另请参见 -o选项。

-c
指定配置选项,忽略它们根据输入可能具有的任何值。命令行格式为name = value。有关-c选项支持的关键字列表,请参见下面的“支持的关键字”部分。

-f
从指定的输入文件而不是从标准输入中读取。

-T
选项-T允许应用程序能够将文本文件转译载入进数据库。由于我们之后是将虚拟用户的信息以文件方式存储在文件里的,为了让Vsftpd这个应用程序能够通过文本来载入用户数据,必须要使用这个选项。如果指定了选项-T,那么一定要追跟子选项-t

-t
子选项-t,追加在在-T选项后,用来指定转译载入的数据库类型。扩展介绍下,-t可以指定的数据类型有Btree、Hash、Queue和Recon数据库。

-f
参数后面接包含用户名和密码的文本文件,文件的内容是:奇数行用户名、偶数行密码

-V
将库版本号写到标准输出,然后退出。

db_load 命令实例:


该 db_load 实用程序可用于将文本文件加载到数据库中。例如,以下命令将标准 UNIX /etc/passwd 文件加载到数据库中,其中登录名为关键项,而整个密码项为数据项,文件为 passwd.db

awk -F: '{print $1; print $0}' < /etc/passwd |    
         sed 's/\\/\\\\/g' | db_load -T -t hash passwd.db  

通过 db_load 更改 vsftp 用户配置信息 login.db,使其最终生效:

db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/login.db

db_load 命令的坑:


请注意:对文本中自然出现的反斜杠字符进行转义,以避免 db_load 解释为转义字符。

db_load 命令扩展阅读:




db_load 命令评论