vsftpd 配置文件的一些设置

ftp:File Transfer protocol 文件传输协议

  • 两个连接:
    tcp:命令连接
    tcp:数据连接
    主动模式:服务器端通过20端口主动连接客户端,客户端监听在于服务器端的建立连接的端口+1上,服务器工作在tcp/20
    被动模式:客户端使用自己与服务器端建立端口+1上连接客户端的随机端口

防火墙上连接追踪

数据要流失化
文本:文件流
二进制

c/s

  • 用户认证:
    系统用户
    虚拟用户
    匿名用户

数据传输安全
sftp:ssh提供的基于ssh协议的ftp
ftps:基于ssl的ftp

相应码:
1XX:信息码
2XX:成功状态码
3XX: 进一步提示补全信息的状态码
4XX:客户端错误,临时错误
5XX: 服务器端错误,永久性错误

安装vsftpd
/etc/pam.d/vsftpd:认证文件
pam:Plugable Authentication Module 插件式认证模块

  •  nsswith:名称解析框架
    模块化:/lib64/linbnss*,/usr/lib64/libnss*
    配置文件:/etc/nsswitch.com
  •  pam:认证框架
    模块化:/lib64/security/pam*.so
    配置文件:/etc/pam.conf和/etc/pam.d/*

服务脚本:/etc/rc.d/init.d/vsftpd

配置文件:/etc/vsftp/vsftpd.conf
主程序文件:/usr/sbn/vsftpd
数据文件:/var/ftp

 

定个写:
等号前后没有空格
anonymous或ftp

对于ftp访问ftp服务器时应该对其chroot
禁锢用户与其家目录中
chroot_local_user={yes|no} 禁锢用户,默认为no
需要禁锢开启为yes,安全

chroot_list_enable={yes|no}
chroot_list_file=/etc/vsftp/chroot
不禁锢全部用户,将禁锢的用户保存在/etc/vsftp/chroot
每行一个用户
两项不能同时使用

local_enable={yes|no}是否需要本地用户登录
匿名用户的配置
anonymous_enable=YES,启动虚拟用户登录
anon_upload_enable=YES 允许虚拟用户有写权限
anon_other_write_enable=YES 允许虚拟用户有删除权限
anon_mkdir_write_enable=YES 允许虚拟用户创建文件夹权限

注意:启用写入功能时,ftp用户对相应的本地文件系统也有相应的写入权限;
生效的权限取决于文件系统权限和服务权限的交集

实现用户的欢迎信息login banners
ftpd_banner=
banner_file=banner文件
切换目录式的欢迎信息
dirmessage_enable=YES
在目录中创建.messages

vsftp控制登陆系统用户的机制
/etc/vsftpd/ftpusers中的用户不允许使用ftp服务器,这是在/etc/pam.d/vsftpd中定义的

user_list配置文件有两种用法
黑名单:
userlist_enable=YES
uselist_deny=YES
白名单:
userlist_enable=YES
uselist_deny=NO

连接限制
max_clients:最大并发连接数
max_per_ip:每IP可同时发起并发请求

传输速率:
anon_max_rete: 匿名用户的传输速率,单位为“字节/秒”
local_max_rate:本地用户传输速率,单位为“字节/秒”

上传文件的umask:
anno_umask:匿名用户上传文件的umask;
local_umask:
修改匿名用户上传文件的属主和属主
chown_uploads=YES
chown_username=用户名

实现虚拟用户:
所有的虚拟用户会映射成一个系统用户,访问时的文件目录是为此系统用户的家目录

虚拟用户
hash编码的文件:
奇数行为用户名,偶数行为密码
关系型数据库:
pam-mysql实现认证
虚拟用户的权限
user_config_dir=文件夹
在文件夹中创建虚拟用户同名的的文件
在虚拟用户的文件中写入权限

 

 

 

原创文章,作者:nene,如若转载,请注明出处:http://www.178linux.com/88056

(0)
nenenene
上一篇 2017-09-10 10:10
下一篇 2017-09-10 18:47

相关推荐

  • 浅谈Android应用HTTP框架选型

    我们知道,Android应用主要是通过客户端-服务器的方式进行数据交互,一般在APP开发时可能是一个接口对应一个显示模块,这样的设计会让客户端更新时很麻烦。为了解决这个问题,通常的做法是和服务端之间定义协议,设计显示模式,进而达到实时更新UI界面的目的,增加或删除显示模块时不需要让用户手动更新apk,这种方法最常见的就是在做活动或者广告的时候用到。以我们的优…

    2016-06-22
  • Linux的常用的计划任务(一次任务与周期性任务) at & cron

      在Linux日常维护工作中,维护员不可能每时每刻都守在服务前前,但如果遇到例行的操作要进行怎么办?设定计划任务!     Linux任务计划、周期性任务执行     • 未来的某时间点执行一次任务:      &n…

    Linux干货 2016-09-09
  • N21 第八周 总有刁民想害朕

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥将两个相似的网络连接起来,并对网络数据的流通进行管理。它工作于数据链路层,不但能扩展网络的距离或范围,而且可提高网络的性能、可靠性和安全性。 集线器的英文称为“Hub”。主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它…

    Linux干货 2016-09-15
  • N22-第六周作业

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; :%s@[[:space:]]\+@#&@g    2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符; :%s#…

    Linux干货 2016-09-26
  • MySQL主从复制: MHA

                    MySQL主从复制: MHA 前言 MHA的架构 环境部署 实验步骤 总结 前言 上篇文章我们实现了MySQL的主从复制, 但是我们之前就说过, 主从复制是有很多问题的…

    Linux干货 2016-04-28
  • openssl总结及私有CA的搭建

    一、前言 什么是openssl?讲openssl之前我们先了解一下什么是ssl?ssl是secure socket layer的简称,其使用对称加密,非对称加密(公钥加密解密),单向加密解密结合证书实现数据传输安全,openssl默认是在系统安装时就已经安装上去的。随着互联网的迅速发展,网络通信已经成为传递信息的主要途径。而通信时的数据传输大部分都是明文传输…

    Linux干货 2016-01-05