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

相关推荐

  • web service之http协议

    一.概述 1.web应用的核心是http协议(HyperText Transfer Protocol),http协议的由两部分组成,客户端程序和服务器端程序,通过交换http报文进行会话。web页面则是由对象(也叫资源)组成的,对象直白的说就是一个个的文件,而这些对象可以通过URL引用,URL由两部分组成,存放对象的主机名和对象的文件路径,而这些对象都存储在…

    Linux干货 2016-11-03
  • 马哥教育网络班20期+第二周课程练习

    linux 中一切皆文件,我们所做的一切都是和文件打交道。   文件分为两部分:元数据和数据           元数据: 即真实数据的属性。可用 stat  命令查看       &nbs…

    Linux干货 2016-06-23
  • Docker 实例

    1、Docker 安装 Nginx 方法一:通过 Dockerfile构建 创建Dockerfile 首先,创建目录nginx,用于存放后面的相关东西。 # mkdir -p nginx/www nginx/logs nginx/conf www目录将映射为nginx容器配置的虚拟目录 logs目录将映射为nginx容器的日志目录 conf目录里的配置文件将…

    2018-01-22
  • 马哥教育21期网络班—第8周课程+练习—-成长进行时–不退步

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥:一种网路装置,负责网路桥接,将网络的多个网段在数据链路层连接起来。 集线器:将多条以太网线或光纤集合连接在同一段物理介质下的装置。工作在物理层。 二层交换机:工作在数据链路层,交换机内部的CPU会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。在今后的通…

    Linux干货 2016-08-24
  • Bash Shell中的for循环和运算表达式应用

    Bash Shell中的for循环和运算表达式应用 1、写一个脚本 实现以下功能: 接受一个以上文件路径作为参数, 显示每个文件拥有的行数,总结说明本次共为几个文件统计了其行数。设定此脚本至少需要一个参数并给出提示,$#表示参数的个数。将脚本提供的所有参数组成一个列表放入for语句依次进行循环执行echo "$i has $(wc -l $i | …

    Linux干货 2016-12-13
  • 软件包管理(rpm,yum,源码安装)

    API:Application Programming Interface  ==>软件开发接口     POSIX :Portable OS 程序源代码 –> 预处理 –> 编译 –> 汇编 –>链接   &n…

    Linux干货 2016-08-24