Linux实例搭建FTP站点

vsftpd是Linux下的一款小巧轻快、安全易用的FTP服务器软件。

具体步骤如下:

  1. 安装vsftpd
  2. 配置vsftpd
  3. 设置安全组
  4.  客户端测试

步骤一: 安装vsftpd

  • 远程连接Linux实例
  • 运行以下命令安装vsftpd。
yum install -y vsftpd

出现如下图所示界面,表示安装成功。

  • 运行以下命令进入/etc/vsftpd目录,并查看该目录下的文件。
cd /etc/vsftpd
ll

说明

  1. /etc/vsftpd/vsftpd.conf是vsftpd的核心配置文件。
  2. /etc/vsftpd/ftpusers是黑名单文件,此文件中的用户不允许访问FTP服务器。
  3. /etc/vsftpd/user_list是白名单文件,此文件中的用户允许访问FTP服务器。
  • 运行以下命令设置FTP服务开机自启动。
systemctl enable vsftpd.service
  • 运行以下命令启动FTP服务。
systemctl start vsftpd.service
  • 运行以下命令查看FTP服务监听的端口。
netstat -antup | grep ftp

vsftpd安装后默认开启了匿名访问FTP服务器的功能。使用匿名访问,您无需输入用户名密码即可登录FTP服务器,但没有权限修改或上传文件。

步骤二: 配置vsftpd

介绍以下两种配置vsftpd的方法,并提供了相关的参数说明,您可以根据具体需要进行参考。

  • 方法一:配置匿名用户上传文件权限

匿名访问FTP服务器是一种不安全的访问模式,任何人无需密码验证就可以登录到FTP服务器,这种模式一般只用来保存不重要的公开文件,不推荐在生产环境中使用。配置匿名用户上传文件的权限的操作步骤如下:

修改配置文件/etc/vsftpd/vsftpd.conf。

  • 运行vim /etc/vsftpd/vsftpd.conf命令打开配置文件。
  • 按i进入编辑模式。
  • 将写权限修改为write_enable=YES
  • 将匿名上传权限修改为anon_upload_enable=YES
  • 按Esc退出编辑模式,然后输入:wq并回车以保存并关闭文件。

修改后的配置文件,如下图所示。

运行以下命令更改/var/ftp/pub目录的权限,为FTP用户添加写权限,并重新加载配置文件。

chmod o+w /var/ftp/pub/
systemctl restart vsftpd.service
  • 方法二:配置本地用户登录

本地用户登录是指用户使用Linux操作系统的账号和密码登录FTP服务器。vsftpd安装后默认只支持匿名访问FTP服务器,如果您试图使用本地用户登录服务器,将会被vsftpd服务拒绝。

配置本地用户访问FTP服务器的操作步骤如下:

  • 运行以下命令为FTP服务创建一个Linux用户。
useradd ftptest
  • 运行以下命令修改ftptest用户的密码。

passwd ftptest
  • 运行以下命令创建一个供FTP服务使用的文件目录。

mkdir /var/ftp/test
  • 运行以下命令更改/var/ftp/test目录的拥有者为ftptest。

chown -R ftptest:ftptest /var/ftp/test
  • 修改vsftpd.conf配置文件。

  1. 运行vim /etc/vsftpd/vsftpd.conf命令打开配置文件。
  2. 按i进入编辑模式。
  3. 根据实际需要,配置FTP服务器为主动模式或被动模式。

主动模式下,客户端向服务端发送数据端口的信息,由服务端主动连接客户端发送的数据端口。配置FTP为主动模式的参数如下:

#禁止匿名登录FTP服务器
anonymous_enable=NO
#允许本地用户登录FTP服务器
local_enable=YES
#设置本地用户登录后所在的目录
local_root=/var/ftp/test
#全部用户被限制在主目录
chroot_local_user=YES
#启用例外用户名单
chroot_list_enable=YES
#指定例外用户列表,这些用户不被锁定在主目录
chroot_list_file=/etc/vsftpd/chroot_list

#配置其他参数
allow_writeable_chroot=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

被动模式下,服务端开启并发送数据端口的信息给客户端,由客户端连接服务端开启的数据端口,服务端被动接受连接。在被动模式下,您需要配置服务端可以开启的数据端口范围。配置FTP为被动模式的参数如下:

#禁止匿名登录FTP服务器
anonymous_enable=NO
#允许本地用户登录FTP服务器
local_enable=YES
#设置本地用户登录后所在目录
local_root=/var/ftp/test
#全部用户被限制在主目录
chroot_local_user=YES
#启用例外用户名单
chroot_list_enable=YES
#指定例外用户列表,这些用户不被锁定在主目录
chroot_list_file=/etc/vsftpd/chroot_list
#开启被动模式
pasv_enable=YES
#FTP服务器公网IP
pasv_address=<FTP服务器公网IP>
#设置被动模式下,建立数据传输可使用port范围的最小值
pasv_min_port=port number
#设置被动模式下,建立数据传输可使用port范围的最大值
pasv_max_port=port number

#配置其他参数
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
xferlog_std_format=YES
tcp_wrappers=YES
allow_writeable_chroot=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES

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

  • 按Esc退出编辑模式,然后输入:wq并回车以保存并关闭文件。

  • 创建chroot_list文件,并在文件中写入例外用户名单。

  • 运行vim /etc/vsftpd/chroot_list命令创建chroot_list文件。

  • 按i进入编辑模式。

  • 输入例外用户名单。此名单中的用户不会被锁定在主目录,可以访问其他目录。

  • 按Esc退出编辑模式,然后输入:wq并回车以保存并关闭文件。

 如果没有例外用户也必须要有chroot_list文件,内容可为空。

  • 运行以下命令重启vsftpd服务。
systemctl restart vsftpd.service

配置文件vsftpd.conf参数说明

运行命令cat /etc/vsftpd/vsftpd.conf可以查看配置文件内容。

  • 用户登录控制参数说明如下表所示。
参数说明
anonymous_enable=YES接受匿名用户
no_anon_password=YES匿名用户login时不询问口令
anon_root=(none)匿名用户主目录
local_enable=YES接受本地用户
local_root=(none)本地用户主目录
  • 用户权限控制参数说明如下表所示。
参数说明
write_enable=YES可以上传(全局控制)
local_umask=022本地用户上传文件的umask
file_open_mode=0666上传文件的权限配合umask使用
anon_upload_enable=NO匿名用户可以上传
anon_mkdir_write_enable=NO匿名用户可以建目录
anon_other_write_enable=NO匿名用户修改删除
chown_username=lightwiter匿名上传文件所属用户名

步骤三: 设置安全组

搭建好FTP站点后,您需要在安全组添加放行下列FTP端口的规则。

  • FTP为主动模式时:端口21。
  • FTP为被动模式时:端口21,以及配置文件/etc/vsftpd/vsftpd.conf中参数pasv_min_port和pasv_max_port之间的所有端口。

步骤四: 客户端测试

您可以通过FTP客户端或浏览器访问FTP服务器进行测试。本教程以windows自带的IE(Internet Explorer)浏览器为例,分别为您介绍FTP服务器配置为主动模式或被动模式时的访问步骤。

  • FTP服务器为主动模式
  1. 打开客户端的IE浏览器。

  2. 将浏览器设置为主动访问模式。选择设置 > Internet 选项 > 高级。选中启用 FTP 文件夹视图,取消勾选使用被动 FTP。

  3. 在地址栏中输入ftp://<FTP服务器IP地址>:FTP端口,例如:ftp://39.10.0.28:21

  4. 在弹出的对话框中,输入用户名和密码,即可对FTP文件进行相应权限的操作。

  • FTP服务器为被动模式
  1. 打开客户端的IE浏览器。
  2. 将浏览器设置为被动访问模式。选择设置 > Internet 选项 > 高级。选中启用FTP文件夹视图和使用被动FTP。

  3. 在地址栏中输入ftp://<FTP服务器IP地址>:FTP端口,例如:ftp://10.10.0.10:21

  4. 在弹出的对话框中,输入用户名和密码,即可对FTP文件进行相应权限的操作。

使用浏览器访问FTP服务器出错时,建议您清除浏览器缓存后再尝试。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值