更多知识,请移步我的小破站:http://hellofriend.top
1. 查看是否安装vsftp
rpm –qa|grep vsftpd
2. 安装vsftp
yum -y install vsftpd
3. 配置vsftpd服务
vim /etc/vsftpd/vsftpd.conf
按 i 键进入编辑模式
vsftpd.conf 常用设定值的说明
3.1 与服务器环境较相关的设定值
-
connect_from_port_20=YES (NO)
主动式联机使用的 FTP 服务器的端口号。 -
listen_port=21
vsftpd 使用的命令通道 port,这个设定值仅适合以 stand alone 的方式来启动!(对于 super daemon 无效)。 -
dirmessage_enable=YES (NO)
当用户进入某个目录时,会显示该目录需要注意的内容,显示的档案默认是 .message ,可以使用下面的设定项目来修订! -
message_file=.message
当 dirmessage_enable=YES 时,可以设定这个项目来让 vsftpd 寻找该档案来显示讯息! -
listen=YES (NO)
若设定为 YES 表示 vsftpd 是以 standalone 的方式来启动的!预设是 NO !所以 CentOS 将它改为 YES ,这样才能使用 stand alone 的方式来唤醒。 -
pasv_enable=YES (NO)
支持数据流的被动式联机模式(passive mode),一定要设定为 YES。 -
write_enable=YES (NO)
如果你允许用户上传数据时,就要启动这个设定值。 -
use_localtime=YES (NO)
是否使用本地时间?vsftpd 预设使用 GMT 时间(格林威治),所以预设的 FTP 内的档案日期会比台湾晚 8 小时,建议修改设定为 YES 吧! -
banner_file=/path/file
这个项目可以指定某个纯文本档作为使用者登入 vsftpd 服务器时所显示的欢迎字眼。同时,也能够放置一些让使用者知道本 FTP 服务器的目录架构。
3.2 与实体用户较相关的设定值
-
guest_enable=YES (NO)
若这个值设定为 YES 时,那么任何实体账号,均会被假设成为 guest 喔 (所以预设是不开放的)! 至于访客在 vsftpd 当中,预设会取得 ftp 这个使用者的相关权限。但可以透过 guest_username 来修改。 -
guest_username=ftp
在 guest_enable=YES 时才会生效,指定访客的身份而已。 -
local_enable=YES (NO)
这个设定值必须要为 YES 时,在 /etc/passwd 内的账号才能以实体用户的方式登入我们的 vsftpd 服务器。 -
chroot_local_user=YES (NO)
在预设的情况下,是否要将使用者限制在自己的家目录之内(chroot)?如果是 YES 代表用户默认就会被 chroot,如果是 NO, 则预设是没有 chroot。不过,实际还是需要底下的两个参数互相参考才行。为了安全性,这里应该要设定成 YES 才好。 -
chroot_list_enable=YES (NO)
是否启用 chroot 写入列表的功能?与底下的 chroot_list_flie 有关!这个项目得要开启,否则底下的列表档案会无效。
3.3 匿名者登入的设定值
-
anonymous_enable=YES (NO)
设定为允许 anonymous 登入我们的 vsftpd 主机!预设是 YES ,底下的所有相关设定都需要将这个设定为 anonymous_enable=YES 之后才会生效! -
anon_world_readable_only=YES (NO)
仅允许 anonymous 具有下载可读档案的权限,预设是 YES -
anon_other_write_enable=YES (NO)
是否允许 anonymous 具有除了写入之外的权限?包括删除与改写服务器上的档案及档名等权限。预设当然是 NO!如果要设定为 YES,那么开放给 anonymous 写入的目录亦需要调整权限,让 vsftpd 的 PID 拥有者可以写入才行。 -
anon_mkdir_write_enable=YES (NO)
是否让 anonymous 具有建立目录的权限?默认值是 NO!如果要设定为 YES, 那么 anony_other_write_enable 必须设定为 YES ! -
anon_upload_enable=YES (NO)
是否让 anonymous 具有上传数据的功能,默认是 NO,如果要设定为 YES ,则 anon_other_write_enable=YES 必须设定。
3.4 关于系统安全方面的一些设定值
-
ascii_download_enable=YES (NO)
如果设定为 YES ,那么 client 就优先 (预设) 使用 ASCII 格式下载文件。 -
ascii_upload_enable=YES (NO)
与上一个设定类似的,只是这个设定针对上传而言!预设是 NO。 -
tcp_wrappers=YES (NO)
当然我们都习惯支持 TCP Wrappers 的啦!所以设定为 YES 吧! -
one_process_model=YES (NO)
这个设定项目比较危险一点~当设定为 YES 时,表示每个建立的联机都会拥有一支 process 在负责,可以增加 vsftpd 的效能。不过, 除非你的系统比较安全,而且硬件配备比较高,否则容易耗尽系统资源喔!一般建议设定为 NO 。 -
nopriv_user=nobody
我们的 vsftpd 预设以 nobody 作为此一服务执行者的权限。因为 nobody 的权限相当的低,因此即使被入侵,入侵者仅能取得 nobody 的权限。
4. 添加用户
4.1 运行以下命令为FTP服务创建一个Linux用户。本示例中,该用户名为ftptest。
useradd ftptest
4.2 运行以下命令修改ftptest 用户的密码。
passwd ftptest
4.3 创建一个供FTP服务使用的文件目录。
mkdir /var/ftp/test
4.4 更改/var/ftp/test目录的拥有者为ftptest。
chown -R ftptest:ftptest /var/ftp/test
5. 设置安全组
搭建好 FTP 站点后,需要在实例安全组的入方向添加放行下列 FTP 端口的规则,步骤如下:
5.1 在阿里云实力列表页面找到自己的ECS服务器,点击实例ID/名称
5.2 选择 本实例安全组 、 配置规则
5.3 添加安全组规则
5.4 添加端口21和授权对象,其中0.0.0.0/0 代表允许或拒绝所有IP的访问
以上即为阿里云ECS服务器Linux CentOS7安装与配置vsftpd的详细步骤与说明。