介绍

团队内部需要文件共享服务器,由于需要同时支持 Windows 与 macOS,可供选择的有

  • samba 兼容性不好,长期使用一段时间后出现有部分电脑无法连接到服务器
  • ftp 非常稳定,但是 macOS 需要单独的 FTP 客户端才能支持大小为 4GiB 以上文件的传输
  • 专用客户端,如各种私有部署网盘的客户端

综合评定认为 ftp 是最佳方案,长期使用非常稳定、无须安装客户端。

环境

  • CentOS 7.6 1810
  • vsftpd 3.0.2

步骤

安装

1
yum -y install vsftpd

配置

1
vi /etc/vsftpd/vsftpd.conf

配置为以下内容:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
listen=YES
listen_port=21
local_enable=NO
write_enable=YES

anonymous_enable=YES
anon_root=/home/ftp
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=022

系统组件

1
2
3
4
5
6
7
8
# 关闭 selinux
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
setenforce 0

# 关闭 firewalld
systemctl stop firewalld
systemctl disable firewalld
systemctl mask --now firewalld

How to Stop and Disable Firewalld on CentOS 7 | Linuxize

这里可以根据需要是否关闭防火墙,如果开启的话需要按照以下方式添加主动模式与被动模式访问规则:Enable Passive Mode in FTP on CentOS 7 / RHEL 7 for FileZilla and WinSCP

目录权限

1
2
3
4
5
mkdir /home/ftp
cd /home/ftp
find . -type d -print0 | xargs -0 chmod 777
# 恢复根目录权限
chmod 755 .

运行

1
2
systemctl enable vsftpd
systemctl start vsftpd

域名

即使是内网地址,也依然强烈建议使用域名访问服务器。 如:ftp.company.com

测试

Windows

资源管理器地址栏中输入 ftp://ftp.company.com

Mac

Finder | Go | Connect to Server 输入 ftp://ftp.company.com

参考资料