介绍:

vsftpd 是 Linux 中常用的一个完全免费的、开放源代码 ftp 服务端软件,全称为 very secure FTP daemon ,意思是这是一个非常安全的 ftp 服务,从配置文件来看,安全方面的配置确实不少

 

安装:

yum install vsftpd

 

配置:

第一步:进入  /etc/vsftpd 目录

其中 vsftpd.conf 文件就是 vsftpd 服务的配置文件,目前配置如下(对应的配置描述后续补充)

# Example config file /etc/vsftpd/vsftpd.conf
listen_address=公网ip

anonymous_enable=NO

local_enable=YES

write_enable=YES

allow_writeable_chroot=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

##########  日志   ##########
xferlog_enable=YES
xferlog_std_format=YES
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
log_ftp_protocol=YES

#chown_uploads=YES
#chown_username=whoever

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

guest_enable=YES

#如果想一步到位,使用 root 用户,否则可以自己创建一个系统用户,然后配置对应的目录权限,否则无法通过 ftp 来创建文件等操作
guest_username=root

local_root=/home/www

listen=NO
listen_ipv6=YES

#权限验证需要的加密文件
pam_service_name=vsftpd

userlist_enable=YES
user_config_dir=/etc/vsftpd/vusers_conf

#如果不加以下配置,则无法正常读取 ftp 目录信息,以及需要开放下面配置中的端口范围在防火墙中是可通过的
pasv_enable=YES
pasv_min_port=6000
pasv_max_port=7000

 

第二步:在 /etc/vsftpd 目录下创建 vusers 虚拟用户文件,里面的内容为虚拟用户的登陆账号和密码信息,多个账号则直接一行账号,一行密码的写上去

testuser01
123456
testuser02
123456
(必须多一个换行在最后面,否则后面启动服务的时候会出错)

 

第三步:继续创建 vusers_conf 目录,里面的文件对应着虚拟用户的配置信息,文件以虚拟账号的名称为命名,如 testuser01,然后内容为

# 设定根目录
local_root=/home/www

# 设定权限,不拥有和代理系统用于同样的权限
virtual_use_local_privs=YES

# 允许上传文件
write_enable=YES

 

第四步:通过命令行进入到 /etc/vsftpd 目录下,执行以下命令,转换虚拟账号数据库文件,设置安全权限

db_load -T -t hash -f vuser vuser.db

 

第五步:在 /etc/pam.d 目录中,找到 vsftpd 文件,进行认证模块的配置,至此,配置完成

注释以下三条配置
#auth       required	pam_shells.so
#auth       include	password-auth
#account    include	password-auth

新增以下两条配置
auth       required	pam_userdb.so db=/etc/vsftpd/vusers  
account    required     pam_userdb.so db=/etc/vsftpd/vusers

 

启动服务

systemctl enable vsftpd
systemctl start vsftpd

最后,可通过设置的虚拟账号,通过 ftp 客户端进行远程连接