文档章节

vsftpd 流行ftp配置记录说明

枯藤KT
 枯藤KT
发布于 2015/06/09 23:36
字数 790
阅读 135
收藏 10

vsftpd per-IP方式配置: 需要启用vsftpd的tcp_wrappers集成功能,从版本1.1.3开始支持。

编译时修改builddefs.h文件,将#undef VSF_BUILD_TCPWRAPPER改成#define VSF_BUILD_TCPWRAPPERS并重新编译以启用该功能。之后修改vsftpd.conf配置文件:

tcp_wrappers=YES

之后需要一个单独的tcp_wrapper配置文件,并添加如下内容到/etc/hosts.allow文件中,在bsd类的unix系统中,如:

vsftpd: 192.168.1.3: setenv VSFTPD_LOAD_CONF /etc/vsftpd_tcp_wrap.conf

vsftpd: 192.168.1.4: DENY

在linux中,要改成:

vsftpd: 192.168.1.3: export VSFTPD_LOAD_CONF=/etc/vsftpd_tcp_wrap.conf

vsftpd: 192.168.1.4: DENY

第一行: 如果从192.168.1.3连进来的客户端,vsftpd进程会把/etc/vsftpd_tcp_wrap.conf文件作为该连接会话的配置,并且这里的配置选项优先级高于默认的vsftpd配置文件。这个特定非常的强大,可以根据ip地址或一个网段进行指定特定的访问权限控制,或者使一些地址不受max_clients=0的限制,还可以增大或减少一些网段或ip的带宽。

第二行:禁止192.168.1.4的客户端连接。这可以把那些捣乱的客户端拒之门外,并不需要使用xinetd来做。


vsftpd 虚拟用户配置:

  1. 创建一个虚拟用户文件,包含可连接的虚拟用户

  2. 修改vsftpd.conf配置文件,添加虚拟用户相关的配置

  3. 配置pam认证

具体详细过程:

  1. 虚拟用户文件/etc/vsftpd/login.txt,内容示例:

    tom    #username

    foo    #tom's password 

    fred   #username

    bar     # user fred's password

执行db_load -T -t hash -f logins.txt /etc/ftpusers.db 生成用户数据库文件,为了安全: chmod 600 /etc/ftpusers.db

2. vsftpd.conf 配置文件内容:guest_enable,guest_username为必须项,login.txt中的用户,会以guest_username的身份访问ftp服务器。

anonymous_enable=NO

local_enable=YES

write_enable=NO

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

chroot_local_user=YES

guest_enable=YES

guest_username=realuser

listen=YES

listen_port=10021

pasv_min_port=30000

pasv_max_port=30999

3. pam认证配置,一般为/etc/pam.d/vsftpd或/etc/pam.d/ftp,如果配置文件中指定了pam_service_name=vsftpd,则为前者。

auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login

account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

注意:虚拟用户只能访问全局可度的文件和目录

以上为简单的ftp虚拟用户配置,下面是更为复杂的ftp配置方式,假如需用区分虚拟用户,以分别进行权限控制,就需要该方式:

为每个用户指定一个配置文件,假如有tom和fred两个用户,希望tom只能下载不能上传,而fred既可以下载也能上传:

  1. 激活每个用户一个配置文件的功能,在vsftpd.conf文件中添加:

    user_config_dir=/etc/vsftpd_user_conf    #需要创建该目录:mkdir /etc/vsftpd_user_conf

   2.使tom可以读取ftp服务器/下的所有文件

    之前说虚拟用户只能访问全局可读的文件和目录,下面这种方式可以使tom访问到并非全局可读的文件:

    echo "anon_world_readable_only=NO" > /etc/vsftpd_user_conf/tom

这样就可以覆盖全局配置中的anon_world_readable_only选项,通过这种方式,可以为不同的虚拟用户赋予不同的访问权限。

    3.使fred可以上传和下载

    echo "anon_world_readable_only=NO" > /etc/vsftpd_user_conf/fred

    echo "write_enable=YES" >> /etc/vsftpd_user_conf/fred

    echo "anon_upload_enable=YES" >> /etc/vsftpd_user_conf/fred

© 著作权归作者所有

枯藤KT

枯藤KT

粉丝 4
博文 103
码字总数 61202
作品 0
昌平
程序员
私信 提问
secilog 1.19 发布 增加了ftp/sftp审计/报表钻取功能等

日志分析软件 SeciLog 1.19发布,增加了ftp/sftp审计,增加报表钻取功能,对大多数报表都可以进行下一级的钻取,最终到日志搜索中,上篇文章1.18,有兴趣可以了解一下。本次升级主要增加以下...

赛克蓝德
2015/11/23
2K
1
Linux安装及配置vsftpd

vsftpd(Very Secure FTP Daemon)是一款流行的Linux系统FTP服务器程序。下面讲解一下vsftpd的安装、配置及使用。 一、vsftpd的安装 1、使用 yum install vsftpd 安装ftp服务器程序 [root@al...

kolbe
2016/02/28
443
0
CentOS6.9中搭建FTP服务器

1 基本环境 2 ftp工作模式 2.1 ftp通道 ftp工作会启动两个通道: 控制通道,数据通道 在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种模式:port模式(主动模式)和pasv(被动模...

茁壮的小草
2018/07/02
0
0
vsftpd详细配置命令

本文根据RedKing的帖子整理节选而来。原文地址在http://bbs.51cto.com/thread-717151-1.html。 vsftpd作为一个主打安全的FTP服务器,有很多的选项设置。下面介绍了vsftpd的配置文件列表,而所...

Oscarfff
2015/12/06
135
0
vsftpd-Note

FTP在实践中使用的比较多。今天实践一下VSFTPD的部署。 1 centos7 Vsftpd 1.1 安装vsftpd 1.2 配置ftp 1.3 启动/重新启动ftp 1.4 设置开机启动ftp 1.5 建立ftp账户 /www/ftp 为ftp目录 1.6 ...

kenzheng
2016/07/10
12
0

没有更多内容

加载失败,请刷新页面

加载更多

面试题:你简历中写到熟悉Spring源码,那你给我说说它用到了那些设计模式?

Spring作为业界的经典框架,无论是在架构设计方面,还是在代码编写方面,都堪称行内典范。好了,话不多说,开始今天的内容。 spring中常用的设计模式达到九种。 模板方法(Template Method)...

我最喜欢三大框架
13分钟前
0
0
Sentinel Dashboard中修改规则同步到Nacos

上一篇我们介绍了如何通过改造Sentinel Dashboard来实现修改规则之后自动同步到Apollo。下面通过这篇,详细介绍当使用Nacos作为配置中心之后,如何实现Sentinel Dashboard中修改规则同步到N...

程序猿DD
20分钟前
3
0
Jenkins发送测试报告邮件

简介:总结怎么使用Jenkins执行自动化测试后发送测试报告邮件 一、系统设置 1、在Jenkins安装Email Extension Plugin插件,如下图: 2、设置Extended E-mail Notification (1)进入“系统管理”...

shzwork
23分钟前
0
0
状态模式

//相当把一个State对象存到Context对象中,然后通过Context实例化对象调用保存的state对象去调用state的相应的方法 https://blog.csdn.net/syc434432458/article/details/51210361...

南桥北木
34分钟前
3
0
基于 Jenkins + JaCoCo 实现功能测试代码覆盖率统计

本文首发于:Jenkins 中文社区 使用 JaCoCo 统计功能测试代码覆盖率? 对于 JaCoCo,有所了解但又不是很熟悉。 "有所了解"指的是在 CI 实践中已经使用 JaCoCo 对单元测试代码覆盖率统计: 当...

Jenkins中文社区
42分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部