Linux(RHEL7/Centos7)安装部署FTP文件传输服务

       FTP (文件传输协议)基于客户端/服务器模式,默认使用 20、21号端口,其中端口 20(数据端口)用于进行数据传输,端口 21(命令端口)用于接受客户端发出的相关 FTP 命令与参数,原理大致如下图所示:

                                   

本次要安装的ftp服务为vsftp(very secure ftp daemon,非常安全的 FTP),登陆该FTP服务有三种认证模式,分别为:

  • 匿名开放模式:该模式最不安全,任何人都可以无需密码验证而直接登录到 FTP 服务器。
  • 本地用户模式:该模式相对安全且配置简单;通过 Linux 系统本地账户密码信息进行认证登陆;不过如果被黑客破解账号信息,则黑客可能就畅通的登陆FTP了,所以如果用该模式,一般用本地普通账号登陆。
  • 虚拟用户模式:该模式最安全,但配置复杂;它需要为 FTP 服务单独建立用户数据库文件,虚拟出用来进行口令验证的账户信息,而这些账户信息在服务器系统中实际上是不存在的,仅供 FTP 服务程序进行认证使用。这样,即使黑客破解了账户信息也无法登录服务器,从而有效降低了破坏范围和影响。

 

安装和配置FTP

 由于匿名开放模式不安全,在此不予配置,下面配置本地用户模式

 1. 安装FTP客户端和服务端 ,其中vsftpd为服务端程序,ftp为客户端程序。

(1) [root@localhost ~]# yum install vsftpd -y
(2) [root@localhost ~]# yum install ftp -y
(3) [root@localhost ~]# systemctl start vsftpd        #启用vsftpd,安装完默认是不启用,需要手动开启,不然连不上,这点要注意。
(4) [root@localhost ~]# systemctl enable vsftpd.service     #将vsftpd加入开机启动项,下次开机时将自动启动。

 2. 配置ftp服务,该服务的配置文件为 /etc/vsftpd/vsftpd.conf ,打开该文件,修改配置:

anonymous_enable=NO     #禁止匿名访问模式
local_enable=YES        #允许本地用户模式
write_enable=YES        #设置可写权限
local_umask=022         #本地用户模式创建文件的 umask 值

特别说明:vsftpd.conf配置文件中有个字段 userlist_enable ,用来控制是否启用“禁止用户名单”,名单文件为 ftpusersuser_list,在目录 /etc/vsftpd/ 下;若 userlist_enable=YES,则名单中的用户将不能登陆FTP,具体表现为:若用户名包含在文件user_list中,则在登陆验证账号时报错,若名单包含在文件 ftpusers 中,则在校验用户密码时报错。

 

3. 防火墙开通FTP端口(RHEL7/Centos7中防火墙firewall是默认启用的,如果不准备启用防火墙,那就不用再配置了)

(1) [root@localhost ~]# systemctl status firewalld.service            #查看防火墙状态,确保已启用。
(2) [root@localhost ~]# firewall-cmd --permanent --add-port=21/tcp    #开启ftp端口21
(3) [root@localhost ~]# firewall-cmd --reload    #重载防火墙配置,必须重载/重启 刚才得配置才生效
(4) [root@localhost ~]# firewall-cmd --list-all  #查看刚刚的配置,确保配置信息已生效,看ports字段那。
  public (default, active)
  interfaces: eno16777728
  sources: 
  services: dhcpv6-client ssh
  ports: 21/tcp
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 
	
[root@localhost ~]# 

4. 创建本地用户ftpUser(此用户用来登陆FTP服务器)

[root@localhost ~]# adduser ftpUser   #添加用户
[root@localhost ~]# passwd ftpUser    #设置用户密码

5. 使用该用户通过Xshell或者Xftp软件登陆FTP服务器。默认进入ftpUser用户的家目录,此时该用户对此目录没有写权限,如下图所示:

通过命令 getsebool -a | grep ftp 查询发现seLinux权限关闭,需要通过命令 setsebool -P ftpd_full_access=on 开启seLinux权限,如下:

现在就可以登陆FTP且可以再里面修改文件了。

 

暂时先写到这吧,虚拟用户模式后面再写。。。。。。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值