阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7搭建vsftp服务器配置详解

147次阅读
没有评论

共计 4011 个字符,预计需要花费 11 分钟才能阅读完成。

首先网络、防火墙方面的基本要求要满足,比如静态 ip、防火墙是否可以通过 ftp 的流量。

就可以在 CentOS 7 下开始搭建 ftp 服务器了,我们使用 vsftpd 这款 ftp 服务软件。(文中包含匿名访问及用户验证的相关配置,基于虚拟用户的配置见 https://www.linuxidc.com/Linux/2019-03/157279.htm)

—– 安装 vsftpd 并匿名访问:

1、准备好 vsftpd 软件的安装包(系统盘里也有),安装 vsftpd 服务。

CentOS 7 搭建 vsftp 服务器配置详解

安装以后执行 systemctl start vsftpd 启动 vsftpd 就可以匿名访问 ftp 服务器了,虽说匿名,不过也是有相应的系统账号“ftp”。默认匿名用户的 ftp 根目录是/var/ftp/,只有读取的权限,而且本地 /var/ftp/ 目录对 ftp 账号要有相应的权限)如若匿名用户需要更大的权限,可以更改 vsftpd 服务的配置文件

2、打开 vsftpd 服务的配置文件

CentOS 7 搭建 vsftp 服务器配置详解

3、为了方便预览,我把大多数注释的内容都删除了

CentOS 7 搭建 vsftp 服务器配置详解

4、以下为匿名用户权限最大的配置文件信息:

CentOS 7 搭建 vsftp 服务器配置详解

匿名用户常见配置项的含义说明:

  • anonymous_enable=YES:是否允许匿名访问;
  • anon_umask=022:设置匿名用户所上传文件的默认权限掩码值(反掩码);
  • anon_root=/var/ftp:设置匿名用户的 FTP 根目录;
  • anon_upload_enable=YES; 是否允许匿名用户上传文件;
  • anon_mkdir_write_enable=YES:是否允许匿名用户由创建目录的写入权限;
  • anon_other_write_enable=YES:是否允许匿名用户有其他写入权限,如对文件改名、覆盖及删除文件等;

—– 基于用户验证的 FTP 服务:

以下是需要用户验证的 ftp 服务配置文件,配置文件的默认路径为/etc/vsftpd/vsftpd.conf

CentOS 7 搭建 vsftp 服务器配置详解

以上配置文件最终的效果是,每个系统用户都可登录 ftp 服务器,并且权限最大,ftp 的默认根目录为系统用户的宿主目录下。(对于本地系统用户设置权限,直接更改用户宿主目录的权限更方便些)

关于本地用户常见的配置项及含义说明:

  • local_enable=YES:是否允许本地用户访问;
  • local_umask=022:设置本地用户所上传文件的默认权限掩码值(反掩码);
  • local_root=/var/ftp:设置本地用户的 FTP 根目录(默认为用户的宿主目录);
  • chroot_local_user=YES:是否将 FTP 本地用户禁锢在宿主目录中;
  • allow_writeable_chroot=YES:允许被限制用户的主目录具有写权限;
  • local_max_rate=0:限制本地用户的最大传输速率(0 为无限制),单位为字节 / 秒(B/s)

在 /etc/vsftpd/ 目录下还有两个配置文件 ftpusersuserlist

CentOS 7 搭建 vsftp 服务器配置详解

  • ftpusers 文件:此文件中列出的用户将禁止登录 vsftpd 服务器。默认包含 root、bin、daemon 等用于系统运行的特殊用户;
  • user_list 文件:此文件中包含的用户可能被禁止,可能被允许,具体取决于主配置文件 vsftpd.conf 中的设置,当存在“userlist——enable=YES”时,user_list 列表文件方可生效,若继续指定“userlist_deny=YES”,则功能与 ftpusers 文件一样,表示禁止此列表中的用户登录;若指定“userlist_deny=NO”, 则仅允许列表中的用户登录。

                                              ----- 关于 ftp 所有配置项的详细解释
    
    ----- 关于匿名用户:
  • anonymous_enable=YES:是否允许匿名访问;
  • anon_umask=022:设置匿名用户所上传文件的默认权限掩码值(反掩码);
  • anon_root=/var/ftp:设置匿名用户的 FTP 根目录;
  • anon_upload_enable=YES; 是否允许匿名用户上传文件;
  • anon_mkdir_write_enable=YES:是否允许匿名用户由创建目录的写入权限;
  • anon_other_write_enable=YES:是否允许匿名用户有其他写入权限,如对文件改名、覆盖及删除文件等;

—– 关于本地用户:

  • local_enable=YES:是否允许本地用户访问;
  • local_umask=022:设置本地用户所上传文件的默认权限掩码值(反掩码);
  • local_root=/var/ftp:设置本地用户的 FTP 根目录(默认为用户的宿主目录);
  • chroot_local_user=YES:是否将 FTP 本地用户禁锢在宿主目录中;
  • allow_writeable_chroot=YES:允许被限制用户的主目录具有写权限;
  • local_max_rate=0:限制本地用户的最大传输速率(0 为无限制),单位为字节 / 秒(B/s)

—– 关于全局配置:

  • listen=NO:是否以独立运行的方式监听服务;
  • listen_address=0.0.0.0:设置监听 f t p 服务的 ip 地址;
  • listen_port=21:设置监听 ftp 服务的端口号;
  • write_enable=YES:启用任何形式的写入权限,(如上传、删除文件等)都需要开启此项;
  • download_enable=YES:是否允许下载文件(建立仅限于浏览、上传的 FTP 服务器时,可将此项设置为“NO”);
  • dirmessage_enable=YES:用户切换进入目录时显示“.message”文件(如果已存在)的内容;
  • xferlog_enable=YES:启用 xferlog 日志,默认记录到 /var/log/xferlog;
  • xferlog_std_format=YES:启用标准的 xferlog 日志格式,若禁用此项,将使用 vsftpd 自己的日志格式;
  • connect_from_port_20=YES:允许服务器主动模式(从 20 端口建立数据连接);
  • pasv_enable=NO:禁止被动模式连接;默认允许被动模式连接;
  • pasv_max_port=24600:设置用于被动模式的服务器最大端口号;
  • pasv_min_port=24500:设置用于被动模式的服务器最大端口号;
  • pam_service_name=vsftpd.vu:设置用于用户认证的 PAM 文件位置(/etc/pam.d/ 目录中对应的文件名);
  • userlist_enable=YES:是否启用 userl_ist 用户列表文件;
  • userlist_deny=YES:是否禁用 user_list 列表文件中的用户账号;
  • max_clients=0:最多允许多少个客户端同时连接(0 为无限制);
  • max_per_ip=0:对来自同一个 ip 地址的客户端,最多允许多少个并发连接(0 为无限制);
  • tcp_wrappers=YES:是否启用 tcp_wrappers 主机访问控制;

—– 关于虚拟用户的配置项:

  • guest_username=test:指定映射的系统用户名称;
  • guest_enable=YES:是否启用虚拟用户;
  • allow_writeable_chroot= 允许被限制用户的主目录具有写权限(此项必须写入,否则可能会报错)
  • anon_world_readable_only=NO:允许用户下载目录内容
  • anon_other_write_enable=YES:允许匿名用户有其他写入权限,如重命名、覆盖及删除文件等;
  • user_config_dir=/etc/vsftpd/vusers_dir:指定虚拟用户独立的配置文件目录;

更多 Vsftpd 相关教程见以下内容

Linux CentOS 6.5 下搭建 vsftpd ftp 服务器  https://www.linuxidc.com/Linux/2016-07/133319.htm
CentOS 安装 vsftpd-3.0.2 及安全配置  https://www.linuxidc.com/Linux/2016-12/138040.htm
openSUSE 13.2/13.1 下安装配置 FTP 服务器 vsftpd  https://www.linuxidc.com/Linux/2014-12/110070.htm
CentOS7 基于虚拟用户的 vsftpd  https://www.linuxidc.com/Linux/2016-11/137150.htm
Ubuntu 14.04 配置 vsftpd 实现 FTP 服务器 – 通过 FTP 连接 AWS  https://www.linuxidc.com/Linux/2016-08/133933.htm
FTP 协议详解与 vsftpd 在 Linux 上的安装配置 https://www.linuxidc.com/Linux/2016-09/134831.htm
CentOS 6.7 安装 vsftpd 服务器  https://www.linuxidc.com/Linux/2017-04/142612.htm
CentOS 7.3 安装配置 Vsftpd 文件服务器  https://www.linuxidc.com/Linux/2017-06/144886.htm
Vsftpd3.0–FTP 服务器搭建之本地用户篇  https://www.linuxidc.com/Linux/2017-04/142699.htm
CentOS7 基于虚拟用户的 vsftpd  https://www.linuxidc.com/Linux/2016-11/137150.htm
如何在 Ubuntu 18.04 LTS 上安装带有 TLS 的 VsFTPD 服务器  https://www.linuxidc.com/Linux/2018-10/154930.htm
Ubuntu 16.04 下 vsftpd 安装配置实例  https://www.linuxidc.com/Linux/2017-06/144807.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4011字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中