1.配置好网络ip等网络信息,ping通网关
2.在linux里新建好ftp总文件夹,新建ftp专用的系统用户(不能本地登录),并配置相应权限.
3.安装vsftpd
4.检查安装包位置,版本是否合适
5.创建ftp的虚拟用户文本,使用db_load -T -t hash -f 源 目标 ,file 查看文件类型,记录目标文件位置
6.修改/etc/pam.d/vsftpd的认证配置:
auth required pam_userdb.so 生成的db目标文件路径
account required pam_userdb.so 生成的db目标文件路径
7.新建虚拟用户的自定义文件的文件夹
8.开启selinux的vsftpd相应模块:
setsebool 模块名=1 ;
并赋予ftp总文件夹的权限: chcon -R -t public_content_rw_t 文件夹路径
9.开启防火墙(两种): firewall-cmd --permanent --add-port=21/tcp;9000-10000/tcp;
iptables -A INPUT -d 192.168.2.29/32 -p icmp -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -s 172.20.10.0/24 -d 192.168.2.29/32 -p tcp -m tcp --dport 21 -m state --
state INVALID,NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -s 172.20.10.0/24 -d 172.20.10.0/24 -d 192.168.2.29 -p tcp -m tcp --dport 9000:10000
iptables -m state --state --state INVALID,NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -j ACCEPT
iptables -A INPUT -p tcp -m state --state INVALID,RELATED,ESTABLISHED -j ACCEPT
10.配置vsftpd.conf
{
1.全局配置:
local_enable=yes
write_enable=yes
local_umask=022
listen=yes
pam_service_name=vsftpd
userlist_enable=yes
tcp_wrappers=yes
2.日志配置:
dirmessage_enable=yes
xferlog_enable=yes
connect_from_port_20=no
xferlog_std_format=yes
3.匿名配置:
anon_enable=yes
anon_upload_enable=no
anon_root=/var/ftp/open
anon_mkdir_write_enable=no
anon_other_write_enable=no
anon_world_readable_only=yes
4.虚拟用户配置:
guest_enable=yes
guest_username=zhangftp
virtual_use_local_privs=yes
user_config_dir=/etc/vsftpd/vconf
5.被动模式配置:
pasv_enable=yes
pasv_min_port=9000
pasv_max_port=10000
6.多线程配置:
setproctitle_enable=yes
7.锁定用户根目录
chroot_local_user=yes
allow_writeable_chroot=yes
8.虚拟用户独立配置:
以虚拟用户名新建一个文本文件,
local_root=/ftp
write_enable=yes
}
11.设置开机启动vsftpd: systemctl enable vsftpd; systemctl start vsftpd
12.vsftpd扩展配置: