vsftp :very security file transfer protocol


ftp 功能

将使用者划分等级 user guest anonymous

命令记录和登录记录

限制使用者活动范围


两种工作模式

主动模式: client 向server 发送连接请求(默认21),服务器接受连接,建立控制通道,需要数据传输时,客户端在控制通道用PORT 命令告诉服务器:“我打开了xx端口,你过来连我”,服务器从20端口向客户端xx端口发送连接请求,建立数据传输通道

被动模式:client 向server发送连接请求(默认21),服务器接受连接,建立控制通道,需要数据传输时,服务器在控制通道用PASV命令告诉客户端:“我打开了xx端口,你过来连我”,客户端从yy端口向服务器xx端口发送连接请求,建立数据传输通道。


替代方案

ssh 提供的sftp 备用方案#sftp 192.168.18.251


相关文件

/etc/vsftpd/vsftpd.conf 主配置文件 参数=设定值

/etc/pam.d/vsftpd       验证文件

/etc/vsftpd/ftpusers    访问控制文件

/etc/vsftpd/user_list   是否生效取决于主配置文件中的两个参数userlist_enable userlist_deny

/etc/vsftpd/chroot_list 需要手动建立将使用者限制在家目录 若要生效需chroot_list_enadble chroot_list_file

/etc/sbin/vsftpd        启动文件

/var/ftp/               匿名用户登录时的根目录


与服务器环境相关的设置

connet_from_port_20=YES/NO 控制服务器是否使用20端口进行数据传输

listen_port=21             命令通道的端口

dirmessage_enable=YES/NO   用户进入某个目录时,需要显示的该目录要注意的内容

message_file=message

listen=YES/NO               定义vsftp是否以独立的方式启动

pasv_enable=YES/NO          定义被动模式

use_localtime=YES/NO        定义本地时间

write_enalbe=YES/NO         定义上传

connect_timeout=60          主动模式数据传输连接超时时间

accept_timeout=60           PASV模式数据传输连接超时时间

data_connection_timeout=300 数据传输的超时时间

idle_session_timeout=30     空闲等待超时时间

max_clients=0               定义连线数

max_per_ip=0                定义同一ip的连接数

pasv_min_port=2046,pasv_max_port=2056 定义被动模式数据传输的最小端口和最大端口

ftpd_banner=fdafdafafafaf    定义登录时显示的说明

banner_file=/path/file       定义欢迎信息


跟真实用户的相关设置


跟真实用户的相关设置


guest_enable=YES/NO定义将真实帐号登录后映射成指定的用户名

guest_username=ftp指定访客身份

local_enable=YES/NO是否允许本地用户登录

local_max_rate=0定义真实用户的传输速度 byte/s

chroot_local_user=YES/NO是否将真实的活动范围限制在家目录

chroot_list_enable=YES/NO是否启用chroot列表功能

chroot_list_file=/etc/vsftpd/chroot_list指定用户列表文件

userlist_enable=YES/NO是否启用用户列表功能

userlist_deny=YES/NO设置用户是否可以登录YES:不能登录   NO:可以登录

userlist_file=/PATH/FILE指定存放用户名的文件


匿名用户相关设置

anonymous_enable=YES/NO是否允许匿名用户登录

anon_world_readable_only=YES/NO是否允许匿名用户下载

anon_other_write_enable=YES/NO是否允许匿名用户具有写以外的权限

anon_mkdir_write_enable=YES/NO匿名用户是否可以建立目录

anon_upload_enable=YES/NO是否允许上传

deny_email_enable=YES/NO是否通过邮件拒绝

banned_email_file=/path/file定义存放邮件内容的文件

no_anon_password=YES/NO匿名用户登录是否需要密码

anon_max_rate=0匿名用户传输速率

anon_umask=077匿名用户上传文件的权限


安全相关


ascii_download_enable=YES/NO下载时使用ASCII模式进行数据传输

ascii_upload_enable=YES/NO上传

one_process_model=YES/NO是否为每一个连接开启一个独立的进程,此模式消耗资源高,安全性差,性能好

tcp_wrappers=YES/NO是否支持tcp wrappers

xferlog_enable=YES/NO是否记录使用者上传下载信息

xferlog_file=/var/log/xferlog定义记录文件位置

dual_log_enable=YES,vsftpd_log_file=/var/log/vsftpd.log

nopriv_user=nobody定义启动者的身份

pam_service_name=vsftpd定义pam验证模块的名称



启动方式

vim /etc/vsftpd/vsftpd.conf

listen=NO



1   使用本地时间

           use_localtime=YES

2   用户登录时显示欢迎信息

           ftp_banner=... 定义登录时显示的说明

           banner_file=/path/file 定义欢迎信息        

3   系统帐号 uid<500 不能登录


4  真实用户可以上传,下载,建立目录,修改文件

          write_enable=YES

5  用户建立的文件和目录权限分别为775 664

          local_unmask=002


6  其它默认值