文件服务——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=YES

pam_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服务,虚拟用户是最安全的。