10 分钟搭好 FTP:装包、添用户、拷脚本、开防火墙,本地验证登录。
1. 安装 vsftpd sudo yum -y install vsftpd
2. 建系统用户 sudo adduser blazehu sudo passwd blazehu
3. 目录准备 sudo mkdir -p /data/client sudo chown -R blazehu:blazehu /data/client sudo chmod 755 /data/client
4. 配置 vsftpd sudo mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak sudo tee /etc/vsftpd/vsftpd.conf >/dev/null <<'EOF' anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES xferlog_std_format=YES connect_from_port_20=YES listen=YES pam_service_name=vsftpd userlist_enable=YES userlist_deny=NO tcp_wrappers=YES local_root=/data/client chroot_local_user=YES allow_writeable_chroot=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list pasv_enable=YES pasv_min_port=20000 pasv_max_port=20010 EOF
5. 白名单 & 空例外文件 echo blazehu > /etc/vsftpd/user_listsudo touch /etc/vsftpd/chroot_list
6. 防火墙 sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --permanent --add-port=20000-20010/tcp sudo firewall-cmd --reload
7. 重载 sudo systemctl restart vsftpd systemctl status vsftpd
8. 验证 [blazehu@centos7 ~]$ ftp 127.0.0.1 Connected to 127.0.0.1 (127.0.0.1). 220 (vsFTPd 3.0.2) Name (127.0.0.1:blazehu): blazehu 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files.
9.匿名下载 后续如果希望开启匿名下载需要添加以下配置:
anonymous_enable=YES no_anon_password=YES anon_world_readable_only=NO anon_root=/data/client anon_upload_enable=NO anon_mkdir_write_enable=NO
更新名单:
echo ftp >> /etc/vsftpd/user_listecho ftp >> /etc/vsftpd/chroot_listecho anonymous >> /etc/vsftpd/user_listecho anonymous >> /etc/vsftpd/chroot_list