文章目录
Centos 7 搭建FTP服务器
1. FTP简述
文件传输协议(File Transfer Protocol,FTP),基于该协议FTP客户端与服务端可以实现共享文件、上传文件、下载文件。 FTP 基于TCP协议生成一个虚拟的连接,主要用于控制FTP连接信息,同时再生成一个单独的TCP连接用于FTP数据传输。用户可以通过客户端向FTP服务器端上传、下载、删除文件,FTP服务器端可以同时提供给多人共享使用。
FTP服务是Client/Server(简称C/S)模式,基于FTP协议实现FTP文件对外共享及传输的软件称之为FTP服务器源端,客户端程序基于FTP协议,则称之为FTP客户端,FTP客户端可以向FTP服务器上传、下载文件。
2. FTP传输模式
FTP基于C/S模式,FTP客户端与服务器端有两种传输模式,分别是FTP主动模式、FTP被动模式,主被动模式均是以FTP服务器端为参照。主被动模式如图1-2(a)、1-2(b)所示,主被动模式详细区别如下:
(1)FTP主动模式:客户端从一个任意的端口N(N>1024)连接到FTP服务器的port 21命令端口,客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器,FTP服务器以数据端口(20)连接到客户端指定的数据端口(N+1)。
(2)FTP被动模式:客户端从一个任意的端口N(N>1024)连接到FTP服务器的port 21命令端口,客户端开始监听端口N+1,客户端提交 PASV命令,服务器会开启一个任意的端口(P >1024),并发送PORT P命令给客户端。客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。
在企业实际环境中,如果FTP客户端与FTP服务端均开放防火墙,FTP需以主动模式工作,这样只需要在FTP服务器端防火墙规则中,开放20、21端口即可。
3. Vsftpd服务器简介
目前主流的FTP服务器端软件包括:Vsftpd、ProFTPD、PureFTPd、Wuftpd、Server-U FTP、FileZilla Server等软件,其中Unix/Linux使用较为广泛的FTP服务器端软件为Vsftpd 。
非常安全的FTP服务进程(Very Secure FTP daemon,Vsftpd),Vsftpd在Unix/Linux发行版中最主流的FTP服务器程序,优点小巧轻快,安全易用、稳定高效、满足企业跨部门、多用户的使用等。
4. 试验目的
本次试验目的为添加一个管理员账号,通过管理员账号在指定目录上传文件,其他用户(即匿名用户)登陆后可查看下载。其他账号登陆后可在本账号目录下操作,也可查看下载匿名用户目录下的文件,但无权对匿名用户目录进行修改。
5. 安装FTP
5.1 关闭防火墙
关闭防火墙,禁止开机自启(可根据自己配置设置是否关闭)
systemctl stop firewalld
systemctl disable firewalld
5.2 关闭selinux
vim /etc/selinux/config
setenforce 0使修改立即生效
5.3 安装vsftpd
yum install vsftpd* -y
打印vsftpd安装后的配置文件路径、启动Vsftpd服务及查看进程是否启动
rpm –ql vsftpd | more
systemctl restart vsftpd.service
ps -ef |grep vsftpd
启动Vsftpd服务后,通过Windows客户端资源管理器访问Vsftp服务器端
ftp://服务器ip
FTP主被动模式,默认为被动模式,设置为被动模式使用端口方法如下:
在文件末尾加上如下内容
pasv_enable=YES
pasv_min_port=60000
pasv_max_port=60100
5.4Vsftpd系统用户配置
本次计划目的添加一个管理员账号,使用管理员账号上传管理文件,匿名用户可以查看下载,但是没有其他权限。默认账号路径在/home下
useradd admin
echo admin12345|passwd --stdin admin
5.5修改ftp默认目录
vim /etc/vsftpd/vsftpd.conf
local_root=/home
chroot_local_user=YES
anon_root=/home/test
local_root 表示本地用户登录后的根目录,也就是非匿名,而是输入用户名和密码登录进入的
anon_root 用户,即匿名用户访问的主目录
- 新建目录
- 查看目录所属用户,并修改匿名用户访问目录为管理员admin所有
chown admin:admin test
- 重启服务
systemctl restart vsftpsd
- 切换用户,创建目录测试
5.6测试
在Windows中查看(匿名用户查看的结果)
管理员登陆查看
以上经测试匿名用户只能查看下载test目录下内容,admin可以管理admin目录及test匿名用户目录
5.7添加新用户
使用user用户登陆
可以查看匿名用户test目录但是没有修改权限,只可以下载,不可以访问admin目录
6.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 #FTP使用20端口进行数据传输;
xferlog_std_format=YES #日志文件将根据xferlog的标准格式写入;
listen=NO #Vsftpd不以独立的服务启动,通过Xinetd服务管理,建议改成YES;
listen_ipv6=YES # 启用IPV6监听;
pam_service_name=vsftpd #登录FTP服务器,依据/etc/pam.d/vsftpd中内容进行认证;
userlist_enable=YES #Vsftpd.user_list和ftpusers配置文件里用户禁止访问FTP;
tcp_wrappers=YES # 设置vsftpd与tcp wrapper结合进行主机的访问控制,Vsftpd服务器检查/etc/hosts.allow 和/etc/hosts.deny中的设置,来决定请求连接的主机,是否允许访问该FTP服务器。
今天的文章Centos7 搭建FTP服务器分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/33241.html