1. yum安装vsftpd。

sudo yum install -y vsftpd

2. 设置FTP服务开机自启动。

sudo systemctl enable vsftpd.service

3. 启动FTP服务

sudo systemctl start vsftpd.service

4.  设置FTP服务器的访问模式(本地用户模式)

4.1. 为FTP服务创建一个Linux用户

sudo adduser ftpuser

4.2. 修改ftpuser用户的密码

sudo passwd ftpuser

4.3.  创建一个供FTP服务使用的文件目录。

sudo mkdir -p /var/ftp/test

4.4.  更改/var/ftp/test目录的拥有者为ftpuser。

sudo chown -R ftpuser:ftpuser /var/ftp

 4.5. 修改配置文件/etc/vsftpd/vsftpd.conf (或者 /etc/vsftpd.conf), 配置FTP服务器为被动模式

sudo vim /etc/vsftpd/vsftpd.conf

#禁止匿名登录FTP服务器。

anonymous_enable=NO

#允许本地用户登录FTP服务器。

local_enable=YES

#监听IPv4 sockets。

listen=YES

#关闭监听IPv6 sockets

#listen_ipv6=YES

#设置本地用户登录后所在目录。

local_root=/var/ftp/test

#全部用户被限制在主目录。

chroot_local_user=YES

#启用例外用户名单。

chroot_list_enable=YES

#指定例外用户列表文件,列表中用户不被锁定在主目录。

chroot_list_file=/etc/vsftpd/chroot_list

#开启被动模式。

pasv_enable=YES

allow_writeable_chroot=YES

#本示例中为轻量应用服务器的公网IP地址。

pasv_address=39.105.xx.xx

#pasv_addr_resolve=YES

#设置被动模式下,建立数据传输可使用的端口范围的最小值。

#建议您把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。

pasv_min_port=50000

#设置被动模式下,建立数据传输可使用的端口范围的最大值。

pasv_max_port=50010

4.6.  创建chroot_list文件,并在文件中写入例外用户名单, 譬如:ftpuser, root。输入例外用户名单。此名单中的用户不会被锁定在主目录,可以访问其他目录

sudo vim /etc/vsftpd/chroot_list

重要

没有例外用户时,也必须创建chroot_list文件,内容可为空。

4.7. 关闭防火墙

sudo systemctl stop firewalld

4.8.  重启FTP服务

sudo systemctl restart vsftpd.service

 5. 开启linux服务器的防火墙。(可以在阿里云控制台,配置防火墙入站规则)

被动模式需开放21端口,以及配置文件/etc/vsftpd/vsftpd.conf中参数pasv_min_port和pasv_max_port之间的所有端口。配置详情如下表所示。

应用类型 协议 端口范围 FTP TCP 21 自定义 TCP pasv_min_port/pasv_max_port。例如:50000/50010

 6. 使用winscp或者filezilla使用21端口连接ftp服务器,验证是否ftp服务器配置成功。

7. 配置文件示例见附件。

8. 如果需要配置 root 用户允许连接ftp,可能需要额外做下面操作:

8.1 将 root 添加到 /etc/vsftpd/chroot_list 里面

8.2 注释 /etc/vsftpd/ftpusers 里面的root用户

8.3 如果userlist_deny=YES (default),那么还需要注释掉/etc/vsftpd/user_list里面的root用户。

好文推荐

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。