淘先锋技术网

首页 1 2 3 4 5 6 7

更多知识,请移步我的小破站: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 与服务器环境较相关的设定值
  1. connect_from_port_20=YES (NO)
    主动式联机使用的 FTP 服务器的端口号。

  2. listen_port=21
    vsftpd 使用的命令通道 port,这个设定值仅适合以 stand alone 的方式来启动!(对于 super daemon 无效)。

  3. dirmessage_enable=YES (NO)
    当用户进入某个目录时,会显示该目录需要注意的内容,显示的档案默认是 .message ,可以使用下面的设定项目来修订!

  4. message_file=.message
    当 dirmessage_enable=YES 时,可以设定这个项目来让 vsftpd 寻找该档案来显示讯息!

  5. listen=YES (NO)
    若设定为 YES 表示 vsftpd 是以 standalone 的方式来启动的!预设是 NO !所以 CentOS 将它改为 YES ,这样才能使用 stand alone 的方式来唤醒。

  6. pasv_enable=YES (NO)
    支持数据流的被动式联机模式(passive mode),一定要设定为 YES。

  7. write_enable=YES (NO)
    如果你允许用户上传数据时,就要启动这个设定值。

  8. use_localtime=YES (NO)
    是否使用本地时间?vsftpd 预设使用 GMT 时间(格林威治),所以预设的 FTP 内的档案日期会比台湾晚 8 小时,建议修改设定为 YES 吧!

  9. banner_file=/path/file
    这个项目可以指定某个纯文本档作为使用者登入 vsftpd 服务器时所显示的欢迎字眼。同时,也能够放置一些让使用者知道本 FTP 服务器的目录架构。

3.2 与实体用户较相关的设定值
  1. guest_enable=YES (NO)
    若这个值设定为 YES 时,那么任何实体账号,均会被假设成为 guest 喔 (所以预设是不开放的)! 至于访客在 vsftpd 当中,预设会取得 ftp 这个使用者的相关权限。但可以透过 guest_username 来修改。

  2. guest_username=ftp
    在 guest_enable=YES 时才会生效,指定访客的身份而已。

  3. local_enable=YES (NO)
    这个设定值必须要为 YES 时,在 /etc/passwd 内的账号才能以实体用户的方式登入我们的 vsftpd 服务器。

  4. chroot_local_user=YES (NO)
    在预设的情况下,是否要将使用者限制在自己的家目录之内(chroot)?如果是 YES 代表用户默认就会被 chroot,如果是 NO, 则预设是没有 chroot。不过,实际还是需要底下的两个参数互相参考才行。为了安全性,这里应该要设定成 YES 才好。

  5. chroot_list_enable=YES (NO)
    是否启用 chroot 写入列表的功能?与底下的 chroot_list_flie 有关!这个项目得要开启,否则底下的列表档案会无效。

3.3 匿名者登入的设定值
  1. anonymous_enable=YES (NO)
    设定为允许 anonymous 登入我们的 vsftpd 主机!预设是 YES ,底下的所有相关设定都需要将这个设定为 anonymous_enable=YES 之后才会生效!

  2. anon_world_readable_only=YES (NO)
    仅允许 anonymous 具有下载可读档案的权限,预设是 YES

  3. anon_other_write_enable=YES (NO)
    是否允许 anonymous 具有除了写入之外的权限?包括删除与改写服务器上的档案及档名等权限。预设当然是 NO!如果要设定为 YES,那么开放给 anonymous 写入的目录亦需要调整权限,让 vsftpd 的 PID 拥有者可以写入才行。

  4. anon_mkdir_write_enable=YES (NO)
    是否让 anonymous 具有建立目录的权限?默认值是 NO!如果要设定为 YES, 那么 anony_other_write_enable 必须设定为 YES !

  5. anon_upload_enable=YES (NO)
    是否让 anonymous 具有上传数据的功能,默认是 NO,如果要设定为 YES ,则 anon_other_write_enable=YES 必须设定。

3.4 关于系统安全方面的一些设定值
  1. ascii_download_enable=YES (NO)
    如果设定为 YES ,那么 client 就优先 (预设) 使用 ASCII 格式下载文件。

  2. ascii_upload_enable=YES (NO)
    与上一个设定类似的,只是这个设定针对上传而言!预设是 NO。

  3. tcp_wrappers=YES (NO)
    当然我们都习惯支持 TCP Wrappers 的啦!所以设定为 YES 吧!

  4. one_process_model=YES (NO)
    这个设定项目比较危险一点~当设定为 YES 时,表示每个建立的联机都会拥有一支 process 在负责,可以增加 vsftpd 的效能。不过, 除非你的系统比较安全,而且硬件配备比较高,否则容易耗尽系统资源喔!一般建议设定为 NO 。

  5. 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的详细步骤与说明。