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

Linux中vsftpd配置文件详解

433次阅读
没有评论

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

vsftpd 配置文件采用“#”作为注释符,以“#”开头的行和空白行在解析时将被忽略,其余的行被视为配置命令行,每个配置命令的“=”两边不要留有空格。对于每个配置命令,在配置文件中还列出了相关的配置说明,利用 vi 编辑器可实现对配置文件的编辑修改。方法如下:

#vi /etc/vsftpd/vsftpd.conf

1.登录和对匿名用户的设置

write_enable=YES              // 是否对登录用户开启写权限。属全局性设置。默认 NO
local_enable=YES              // 是否允许本地用户登录 FTP 服务器。默认为 NO
anonymous_enable=YES          // 设置是否允许匿名用户登录 FTP 服务器。默认为 YES
ftp_username=ftp                // 定义匿名用户的账户名称,默认值为 ftp。
no_anon_password=YES            // 匿名用户登录时是否询问口令。设置为 YES,则不询问。默 
认 NO
anon_world_readable_only=YES  // 匿名用户是否允许下载可阅读的文档,默认为 YES。
  anon_upload_enable=YES      // 是否允许匿名用户上传文件。只有在 write_enable 设置为
YES 时,该配置项才有效。而且匿名用户对相应的目录必须有写权限。默认为 NO。
anon_mkdir_write_enable=YES // 是否允许匿名用户创建目录。只有在 write_enable 设置为    YES 时有效。且匿名用户对上层目录有写入的权限。默认为 NO。
anon_other_write_enable=NO    // 若设置为 YES,则匿名用户会被允许拥有多于
上传和建立目录的权限,还会拥有删除和更名权限。默认值为 NO。

2.设置欢迎信息

用户登录 FTP 服务器成功后,服务器可向登录用户输出预设置的欢迎信息。
ftpd_banner=Welcome to my FTP server. 
// 该配置项用于设置比较简短的欢迎信息。若欢迎信息较多,则可使用 banner_file 配置项。
banner_file=/etc/vsftpd/banner     
// 设置用户登录时,将要显示输出的文件。该设置项将覆盖 ftpd_banner 的设置。
dirmessage_enable=YES         
// 设置是否显示目录消息。若设置为 YES,则当用户进入特定目录(比如 /var/ftp/linux)时,将显示该目录中的由 message_file 配置项指定的文件(.message)中的内容。
message_file=.message          // 设置目录消息文件。可将显示信息存入该文件。该文件需要放在 相应的目录(比如 /var/ftp/linux)下

3.设置用户登录后所在的目录 
local_root=/var/ftp             
// 设置本地用户登录后所在的目录。默认配置文件中没有设置该项,此时用户登录 FTP 服务器后,所在的目录为该用户的主目录,对于 root 用户,则为 /root 目录。
anon_root=/var/ftp           
// 设置匿名用户登录后所在的目录。若未指定,则默认为 /var/ftp 目录。

4.控制用户是否允许切换到上级目录 
      在默认配置下,用户可以使用“cd..”命名切换到上级目录。比如,若用户登录后所在的目录为 /var/ftp,则在“ftp>”命令行 下,执行“cd..”命令后,用户将切换到其上级目录 /var,若继续执行该命令,则可进入 Linux 系统的根目录,从而可以对整个 Linux 的文件系统 进行操作。

若设置了 write_enable=YES,则用户还可对根目录下的文件进行改写操作,会给系统带来极大的安全隐患,因此,必须防止用户切换到 Linux 的根目录,相关的配置项如下:
chroot_list_enable=YES                   
// 设置是否启用 chroot_list_file 配置项指定的用户列表文件。设置为 YES 则除了列在 j /etc/vsftpd/chroot_list 文件中的的帐号外,所有登录的用户都可以进入 ftp 根目录之外的目录。默认 NO
chroot_list_file=/etc/vsftpd/chroot_list         
// 用于指定用户列表文件,该文件用于控制哪些用户可以切换到 FTP 站点根目录的上级目录。
chroot_local_user=YES                   
// 用于指定用户列表文件中的用户,是否允许切换到上级目录。默认 NO
注意:要对本地用户查看效果,需先设置 local_root=/var/ftp

具体情况有以下几种:
1)当 chroot_list_enable=YES,chroot_local_user=YES 时,在 /etc/vsftpd/chroot_list 文件中列出的用户,可以切换到上级目录;未在文件中列出的用户,不能切换到站点根目录的上级目录。
2)当 chroot_list_enable=YES,chroot_local_user=NO 时,在 /etc/vsftpd/chroot_list 文件中列出的用户,不能切换到站点根目录的上级目录;未在文件中列出的用户,可以切换到上级目录。
3)当 chroot_list_enable=NO,chroot_local_user=YES 时,所有用户均不能切换到上级目录。
4)当 chroot_list_enable=NO,chroot_local_user=NO 时,所有用户均可以切换到上级目录。
5)当用户不允许切换到上级目录时,登录后 FTP 站点的根目录“/”是该 FTP 账户的主目录,即文件的系统的 /var/ftp 目录。

5.设置访问控制  
(1)设置允许或不允许访问的主机(见 TBP14)
tcp_wrappers=YES 用来设置 vsftpd 服务器是否与 tcp wrapper 相结合,进行主机的访问控制。默认设置为 YES,vsftpd 服务器会检查 /etc/hosts.allow 和 /etc /hosts.deny 中的设置,以决定请求连接的主机是否允许访问该 FTP 服务器。这两个文件可以起到简易的防火墙功能。
比如,若要仅允许 192.168.168.1~192.168.168.254 的用户,可以访问连接 vsftpd 服务器,则可在 /etc/hosts.allow 文件中添加以下内容:
vsftpd:192.168.168.0/255.255.255.0:allow
all:all:deny

(2)设置允许或不允许访问的用户
对用户的访问控制由 /etc/vsftpd/user_list 和 /etc/vsftpd/ftpusers 文件来控制实现。相关配置命令如下:
userlist_enable=YES     
// 决定 /etc/vsftpd/user_list 文件是否启用生效。YES 则生效,NO 不生效。
userlist_deny=YES       
// 决定 /etc/vsftpd/user_list 文件中的用户是允许访问还是不允许访问。若设置为 YES,则 /etc/vsftpd/user_list 文件中的用户将不允许访问 FTP 服务器;若设置为 NO,则只有 vsftpd.user_list 文件中的用户,才能访问 FTP 服务器。

6.设置访问速度 
anon_max_rate=0       
// 设置匿名用户所能使用的最大传输速度,单位为 b /s。若设置为 0,则不受速度限制,此为默认值。
local_max_rate=0       
// 设置本地用户所能使用的最大传输速度。默认为 0,不受限制。

7.定义用户配置文件  
在 vsftpd 服务器中,不同用户还可使用不同的配置,这要通过用户配置文件来实现。
user_config_dir=/etc/vsftpd/userconf // 用于设置用户配置文件所在的目录。
设置了该配置项后,当用户登录 FTP 服务器时,系统就会到 /etc/vsftpd/userconf 目录下读取与当前用户名相同的文件,并根据文件中的配 置命令,对当前用户进行更进一步的配置。比如,利用用户配置文件,可实现对不同用户进行访问的速度进行控制,在各用户配置文件中,定义 local_max_rate 配置,以决定该用户允许的访问速度。

8.与连接相关的设置 
listen=YES       
// 设置 vsftpd 服务器是否以 standalone 模式运行。以 standalone 模式运行是一种较好的方式,此时 listen 必须设置为 YES,此为默认值,建议不要更改。很多与服务器运行相关的配置命令,需要此运行模式才有效。若设置为 NO,则 vsftpd 不是以独立的服务运行,要受 xinetd 服务的管理控制,功能上会受限制。

max_clients=0
// 设置 vsftpd 允许的最大连接数,默认为 0,表示不受限制。若设置为 150 时,则同时允许有 150 个连接,超出的将拒绝建立连接。只有在以 standalone 模式运行时才有效。

max_per_ip=0
// 设置每个 IP 地址允许与 FTP 服务器同时建立连接的数目。默认为 0,不受限制。通常可对此配置进行设置,防止同一个用户建立太多的连接。只有在以 standalone 模式运行时才有效。

listen_address=IP 地址       
// 设置在指定的 IP 地址上侦听用户的 FTP 请求。若不设置,则对服务器所绑定的所有 IP 地址进行侦听。只有在以 standalone 模式运行时才有效。对于只绑定了一个 IP 地址的服务器,不需要配置该项,默认情况下,配置文件中没有该配置项。若服务器同时绑定了多个 IP 地址,则应通过该配置项,指定在哪 个 IP 地址上提供 FTP 服务,即指定 FTP 服务器所使用的 IP 地址。
注意:设置此值前后,可以通过 netstat -tnl 对比端口的监听情况

accept_timeout=60           
// 设置建立被动(PASV)数据连接的超时时间,单位为秒,默认值为 60。
connect_timeout=60   
// PORT 方式下建立数据连接的超时时间,单位为秒。
data_connection_timeout=300   
// 设置建立 FTP 数据连接的超时时间,默认为 300 秒。

idle_session_timeout=600     
// 设置多长时间不对 FTP 服务器进行任何操作,则断开该 FTP 连接,单位为秒,默认为 600 秒。即设置发呆的逾时时间,在这个时间内,若没有数据传送或指令的输入,则会强行断开连接。
pam_service_name=vsftpd     
// 设置在 PAM 所使用的名称,默认值为 vsftpd。

setproctitle_enable=NO|YES   
// 设置每个与 FTP 服务器的连接,是否以不同的进程表现出来,默认值为 NO,此时只有一个名为 vsftpd 的进程。若设置为 YES,则每个连接都会有一个 vsftpd 进程,使用“ps -ef|grep ftp”命令可查看到详细的 FTP 连接信息。安全起见,建议关闭。

9.FTP 工作方式与端口设置  
(1)FTP 工作方式简介
      FTP 的工作方式有两种,一种是 PORT FTP,另一种是 PASV FTP。下面介绍其工作方式。
二者的区别在于 PORT FTP 的数据传输端口是由 FTP 服务器指定的,而 PASV FTP 则是由 FTP 客户端指定的,而且每次数据连接所使用的端口号都不同。正因为如此,所以在 CuteFTP 等 FTP 客户端软件中,其连接类型设置项中有 PORT 和 PASV 两种选择。

      当 FTP 服务器设置为 PASV 工作模式时,客户端也必须设置为 PASV 连接类型。若客户端连接类型设置为 PORT,则能建立 FTP 连接,但在执行 ls 或 get 等需要数据请求的命令时,将会出现无响应并最终报告无法建立数据连接。

(2)与端口相关的配置
listen_port=21               
// 设置 FTP 服务器建立连接所侦听的端口,默认值为 21。
连接非标准端口示例:ftp www.linuxidc.com 7000
connect_from_port_20=YES   
// 默认值为 YES,指定 FTP 数据传输连接使用 20 端口。若设置为 NO,则进行数据连接时,所使用的端口由 ftp_data_port 指定。

ftp_data_port=20           
// 设置 PORT 方式下 FTP 数据连接所使用的端口,默认值为 20。
pasv_enable=YES|NO       
// 若设置为 YES,则使用 PASV 工作模式;若设置为 NO,使用 PORT 模式。默认为 YES,即使用 PASV 模式。
pasv_max_port=0           
// 设置在 PASV 工作方式下,数据连接可以使用的端口范围的上界。默认值为 0,表示任意端口。
pasv_mim_port=0           
// 设置在 PASV 工作方式下,数据连接可以使用的端口范围的下界。默认值为 0,表示任意端口。

10.设置传输模式 
FTP 在传输数据时,可使用二进制(Binary)方式,也可使用 ASCII 模式来上传或下载数据。
ascii_download_enable=YES // 设置是否启用 ASCII 模式下载数据。默认为 NO。
ascii_upload_enable=YES    // 设置是否启用 ASCII 模式上传数据。默认为 NO。

11.设置上传文档的所属关系和权限 
(1)设置匿名上传文档的属主
chown_uploads=YES           
// 用于设置是否改变匿名用户上传的文档的属主。默认为 NO。若设置为 YES,则匿名用户上传的文档的属主将被设置为 chown_username 配置项所设置的用户名。
chown_username=whoever     
// 设置匿名用户上传的文档的属主名。只有 chown_uploads=YES 时才有效。建议不要设置为 root 用户。但系统默 root

(2)新增文档的权限设定
local_umask=022           
// 设置本地用户新增文档的 umask,默认为 022,对应的权限为 755。umask 为 022,对应的二进制数为 000 010 010,将其取反为 111 101 101,转换成十进制数,即为权限值 755,代表文档的所有者(属主)有读写执行权,所属组有读和执行权,其他用户有读和执行权。022 适合于大多数情 况,一般不需要更改。若设置为 077,则对应的权限为 700。
anon_umask=022              // 设置匿名用户新增文档的 umask。默认 077
file_open_mode=0755          // 设置上传文档的权限。权限采用数字格式。默认 0666

12.日志文件 
xferlog_enable=YES            // 是否启用上传 / 下载日志记录。默认为 NO
xferlog_file=var/log/vsftpd.log // 设置日志文件名及路径。需启用 xferlog_enable 选项
xferlog_std_format=YES          // 日志文件是否使用标准的 xferlog 日志文件格式(与 wu-ftpd 使用的格式相同)。默认为 NO

13.其他设置 
text_userdb_names=NO       
// 设置在执行 ls 命令时,是显示 UID、GID 还是显示出具体的用户名或组名称。默认为 NO,以 UID 和 GID 方式显示,若希望显示用户名和组名称,则设置为 YES。
ls_recurse_enable=YES       
// 若设置为 YES,则允许执行“ls –R”这个命令,默认值为 NO。在配置文件中该配置项被注释掉了,与此类似的还有一些配置,需要启用时,将注释符去掉并进行 YES 或 NO 的设置即可

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

Linux CentOS 6.5 下搭建 vsftpd ftp 服务器  http://www.linuxidc.com/Linux/2016-07/133319.htm

CentOS 安装 vsftpd-3.0.2 及安全配置  http://www.linuxidc.com/Linux/2016-12/138040.htm

openSUSE 13.2/13.1 下安装配置 FTP 服务器 vsftpd  http://www.linuxidc.com/Linux/2014-12/110070.htm

CentOS7 基于虚拟用户的 vsftpd  http://www.linuxidc.com/Linux/2016-11/137150.htm

Ubuntu 14.04 配置 vsftpd 实现 FTP 服务器 – 通过 FTP 连接 AWS  http://www.linuxidc.com/Linux/2016-08/133933.htm

FTP 协议详解与 vsftpd 在 Linux 上的安装配置 http://www.linuxidc.com/Linux/2016-09/134831.htm

CentOS 6.7 安装 vsftpd 服务器  http://www.linuxidc.com/Linux/2017-04/142612.htm

CentOS 7.3 安装配置 Vsftpd 文件服务器  http://www.linuxidc.com/Linux/2017-06/144886.htm

Vsftpd3.0–FTP 服务器搭建之本地用户篇  http://www.linuxidc.com/Linux/2017-04/142699.htm

CentOS7 基于虚拟用户的 vsftpd  http://www.linuxidc.com/Linux/2016-11/137150.htm

Ubuntu 16.04 下 vsftpd 安装配置实例  http://www.linuxidc.com/Linux/2017-06/144807.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-07/145346.htm

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

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7992885
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用 AI 做了一个 1978 年至 2019 年中国大陆企业注册的查询网站 最近星哥在 GitHub 上偶然...
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛 NAS-4:飞牛 NAS 安装 istore 旁路由,家庭网络升级的最佳实践 开始 大家好我是...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...