本教程系统环境:CentOS Linux release 7.3.1611 (Core)
使用 yum 安装 vsftpd
yum install -y vsftpd
启动 vsftpd 服务
systemctl start vsftpd
查看21端口已经被监听
netstat -nltp | grep 21
VSFTP 配置
- vsftpd.conf 为主要配置文件
- ftpusers 配置禁止访问 FTP 服务器的用户列表
- user_list 配置用户访问控制
匿名访问和切换根目录都会给服务器带来安全风险,我们把这两个功能关闭。
编辑 /etc/vsftpd/vsftpd.conf,找到下面两处配置并修改:
禁用匿名用户YES改为NO
anonymous_enable=NO
禁止切换根目录,删除#
chroot_local_user=YES
最后一行加上
user_config_dir=/etc/vsftpd/users
编辑完成后保存配置
然后,创建 /etc/vsftpd/users 目录
mkdir /etc/vsftpd/users
新建 /etc/vsftpd/users/ftp 文件,内容如下
local_max_rate=0
allow_writeable_chroot=YES
local_root=/data/ftp
最后,重新启动 FTP 服务
systemctl restart vsftpd
创建一个用户 ftp
useradd ftp
为用户 ftp 设置密码
echo "password" | passwd ftp --stdin
限制用户 ftp 只能通过 FTP 访问服务器,而不能直接登录服务器:
usermod -s /sbin/nologin ftp
创建FTP目录
mkdir -p /data/ftp
授权 ftp目录给 ftp 用户
chown -R ftp.ftp /data/ftp/
完成