文件服务——Vsftpd
文件传输协议(FTP):
能够让用户在互联网中上传、下载文件的文件协议,FTP服务就是支持FTP传输协议的主机,要想完成文件传输则需要FTP服务端和FTP客户端的配合才行。
通常用户使用FTP客户端软件向FTP服务器发起连接并发送FTP指令,服务器收到用户指令后将执行结果返回客户端。
FTP协议占用两个端口:
21端口: 命令控制,用于接收客户端执行的FTP命令
20端口: 数据传输,用于上传、下载文件数据
FTP数据传输的类型:
主动模式: FTP服务端主动向FTP客户端发起连接请求
被动模式: FTP服务端等待FTP客户端的连接请求
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服务,虚拟用户是最安全的。