FTP概述:
File Transfer Protocol文件传输协议,FTP服务中分为服务器和客户机两个角色。
FTP服务器的传输模式:
主动模式:由服务器主动连接客户机建立数据链路
被动模式:FTP服务器等待客户机建立数据链路
VSFTP端口号:
命令通道端口:21
数据通道端口:20
VSFTP支持的账户:
匿名账户
本地账户(linux系统上有哪些本地账户)
虚拟账户
VSFTP的配置文件:
/etc/vsftpd/vsftpd.conf # 主配置文件
/etc/vsftpd/ftpusers # 黑名单
/etc/vsftpd/user_list # 白/黑名单(缺省黑名单)
注释:/var/ftp/默认共享出来的目录,权限不能更改。
VSFTP的工作原理:
FTP服务的具体工作过程如下。
① 当FTP客户端发出请求时,系统将动态分配一个端口(如1032)。
② 若FTP服务器在端口21侦听到该请求,则在FTP客户端的端口1032和FTP服务器的端口21之
间建立起一个FTP会话连接。
③ 当需要传输数据时,FTP客户端再动态打开一个连接到FTP服务器的端口20的第2个端口
(如1033),这样就可在这两个端口之间进行数据的传输。当数据传输完毕后,这两个端口
会自动关闭。
④ 当FTP客户端断开与FTP服务器的连接时,客户端上动态分配的端口将自动释放掉。
VSFTP常见配置及含义说明。
匿名 | anonymous_enable=YES | 启用匿名访问 |
anon_umask=022 | 匿名用户所上传文件的权限掩码 | |
anon_root=/var/ftp | 匿名用户的FTP根目录 | |
anon_upload_enable=YES | 允许上传文件 | |
anon_mkdir_write_enable=YES | 允许创建目录 | |
anon_other_write_enable=YES | 开放其他写入权 | |
anon_max_rate=0 | 限制最大传输速率,单位为字节 | |
本地用户 | local_enable=YES | 是否启用本地系统用户 |
local_umask=022 | 本地用户所上传文件的权限掩码 | |
local_root=/var/ftp | 设置本地用户的FTP根目录 | |
chroot_local_user=YES | 是否将用户禁锢在主目录 | |
local_max_rate=0 | 限制最大传输速率(字节/秒) | |
全局配置 | listen=YES | 是否以独立运行的方式监听服务 |
listen_address=192.168.4.1 | 设置监听的IP地址 | |
listen_port=21 | 设置监听FTP服务的端口号 | |
write_enable=YES | 是否启用写入权限 | |
download_enable=YES | 是否允许下载文件 | |
dirmessage_enable=YES | 用户切换进入目录时示.message文件(如果存在)的内容 | |
xferlog_enable=YES | 启用xferlog日志,默认记录到/var/log/xferlog文件 | |
xferlog_std_format=YES | 启用标准的xferlog日志格式,若禁用此项,将使用vsftpd自己的日志格式 | |
connect_from_port_20=YES | 允许服务器主动模式(从20端口建立数据连接) | |
pasv_enable=YES | 允许被动模式连接 | |
pasv_max_port=24600 | 设置用于被动模式的服务器最大端口号 | |
pasv_min_port=24500 | 设置用于被动模式的服务器最小端口号 | |
pam_service_name=vsftpd | 设置用于用户认证的PAM文件位置(/etc/pam.d/目录中对应的文件名) | |
userlist_enable=YES | 是否启用user_list用户列表文件 | |
userlist_deny=YES | 是否禁止user_list列表文件中的用户帐号 | |
max_clients=0 | 最多允许多少个客户端同时连接(0为无限制) | |
max_per_ip=0 | 对来自相同IP地址的客户端,最多允许多少个并发连接(0为无限制)。 | |
tcp_wrappers=YES | 是否启用TCP_Wrappers主机访问控制(TCP Wrappers的应用将在后续课程中讲解) |
VSFTP的启动和关闭以及加入开机启动:
启动:
[root@localhost ~]# service vsftpd restart
关闭:
[root@localhost ~]# service vsftpd stop
开机启动:
[root@localhost ~]# chkconfig dhcpd on