Linux(Centos7) 实例搭建 FTP 服务

步骤一: 安装vsftpd

完成以下操作,安装vsftpd。

远程连接Linux实例。

运行以下命令安装vsftpd。

yuminstall -y vsftpd

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

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

cd/etc/vsftpdls

说明

/etc/vsftpd/vsftpd.conf是vsftpd的核心配置文件。

/etc/vsftpd/ftpusers是黑名单文件,此文件中的用户不允许访问FTP服务器。

/etc/vsftpd/user_list是白名单文件,此文件中的用户允许访问FTP服务器。

#运行以下命令设置FTP服务开机自启动。systemctlenable vsftpd.service#运行以下命令启动FTP服务。systemctlstart 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用户添加写权限,并重新加载配置文件。

chmodo+w /var/ftp/pub/systemctlrestart vsftpd.service

方法二:配置本地用户登录

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

#运行以下命令为FTP服务创建一个Linux用户。本示例中,该用户名为ftptest。useraddftptest#运行以下命令修改ftptest用户的密码。passwdftptest#运行以下命令创建一个供FTP服务使用的文件目录。mkdir/var/ftp/test#运行以下命令更改/var/ftp/test目录的拥有者为ftptest。chown-R ftptest:ftptest /var/ftp/test

修改vsftpd.conf配置文件。

运行 vim /etc/vsftpd/vsftpd.conf命令打开配置文件。

按 i进入编辑模式。

根据实际需要,配置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=YESlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESlisten=YESpam_service_name=vsftpduserlist_enable=YEStcp_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服务器公网IPpasv_address=#设置被动模式下,建立数据传输可使用port范围的最小值pasv_min_port=port number#设置被动模式下,建立数据传输可使用port范围的最大值pasv_max_port=port number#配置其他参数local_umask=022dirmessage_enable=YESxferlog_enable=YESxferlog_std_format=YEStcp_wrappers=YESallow_writeable_chroot=YESlisten=YESlisten_ipv6=NOpam_service_name=vsftpduserlist_enable=YES

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

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

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

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

按 i进入编辑模式

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

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

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

运行以下命令重启vsftpd服务。

systemctlrestart vsftpd.service

配置文件vsftpd.conf参数说明

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

用户登录控制参数说明如下表所示。

参数说明

anonymous_enable=YES接受匿名用户

no_anon_password=YES匿名用户login时不询问口令

anon_root=(none)接受本地用户

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之间的所有端口。

不出意外的话就去康康成功没有吧!!!!!

你可能感兴趣的:(Linux(Centos7) 实例搭建 FTP 服务)