0、修改selinux
重启后生效
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disable
临时生效
setenforce 0
1、安装vsftpd
使用被动模式,浏览器和文件管理器ftp客户端上一般默认都是被动模式,简单说端口在服务器开,客户端来连就好了
yum install vsftpd -y
service vsftpd start
#rpm -ql vsftpd
2、服务端开放端口
21 cmd 端口
30000-30100 被动模式开放端口范围
vim /etc/firewalld/zones/public.xml
<port protocol="tcp" port="21"/>
<port protocol="tcp" port="30000-30010"/>
firewall-cmd --reload
firewall-cmd --list-all-zones
3、虚拟用户
mkdir -p /DATA/FTP/
useradd -d /DATA/FTP/ -s /sbin/nologin ftpvirtual
vim /etc/vsftpd/vusers.list
username
password
user1
pass1
user2
pass2
cd /etc/vsftpd
db_load -T -t hash -f vusers.list vusers.db
file vusers.db
chmod 600 /etc/vsftpd/vusers.*
vim /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
虚拟用户配置
vim /etc/vsftpd/vusers_dir/user1
用户可上传、下载、删除和改名
local_root=/DATA/FTP/user1
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
用户可上传、下载、不能删除、不能重命名
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
local_root=/DATA/FTP/user1
用户仅下载
anon_world_readable_only=NO
local_root=/DATA/FTP/user1
4、配置vsftpd服务
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
xferlog_file=/var/log/vsftpd.log
ftpd_banner=Welcome to FTP service.
idle_session_timeout=600
data_connection_timeout=180
pam_service_name=vsftpd.vu
chroot_local_user=YES
chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list
listen=NO
listen_ipv6=YES
userlist_enable=YES
tcp_wrappers=YES
allow_writeable_chroot=YES
port_enable=NO
pasv_min_port=30000
pasv_max_port=30010
guest_enable=YES
guest_username=ftpvirtual
user_config_dir=/etc/vsftpd/vusers_dir
local_root=/DATA/FTP
systemctl restart vsftpd