介绍:
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 客户端进行远程连接