简介

vsftpd(very secure FTP daemon)是 UNIX 操作系统中的一个开源的、免费的 FTP 服务软件。它具有以下特点:

  • 安全性高,轻小易用
  • 支持系统用户、匿名用户和虚拟用户的权限验证和相关操作,但无论哪种用户,最终都会映射为一个对应的 系统用户
  • 用户认证是基于 PAM 实现的

安装

yum 安装 vsftpd,并开启程序

# 安装
[root@instance-36dg06w0 ~]# yum install vsftpd
# 开启
[root@instance-36dg06w0 ~]# systemctl start vsftpd

配置详解

vsftpd 的配置文件在为 vsftpd.conf,一般在 /etc/vsftpd/ 目录下。

属性 属性值 含义
anonymous_enable YES/NO 是否允许匿名用户(anonymous)登录 FTP,如果该设置被注释,则默认允许
local_enable YES/NO 是否允许本地系统用户登录
write_enable YES/NO 是否开启任何形式的 FTP 写入命令,上传文件
local_umask xxx 本地用户的 umask 设置,如果注释该设置则默认为 077,但一般都设置成 022
anon_upload_enable YES/NO 是否允许匿名用户上传文件,如果要设置为允许,则需要先开启 write_enable,否则无效,此外对应目录还要具有写权限
anon_mkdir_write_enable YES/NO 是否允许匿名用户创建新目录
dirmessage_enable YES/NO 当进入某个目录时,发送信息提示给远程用户
xferlog_enable YES/NO 是否开启 上传/下载 的日志记录
connect_from_port_20 YES/NO 是否使用 20 端口来连接 FTP
chown_uploads YES/NO 匿名上传的文件是否由某一指定用户 chown_username 所有
chown_username 有效用户名 匿名上传的文件由该设定用户所有
xferlog_file 有效路径 设置日志文件的保存位置,默认为 /var/log/xferlog
xferlog_std_format YES/NO 是否使用标准的 ftpd xferlog日志格式,该格式日志默认保存在 /var/log/xferlog
idle_session_timeout 数值 设置空闲连接的超时时间,单位 秒
data_connection_timeout 数值 设置等待数据传输的最大时间,单位 秒(data_connection_timeoutidle_session_timeout 在同一时间只有一个有效)
nopriv_user 有效用户名 指定一个非特权用户,用于运行 vsftpd
async_abor_enable YES/NO 是否支持异步 ABOR 请求
ascii_upload_enable YES/NO 是否开启 ASCII 模式进行文件上传,一般不开启
ascii_download_enable YES/NO 是否开启 ASCII 模式进行文件下载,一般不开启
ftpd_banner 自定义登录标语
deny_email_enable YES/NO 如果匿名登录,则会要求输入 email 地址,如果不希望一些 email 地址具有登录权限,则可以开启此项,并在 banned_email_file 指定的文件中写入对应的 email 地址
banned_email_file 有效文件 当开启 deny_email_enable 时,需要通过此项指定一个保存登录无效 email 的文件
chroot_local_user YES/NO 是否将所有用户限制在主目录,当为 NO 时, FTP 用户可以切换到其他目录
chroot_list_enable YES/NO 是否启用限制用户的名单列表
chroot_list_file 有效文件 用户列表,其作用与 chroot_local_userchroot_local_user 的组合有关,详见下表
allow_writeable_chroot YES/NO 是否允许用户对 ftp 根目录具有写权限,如果设置成不允许而目录实际上却具备写权限,则会报错
ls_recurse_enable YES/NO 是否允许 ls -R 指令来递归查询,递归查询比较耗资源
listen YES/NO 如果为 YESvsftpd 将以独立模式运行并监听 IPv4 的套接字,处理相关连接请求(该指令不能与 listen_ipv6 一起使用)
listen_ipv6 YES/NO 是否允许监听 IPv6 套接字
pam_service_name 设置 PAM 外挂模块提供的认证服务所使用的配置文件名 ,即 /etc/pam.d/vsftpd 文件,此文件中 file=/etc/vsftpd/ftpusers 字段,说明了 PAM 模块能抵挡的帐号内容来自文件 /etc/vsftpd/ftpusers
userlist_enable YES/NO 是否启用 user_list 文件来控制用户登录
userlist_deny YES/NO 是否拒绝 user_list 中的用户登录,此属性设置需在 userlist_enable = YES 时才有效
tcp_wrappers YES/NO 是否使用 tcp_wrappers 作为主机访问控制方式
max_clients 数值 同一时间允许的最大连接数
max_per_ip 数值 同一个IP客户端连接的最大值
local_root 有效目录 系统用户登录后的根目录
anon_root 有效目录 匿名用户登录后的根目录
user_config_dir 有效目录 用户单独配置文件存放目录,该目录下用户的文件名就是对应用户名

chroot_local_userchroot_local_user 组合功能如下:

chroot_local_user=YES chroot_local_user=NO
chroot_list_enable=YES 1.所有用户都被限制在其主目录下
2.使用 chroot_list_file 指定的用户列表 /etc/vsftpd/chroot_list,这些用户作为“例外”,不受限制
1.所有用户都不被限制其主目录下
2.使用 chroot_list_file 指定的用户列表 /etc/vsftpd/chroot_list,这些用户作为“例外”,受到限制
chroot_list_enable=NO 1.所有用户都被限制在其主目录下
2.不使用 chroot_list_file 指定的用户列表 /etc/vsftpd/chroot_list,没有任何“例外”用户
1.所有用户都不被限制其主目录下
2.不使用 chroot_list_file 指定的用户列表 /etc/vsftpd/chroot_list,没有任何“例外”用户

为每个系统用户配置各自的 ftp 根目录

/etc/vsftpd/vsftpd.conf 文件末尾添加如下指令:

# 系统用户登录后的根目录
local_root=/var/test/
# 匿名用户登录后的根目录
anon_root=/var/test/
# 设置用户独立配置文件保存目录
user_config_dir=/etc/vsftpd/userconfig/

此外,还要将 chroot_local_user 设置为 YES,使 FTP 用户登录后直接被锁定在自己的根目录上。
通过以上设定,系统用户和匿名用户都会将 /var/test/ 当做根目录,并且登录后直接被锁定在该目录。
但是以上的设置是针对所有系统用户和匿名用户的,如果想要给每个 FTP 用户指定根目录,我们可以给每个用户创建一个对应的配置文件。具体操作如下:

  • 根据 user_config_dir 的设置,我们先在 /etc/vsftpd/ 目录下创建一个名为 userconfig 的目录
  • 假设想要给用户 aaa 单独指定一个 FTP 根目录 /var/test/1,我们需要进入 userconfig 目录,在该目录下创建一个名为 aaa 的配置文件,编辑文件 aaa,配置内容如下:
local_root=/var/test1/

vsftpd安装与配置相关推荐

  1. VSFTPD 安装与配置

    VSFTPD 安装与配置 1. 安装 # yum install vsftpd 2. 修改配置 # vi /etc/vsftpd/vsftpd.conf ####################### ...

  2. vsftpd安装以及配置FTP虚拟用户实践

    前言正如vsftpd官方宣传中所说Probably the most secure and fastest FTP server for UNIX-like systems.我相信这是大多数人选择vs ...

  3. vsftpd安装和配置

    安装: yum -y install vsftpd 修改配置文件: 配置文件地址:/etc/vsftpd/vsftpd.conf 1.关闭匿名用户登录 anonymous_enable=NO 2.允许 ...

  4. vsftpd安装配置

    为什么80%的码农都做不了架构师?>>>    vsftpd安装配置 一.安装,使用yum命令安装 # yum install vsftpd 二. 全局配置 #vi /etc/vsf ...

  5. linux 设置ftp自启,CentOS vsftpd设置安装自启动配置

    CentOS vsftpd是常用系统,于是我学习研究了CentOS vsftpd,在这里对大家详细介绍下CentOS vsftpd系统应用,希望对大家有用.本地用户经过设置后可以进行ftp访问. 而匿 ...

  6. Ubuntu 14.04 FTP服务器--vsftpd的安装和配置

    http://jingyan.baidu.com/article/67508eb4d6c4fd9ccb1ce470.html Ubuntu 14.04 FTP服务器--vsftpd的安装和配置 我们经 ...

  7. cetos 中vsftpd从安装到配置完全教程

    1 安装并启动服务 [root@edwin.org]#rpm –qa | grep vsftpd :查看是否安装vsftpd服务 [root@edwin.org]#yum install vsftpd ...

  8. redhat linux 安装ftp服务,RedHat Linux 9.0为例介绍一下如何安装和配置vsftpd服务器

    本文以RedHat Linux 9.0为例介绍一下如何安装和配置vsftpd服务器. 安装服务器程序 程序下载地址:,目前最新版本为2.0.3,源程序文件名为vsftpd-2.0.3.tar.gz. ...

  9. linux安装ftp后账号密码设置,CentOS 建立ftp账号(vsftpd运用安装与配置疑问 )

    CentOS vsftpd运用仍旧比较常用的,于是我研究了一下CentOS vsftpd运用要领,在这里拿出来和大众共享一下,期盼对大众有用.这里简介CentOS下的CentOS vsftpd运用. ...

  10. linux 银河麒麟V10 VSFTPD服务端安装、配置的图文教程

    前言:本篇文章,集互联网好友的成果.本菜鸟实践摸索的结果,整理综合而得.本人在CSDN.百度.B站等各大网站进行了有限的搜索,都没有看到完全适配的答案. 如果你也是国产电脑的受"益" ...

最新文章

  1. 必看,经典sql面试题(学生表_课程表_成绩表_教师表)
  2. 嵌入式Linux基础学习笔记-文件IO编程-文件锁(2)
  3. WINCE的BIB文件解析
  4. Java中的新生代、老年代和永久代
  5. 零基础转行如何准备一场软件测试面试
  6. Java项目导出为jar包+导出第三方jar包+使用命令行调用+传参
  7. BOOST库介绍(二)——BOOST多线程相关库
  8. B站【千锋】Linux云计算基础视频教程_650集完全入门 课堂笔记
  9. 1111,你的能量够买包卫生巾吗?
  10. MySQL启动报错: Failed to start LSB start and stop MySQL
  11. 针对s3c2440芯片制作交叉编译工具链
  12. [数据科学] 通过基因表达监测进行肿瘤预测
  13. SpringCloud升级之路2020.0.x版-42.SpringCloudGateway 现有的可供分析的请求日志以及缺陷
  14. css 默认显示滚动条,css控制默认滚动条样式
  15. mac 安装selenium 教程
  16. r语言中which的使用_大数据分析R语言RStudio使用教程
  17. 木秀于林,风必摧之;行高于人,众必毁之?
  18. python中pip的使用 安装 升级 卸载包
  19. VM虚拟机局域网组网配置
  20. (平衡)kd树的创建与搜索

热门文章

  1. 【Linux私房菜】第四期——管理
  2. java计算机毕业设计小区宠物管理系统源码+系统+数据库+lw文档
  3. android 动态壁纸 例子,调用android动态壁纸的实例介绍
  4. ubuntu命令 图片 壁纸_用Linux命令来当壁纸
  5. 西门子PLC多个CPU之间通讯简介
  6. jq 遍历map集合
  7. kuangbin字典树
  8. 使用Arduino和水流传感器进行流速和流量测量
  9. SAP系统-WMS Paywall 接口代码-立哥开发
  10. EndNoteX9 使用笔记