VSFTP安装部署¶
环境说明¶
操作系统:CentOS Linux release 7.7.1908 (Core)
VSFTP版本: 3.0.2
关闭防火墙、selinux、优化内核等操作略
安装服务¶
yum install vsftpd libdb-utils -y
vsftpd是我们这次实验的主要软件
libdb-utils:是用来做用户加密的
创建用户¶
useradd -M -s /sbin/nologin vsftpd
修改配置文件¶
修改vsftpd.conf¶
vim /etc/vsftpd/vsftpd.conf
修改内容:
anonymous_enable=YES修改为 anonymous_enable=NO
#anon_upload_enable=YES修改为anon_upload_enable=NO
#anon_mkdir_write_enable=YES修改为anon_mkdir_write_enable=NO
#chroot_local_user=YES修改为chroot_local_user=YES
添加配置:
guest_enable=YES
##映射虚拟用户名称
guest_username=vsftpd
virtual_use_local_privs=YES
#虚拟用户配置文件
user_config_dir=/etc/vsftpd/vuser_conf
#allow_writeable_chroot=YES
#开启被动模式
pasv_enable=YES
#被动模式安全检查
pasv_promiscuous=YES
#被动模式开放最小端口
pasv_min_port=14000
#被动模式开放最大端口
pasv_max_port=15000
修改认证文件¶
vim /etc/pam.d/vsftpd
只保留以下信息即可
64位系统
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
32位系统
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vuser
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vuser
创建相关文件及目录¶
创建目录
mkdir -p /etc/vsftpd/vuser_conf
创建用户文件
vim /etc/vsftpd/vuser
增加一个测试用户,格式如下:第一行为用户名,第二行为密码,再增加用户,依次顺延增加即可
test
test123
生成用户存储库
db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/vuser.db
创建用户配置文件
vim /etc/vsftpd/vuser_conf/test
local_root=/data/ftpdir/test
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
allow_writeable_chroot=YES
注意
allow_writeable_chroot=YES ##在2.3.5版本之后如果不写此条,ftp文件夹的所属主必须是root,否则连接的时候会报错
创建FTP文件夹
mkdir -p /data/ftpdir/test
chown -R vsftpd.vsftpd /data/ftpdir/test
启动服务测试¶
systemctl start vsftpd
可以使用FTP图形化工具进行测试例如:FileZilla、xftp之类的
也可以通过命令行进行操作
附录:FTP命令¶
get filename:下载文件
mget *.txt:批量下载文件
put filename:上传文件
mput *.txt:批量上传文件
cd dirname:切换目录
lcd dirname:切换本地目录
ls:显示远程文件列表
delete filename:删除远程文件
#关闭匿名登入
max_clients=10000
max_per_ip=10000
anonymous_enable=NO
anon_other_write_enable=YES
local_enable=YES
#开启日志
xferlog_file=/var/log/xferlog
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
#限制用户家目录
chroot_list_enable=YES
#限制用户家目录的用户
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
#tcp_wrappers=YES
tcp_wrappers=NO
#不查找DNS,提高响应速度
reverse_lookup_enable=NO
pasv_promiscuous=yes