目录
一、FTP协议
1.介绍
2.用处
3.FTP原理
4.FTP工作模式
(1)主动模式
(2)被动模式
5.FTP实现
(1)wuftpd
(2)proftpd
(3)vsftpd
二、FTP服务的安装与配置
1.安装vsftpd软件包
2.安装FTP协议
3.重启FTP服务
4.防火墙规则
三、搭建匿名用户的FTP服务器
1.匿名用户
2.本地用户
3.虚拟用户模式
4.查看相关配置文件
5.和匿名用户有关的配置
6.配置实例
四、本地用户的FTP服务
1.添加账户
2.修改配置文件
(1)禁止匿名用户登录
(2)允许本地用户登录
(3)设置本地用户根目录
(4)本地用户权限是否限制
(5)激活chroot功能,锁定用户
(6)认证设置
3.重启服务
五、FTP服务器搭建实训
1.实训目的
2.项目背景
3.操作
(1)设置匿名帐号具有上传、创建目录权限
(2)设置禁止本地user1用户登录ftp服务器。
(3)设置本地用户user2登录FTP服务器之后,在进入dir目录时显示提示信息“welcome to user's dir!
(4)设置将所有本地用户都锁定在家目录中
(5)设置只有指定本地用户user1和user2可以访问FTP服务器
(6)配置基于主机的访问控制
(7)使用PAM实现基于虚拟用户的FTP服务器的配置。
一、FTP协议
1.介绍
FTP(文件传输协议)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输,客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。
FTP在文件传输的一个重要特定是支持断点续传
文章来源地址https://www.toymoban.com/news/detail-494668.html
2.用处
进行web服务器的数据更新
经常需要共享软件或文件资料等信息
需要在不同的OS之间传输数据
文件尺寸较大,无法通过邮箱等工具传递的时候
3.FTP原理
一个完整的FTP文件传输需要要建立两种类型的连接
一种是控制连接21应用层端口识别,用于在服务器与客户端之间传输控制信息,如用户标识、口令、传输与操作,另一种是数据连接20,用于实际传输文件数据
4.FTP工作模式
主要解决防火墙对于数据阻塞的问题,在C-S,C端一般处于内网,处于防火墙隔离区域
(1)主动模式
S端主动向C端发送数据,不符合规则,可能会被拒绝,一般情况下不用。
(2)被动模式
C端主动向S端发送21邀请,S端向C端以随机端口来发送数据,是最常用的
5.FTP实现
(1)wuftpd
历史最悠久的非商业FTP服务器之一,安全性较差,但是稳定性好
(2)proftpd
易配置,速度快,源代码干净,安全性较高,但是不够稳定
(3)vsftpd
安全,告诉,稳定(集群),配置简单
二、FTP服务的安装与配置
1.安装vsftpd软件包
使用yum命令安装vsftpd
yum install -y vsftpd
在ftp-server节点虚拟机中配置本地yum仓库,yum源中使用的centos7系统镜像源
mkdir /iso
mount /dev/cdrom(sr0) /iso
vi /etc/yum.repos.d/local.repo
[local]
name = local
baseur = life:///iso
gpgcheck = 1
enable = 1
yum clean all
yum repolist
2.安装FTP协议
yum install -y ftp
3.重启FTP服务
systemctl restart vsftpd
systemctl enable vsftpd
4.防火墙规则
firewall-cmd --permanet --add-service=ftp
firewall-cmd --reload
firewall-cmd --list-add
三、搭建匿名用户的FTP服务器
权限设置问题——那些用户有访问ftp资源的权限
1.匿名用户
登录FTP服务器不需要任何口令和密码,一般只能下载资源,不能上传
FTP服务器上的资源主目录/var/ftp,匿名账账号为anonymous或FTP,密码为空或者FTP,账号和密码共用,对用户来讲不用设置
2.本地用户
需要本地的账号和密码认证,可以上传资源也可以下载资源,一旦密码被攻破,资源可以畅通无阻的使用
3.虚拟用户模式
认证用户和密码使用的专门FTP数据库映射临时性账号,可以上传可以下载,生产环境常用
4.查看相关配置文件
cd /etc/vsftpd
ls
ftpusers:用户的黑名单 把用户加入黑名单就不能够使用ftp服务
user_list 登录控制用户列表
userlist_deny=NO允许列表中的用户访问ftp服务
userlist_deny=YES(default,默认), 拒绝文件列表中的用户访问ftp服务器
vsftpd.conf ftp的主配置文件 用户登录权限控制 服务器功能 超时设置等配置
cat -n vsftpd.conf |grep -v "#"
5.和匿名用户有关的配置
anonymous_enable=YES # 开启匿名用户登录
local_enable=YES # 开启本地用户登录
write_enable=YES # 允许本地用户写入
local_umask=022 # 设置本地用户创建文件的umask值为022
dirmessage_enable=YES # 激活消息目录
xferlog_enable=YES # 是否启用日志
connect_from_port_20=YES # 主动模式端口为20
xferlog_std_format=YES # 将日志格式设置为标准格式
listen=NO # 不可同时将listen与listen_ipv6都设置为YES
listen_ipv6=YES # 允许IPv4或IPv6客户端的连接
pam_service_name=vsftpd # PAM(可插拔认证)服务的名称为vsftpd
userlist_enable=YES # 允许用户列表生效
tcp_wrappers=YES # 使用tcp_wrappers作为主机访问控制方式
anonymous_enable=YES # 开启匿名用户登录
anon_root=/var/ftp 共享目录指定
anon_upload_enable=YES 是否可以下载
anon_mkdir_write_enable=YES 是否可以创建文件目录
anon_other_write_enable=YES 是否可以删除或者重命名
6.配置实例
op1.修改主机用户名为你自己名字
[root@whp ~]# setenforce 0
[root@whp ~]# vi /etc/selinux/config
SELINUX=disabled
op2.创建共享目录与文件 /var/ftp/pub
[root@whp ~]# mkdir /var/ftp/pub
[root@whp ~]# cd /var/ftp/pub
[root@whp pub]# ls
[root@whp pub]# touch sample.tar
[root@whp pub]# echo "welcome to ftp server" > hello.txt
[root@whp pub]# ls
hello.txt sample.tar
op3:修改配置文件 /etc/vsftpd/vsftpd.conf
不能有重复参数,有的就修改 没有就在末行添加
不要复制 手动输入
anonymous_enable=YES
anon_root=/var/ftp
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
op4:应用层firewall防火墙放行ftp服务
[root@whp vsftpd]# firewall-cmd --permanent --add-service=ftp
Warning: ALREADY_ENABLED: ftp
success
[root@whp vsftpd]# firewall-cmd --reload
success
[root@whp vsftpd]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: ssh dhcpv6-client ftp
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
[root@whp vsftpd]# systemctl restart vsftpd
op5:修改权限
[root@whp ~]# ll -ld /var/ftp/pub
drwxr-xr-x. 2 root root 41 Oct 9 17:30 /var/ftp/pub
[root@whp ~]# chmod o+w /var/ftp/pub
[root@whp ~]# ll -ld /var/ftp/pub
drwxr-xrwx. 2 root root 41 Oct 9 17:30 /var/ftp/pub
[root@whp ~]# systemctl restart vsftpd
op6:验证
serverip 本机火狐浏览器 查看 ftp://server ip
四、本地用户的FTP服务
需求分析:禁止匿名用户登录仅允许本地用户登录,账号1和账号2锁定在目录/web/www/html
1.添加账户
useradd -s /sbin/nologin 用户名
2.修改配置文件
(1)禁止匿名用户登录
anonymous_enable=NO
(2)允许本地用户登录
local_enable=YES
(3)设置本地用户根目录
local_root=/web/www/html
(4)本地用户权限是否限制
chroot_local_user=NO
chroot_list_enable=YES
(5)激活chroot功能,锁定用户
chroot_list_file=/etc/vsftpd/chroot_listallow_writeable_chroot=YES
vi chroot_list
(6)认证设置
write_enable=YES
pam_service_name=vsftpd # PAM(可插拔认证)服务的名称为vsftpd
3.重启服务
systemctl restart vsftpd
五、FTP服务器搭建实训
1.实训目的
掌握vsftpd服务器的配置方法。 熟悉FTP客户端工具的使用。掌握常见的FTP服务器的故障排除。
2.项目背景
某企业网络拓扑图如下图所示,该企业想构建一台FTP服务器,为企业局域网中的计算机提供文件传送任务,为财务部门、销售部门和OA系统提供异地数据备份。要求能够对 FTP 服务器设置连接限制、日志记录、消息、验证客户端身份等属性,并能创建用户隔离的FTP站点。
3.操作
(1)设置匿名帐号具有上传、创建目录权限
(2)设置禁止本地user1用户登录ftp服务器。
(3)设置本地用户user2登录FTP服务器之后,在进入dir目录时显示提示信息“welcome to user's dir!
(4)设置将所有本地用户都锁定在家目录中
(5)设置只有指定本地用户user1和user2可以访问FTP服务器
(6)配置基于主机的访问控制
实现如下功能:
拒绝192.168.6.0/24访问。
对域jnrp.net和192.168.2.0/24内的主机不做连接数和最大传输速率限制。
对其他主机的访问限制每IP的连接数为1,最大传输速率为20KB/S
(7)使用PAM实现基于虚拟用户的FTP服务器的配置。
7. 1使用PAM实现基于虚拟用户的FTP服务器的配置。
7.2生成虚拟用户所需的PAM配置文件/etc/pam.d/vsftpd。
7.3修改vsftpd.conf文件。
文章来源:https://www.toymoban.com/news/detail-494668.html
到了这里,关于Linux系统中的FTP服务配置与管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!