RedHat学习笔记37--文件传输协议

本系列博客是笔者在学习刘遄的《Linux就该这样学》的笔记,个人觉得这是一本很好的书,很值得我们去学习。因为笔者是自学,可能有些问题了解的层面没有那么深,各位大牛在看到笔者写的内容有错漏,望指出并给出建议,感激不尽!



  1. 文件传输协议简介
    FTP是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用20、21端口;
    20端口(数据端口):用于进行数据传输;
    21端口(命令端口):用于接收客户端发出的相关FTP命令与参数;

    FTP服务:按照FTP协议在互联网上提供文件存储和访问服务的主机;
    FTP客户端:向服务器发送连接请求,建立数据传输链路的主机。

    FTP工作模式:
    a.主动模式:FTP服务器主动向客户端发起连接请求;
    b.被动模式:FTP服务器等待客户端发起连接请求;

    RedHat学习笔记37--文件传输协议
  2. 非常安全FTP守护进程(very secure ftp daemon,vsftpd)安装
# 配置Yum软件仓库

# 1.创建挂载点
mkdir -p /media/cdrom

# 2.进行挂载
mount /dev/cdrom /media/cdrom

# 3.编辑配置文件
vim /etc/yum.repos.d/rhel7.repo

# 文件内容:
[rhel7]
name=rhel7
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0

# 4.安装vsftpd服务
yum install vsftpd

# 5.清空iptables防火墙默认策略,并保存当前已经被清理的防火墙策略状态
iptables -F
service iptables save

# 6.vsftpd服务程序主配置文件(/etc/vsftpd/vsftpd.conf)
# 过滤、反选出没有包含#号的参数行,将过滤后的参数行通过输出重定向符号写回原始文件
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
grep -v "#" /etc/vsftpd/vsftpd.conf_bak > /etc/vsftpd/vsftpd.conf

RedHat学习笔记37--文件传输协议
RedHat学习笔记37--文件传输协议
RedHat学习笔记37--文件传输协议

  1. 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为不限制
上一篇:Shiro安全框架简介


下一篇:Apache Shiro实现用户登录功能