欧阳简之 > Linux下搭建FTP服务

热爱代码,对每一行代码保持一颗敬畏之心。

本教程系统环境: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/

完成

tagged by linux ftp