FTP(文件传输协议)是INTERNET上任常用的最老的网络协议之一,它为系统提供了通过与远程服务器进行传输的简单方法,下面详细介绍文件传输协议的使用

首先完成如下三步,再将主机reboot 

(1)[root@localhost ~]# vim /etc/sysconfig/selinux

1将第七行改为disabled

  2 # This file controls the state of SELinux on the system.

  3 # SELINUX= can take one of these three values:

  4 #     enforcing - SELinux security policy is enforced.

  5 #     permissive - SELinux prints warnings instead of enforcing.

  6 #     disabled - No SELinux policy is loaded.

  7 SELINUX=disabled

  8 # SELINUXTYPE= can take one of these two values:

  9 #     targeted - Targeted processes are protected,

 10 #     minimum - Modification of targeted policy. Only selected processes are     protected.

 11 #     mls - Multi Level Security protection.

 12 SELINUXTYPE=targeted 

(2)[root@localhost ~]# vim /etc/yum.repos.d/rhel_dvd.repo ##配置yum源指向

1 # Created by cloud-init on Thu, 10 Jul 2014 22:19:11 +0000

  2 [rhel_dvd]

  3 gpgcheck = 0

  4 enabled = 1

  5 baseurl = http://172.25.254.60/rhel7.2

  6 name = Remote cla***oom copy of dvd                                      

(3)reboot

 重启方可生效

步骤如下:

配置yum源指向,为下载FTP服务

1.ftp的定义

ftp://##文件传输协议

2.ftp协议提供的软件

rhel7.2中:

vsftpd

3.部署ftp 服务

(1)yum install vsftpd -y ##安装ftp软件

(2)systemctl start vsftpd ##开启ftp服务

   systemctl enable vsftpd ##开机自启

(3)设置火墙策略

[root@localhost ~]# firewall-cmd --permanent --add-service=ftp ##火墙策略,添加ftp服务

[root@localhost ~]# firewall-cmd --reload ##重新加载火墙服务

[root@localhost ~]# firewall-cmd --permanent --list-all ##列出火墙策略内容

另一台主机访问ftp服务端

lftp 服务器id

[kiosk@foundation60 Desktop]$ lftp 172.25.254.160

###ftp服务的基本信息###

软件安装包: vsftpd

默认发布目录: /var/ftp

协议接口:21/tcp

[root@localhost ~]# ss -antlpe | grep vsftpd ##查看端口信息

发布目录所含内容

在发布目录里,新建文档

[root@localhost ftp]# touch file

[root@localhost ftp]# ls

file  pub

[root@localhost ftp]# touch pub/test

客户端能看到服务端/var/ftp里面的内容

###服务配置文件:/etc/vsftpd/vsftpd.conf###

默认配置为匿名ftp服务器,仅仅允许匿名客户端下载,并且禁用所有本地用户,禁止上传 

配置文件的修改都是永久的

修改完配置文件要重启服务

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf 修改配置文件

[root@localhost ~]# systemctl restart vsftpd.service 重启服务

anonymous_enable=YES 匿名用户可登陆,匿名用户没有用户身份

#

# Uncomment this to allow local users to log in.

# When SELinux is enforcing check for SE bool ftp_home_dir

local_enable=YES 本地用户可登陆,注意用户都是ftp服务器上的用户

#

# Uncomment this to enable any form of FTP write command.

write_enable=YES ##本地,匿名用户可写

匿名用户登录服务器 

可下载服务器共享的内容  get test

成功下载

###vim /etc/vsftpd/vsftpd.conf

 

匿名用户

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

#anonymous_enable=YES|NO #匿名用户是否可以登陆

 

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO #匿名用户不能登陆

[root@localhost ~]# systemctl restart vsftpd.service

[kiosk@foundation60 Desktop]$ lftp 172.25.254.160

我文件内容匿名用户不能登录

匿名用户登录权利被禁止

本地用户

#local_enable=YES|NO #本地用户是否可以登陆

 

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

local_enable=NO

#

## Uncomment this to enable any form of FTP write command.

#write_enable=YES

#

[root@localhost ~]# systemctl restart vsftpd.service

 

[kiosk@foundation60 Desktop]$ lftp 172.25.254.160 -u student

Password:

lftp student@172.25.254.160:~> ls      ##student登陆服务器被拒绝

#write_enable=YES|NO #ftp是否对登陆用户可写(可上传,删除文件)

1)###匿名用户上传

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

write_enable=YES

anon_uplad_enable=YES

chgrp ftp /var/ftp/pub

chmod 775 /var/ftp/pub

用户组改为ftp

###匿名用户家目录修改

anon_root=/direcotry

家目录修改为 /qq/的家目录

###匿名用户上传文件默认权限

anon_umask=xxx

umask为预留权限,上传权限为644

###匿名用户建立目录

anon_mkdir_write_enable=YES|NO

建立目录 mkdir test

###匿名用户下载

anon_world_readable_only=YES|NO  ##设定参数值NO表示匿名用户可以下载

###匿名用户可删除重命名

anon_other_write_enable=YES ##匿名用户可删除重命名

删除目录 rm -fr  test

匿名用户身份修改

chown_uploads=YES

chown_username=student

student用户id为1000

###匿名用户最大上传速率

anon_max_rate=2048000

###匿名用户最大连接数

max_client=1

最大连接数为一人,其他用户连接需等待

用户退出后,即可登录

2)本地用户设定

local_enable=YES ##本地用户可登陆,注意用户都是ftp服务器上的用户

write_enable=YES ##本地,匿名用户可写

###本地用户家目录修改

lacal root=/qq

本地用户上传文件权限 

lacal umask=077

默认配置文件所有用户都可以从家目录中出去

所有用户被锁在自己的家目录中

chroot_lacal_user=YES

所有用户都被锁在家目录里

所有用户都能从家目录中出去

chroot_lacal_user=NO 

class用户从根目录中出去

用户黑名单

所有用户都能从根目录里出去,除了名单中的用户

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

在名单中的用户被锁在自己的家目录中

class用户可以从家目录中出去

student用户被锁在家目录中

用户白名单

所用用户被锁在家目录中,名单中的用户可以出去

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

名单中的用户可以出去,其他用户不能出去

student用户可以出去

class用户被锁在家目录中

ftp的用户黑名单,永久的,不可恢复为白名单

用户黑名单,可以恢复为白名单