文件服务——Vsftpd
文件传输协议(FTP):html
可以让用户在互联网中上传、下载文件的文件协议,FTP服务就是支持FTP传输协议的主机,要想完成文件传输则须要FTP服务端和FTP客户端的配合才行。linux
一般用户使用FTP客户端软件向FTP服务器发起链接并发送FTP指令,服务器收到用户指令后将执行结果返回客户端。安全
FTP协议占用两个端口:服务器
21端口: 命令控制,用于接收客户端执行的FTP命令并发
20端口: 数据传输,用于上传、下载文件数据app
FTP数据传输的类型:tcp
主动模式: FTP服务端主动向FTP客户端发起链接请求post
被动模式: FTP服务端等待FTP客户端的链接请求url
Vsftpd:是一款运行在类Unix操做系统的FTP服务端程序。操作系统
Vsftpd的程序与配置文件:
主程序 /usr/sbin/vsftpd
用户禁止登陆列表 /etc/vsftpd/ftpusers
/etc/vsftpd/user_list
主配置文件 /etc/vsftpd/vsftpd.conf
Vsftpd程序主配置文件:
cat /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YESpam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
Vsftpd配置文件参数做用:
listen=[YES|NO]
是否以独立运行的方式监听服务。listen_address=IP地址
设置要监听的IP地址。listen_port=21
设置FTP服务的监听端口。download_enable=[YES|NO]
是否容许下载文件。userlist_enable=[YES|NO]
userlist_deny=[YES|NO]
是否启用“禁止登录用户名单”。max_clients=0
最大客户端链接数,0为不限制。max_per_ip=0
同一IP地址最大链接数,0位不限制。anonymous_enable=[YES|NO]
是否容许匿名用户访问。anon_upload_enable=[YES|NO]
是否容许匿名用户上传文件。anon_umask=022
匿名用户上传文件的umask值。anon_root=/var/ftp
匿名用户的FTP根目录。anon_mkdir_write_enable=[YES|NO]
是否容许匿名用户建立目录。anon_other_write_enable=[YES|NO]
是否开放匿名用户其余写入权限。anon_max_rate=0
匿名用户最大传输速率(字节),0为不限制。local_enable=[YES|NO]
是否容许本地用户登录FTP。local_umask=022
本地用户上传文件的umask值。local_root=/var/ftp
本地用户的FTP根目录。chroot_local_user=[YES|NO]
是否将用户权限禁锢在FTP目录,更加的安全。local_max_rate=0
本地用户最大传输速率(字节),0为不限制。
Vsftpd的验证方式:
Vsftpd提供的ftp服务可选认证方式:匿名访问、本地用户和虚拟用户。
匿名访问: 任何人无需验证口令便可登陆FTP服务端。
本地用户: 使用FTP服务器中的用户、密码信息。
虚拟用户: 建立独立的FTP账号资料。
匿名访问通常用于存放公开的数据,本地用户与虚拟用户须要提供账号及口令才能登入FTP服务,虚拟用户是最安全的。