ftp:文件传输协议(ftp,File Transfer Protocol),能够让用户在互联网中上传、下载文件的文件协议,而FTP服务器就是支持FTP传输协议的主机,要完成文件传输需要FTP服务端和FTP客户端的配合才行。

通常用户使用FTP客户端软件向FTP服务器发起连接并发送FTP指令,服务器收到用户指令后将执行结果返回客户端。

linux服务之ftp

FTP协议占用两个端口号:

21端口:命令控制,用于接收客户端执行的FTP命令。

20端口:数据传输,用户上传、下载文件数据。

FTP传输模式:

主动模式:FTP服务端主动向FTP客户端发起连接请求。

被动模式:FTP服务端等待FTP客户端的连接请求。

 

linux中FTP之vsftpd服务程序:

Vsftp(very secure ftp daemon)是一款运行在类unix操作系统的FTP服务端程序,Vsftp主打的是安全性、完全开源及免费、速率高、虚拟用户。

linux服务之ftp

安装vsftpd

linux服务之ftp

linux服务之ftp

开启防火墙firewalld中vsftpd端口:

1、打开20端口:firewall-cmd --zone=public --add-port=20/tcp --permanent(--permanent表示永久生效,没有此参数重启后失效)

2、打开21端口:firewall-cmd --zone=public --add-port=21/tcp --permanent(--permanent表示永久生效,没有此参数重启后失效)

3、重新加载firewall,修改配置后,必须重新加载才能生效:firewall-cmd --reload

linux服务之ftp

Vsftpd的程序与配置文件

主程序 /usr/sbin/vsftpd
用户禁止登录列表

/etc/vsftpd/ftpusers

/etc/vsftpd/user_list

主配置文件 /etc/vsftpd/vsftpd.conf

 

先来分析下vsftpd程序的主配置文件:

cat /etc/vsftpd/vsftpd.conf

what???!!!打开后乱码

linux服务之ftp

乱码问题太难解决了,先写这里!!!解决了再写

额!

额!

居然过滤了#掉的文件就可以解决乱码了!!!

linux服务之ftp

备份vsftpd的主配置文件:
[[email protected] ~]# mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak

过滤掉所有包含#号的行,并将过滤结果写回到vsftpd.conf文件中:

[[email protected] ~]# grep -v "#" /etc/vsftpd/vsftpd.conf_bak > /etc/vsftpd/vsftpd.conf

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_client=0 最大客户端连接数,0为不限制

max_per_ip

=0

同一IP地址最大连接数,0为不限制
anonymous_enable=yes/no 是否允许匿名用户访问
anon_update_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为不限制

 

 

 

 

 

相关文章: