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 classroom copy of dvd                                      

(3)reboot

 重启方可生效

步骤如下:

部署FTP服务器_FTP

部署FTP服务器_FTP_02

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

部署FTP服务器_服务器_03

部署FTP服务器_FTP_04

部署FTP服务器_部署_05

1.ftp的定义

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

2.ftp协议提供的软件

rhel7.2中:

vsftpd

3.部署ftp 服务

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

部署FTP服务器_服务器_06

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

   systemctl enable vsftpd ##开机自启

部署FTP服务器_FTP_07

部署FTP服务器_FTP_08

(3)设置火墙策略

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

部署FTP服务器_服务器_09

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

部署FTP服务器_FTP_10

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

部署FTP服务器_部署_11

另一台主机访问ftp服务端

lftp 服务器id

[kiosk@foundation60 Desktop]$ lftp 172.25.254.160

部署FTP服务器_部署_12

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

软件安装包: vsftpd

默认发布目录: /var/ftp

协议接口:21/tcp

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

部署FTP服务器_FTP_13

发布目录所含内容

部署FTP服务器_部署_14

在发布目录里,新建文档

[root@localhost ftp]# touch file

[root@localhost ftp]# ls

file  pub

[root@localhost ftp]# touch pub/test

部署FTP服务器_FTP_15

部署FTP服务器_FTP_16

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

部署FTP服务器_FTP_17

###服务配置文件:/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 ##本地,匿名用户可写


部署FTP服务器_部署_18

部署FTP服务器_FTP_19

部署FTP服务器_部署_20

匿名用户登录服务器 

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

部署FTP服务器_部署_21

成功下载

部署FTP服务器_部署_22

###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

部署FTP服务器_服务器_23

部署FTP服务器_FTP_24

部署FTP服务器_FTP_25

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

匿名用户登录权利被禁止

部署FTP服务器_部署_26

本地用户

#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登陆服务器被拒绝

部署FTP服务器_FTP_27

部署FTP服务器_服务器_28

部署FTP服务器_部署_29

部署FTP服务器_服务器_30

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

部署FTP服务器_FTP_31

部署FTP服务器_服务器_32

部署FTP服务器_服务器_33

部署FTP服务器_服务器_34

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服务器_部署_35

部署FTP服务器_部署_36

部署FTP服务器_FTP_37

部署FTP服务器_服务器_38

部署FTP服务器_部署_39

用户组改为ftp

部署FTP服务器_FTP_40

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

anon_root=/direcotry

部署FTP服务器_部署_41

部署FTP服务器_部署_42

部署FTP服务器_服务器_43

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

部署FTP服务器_部署_44

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

anon_umask=xxx

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

部署FTP服务器_服务器_45

部署FTP服务器_FTP_46

部署FTP服务器_服务器_47

部署FTP服务器_服务器_48

###匿名用户建立目录

anon_mkdir_write_enable=YES|NO

部署FTP服务器_服务器_49

部署FTP服务器_部署_50

建立目录 mkdir test

部署FTP服务器_服务器_51

部署FTP服务器_FTP_52

###匿名用户下载

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

部署FTP服务器_FTP_53

部署FTP服务器_部署_54

部署FTP服务器_部署_55

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

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

部署FTP服务器_服务器_56

部署FTP服务器_FTP_57

部署FTP服务器_服务器_58

删除目录 rm -fr  test

部署FTP服务器_服务器_59

匿名用户身份修改

chown_uploads=YES

chown_username=student

部署FTP服务器_FTP_60

部署FTP服务器_FTP_61

部署FTP服务器_部署_62

student用户id为1000

部署FTP服务器_部署_63

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

anon_max_rate=2048000

部署FTP服务器_服务器_64

部署FTP服务器_FTP_65

部署FTP服务器_FTP_66

部署FTP服务器_FTP_67

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

max_client=1

部署FTP服务器_FTP_68

部署FTP服务器_部署_69

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

部署FTP服务器_FTP_70

部署FTP服务器_FTP_71

用户退出后,即可登录

部署FTP服务器_服务器_72

2)本地用户设定

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

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

部署FTP服务器_服务器_73

部署FTP服务器_FTP_74

部署FTP服务器_服务器_75

部署FTP服务器_FTP_76

部署FTP服务器_服务器_77

部署FTP服务器_部署_78

部署FTP服务器_部署_79

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

lacal root=/qq

部署FTP服务器_FTP_80

部署FTP服务器_部署_81

部署FTP服务器_服务器_82

部署FTP服务器_FTP_83

本地用户上传文件权限 

lacal umask=077

部署FTP服务器_部署_84

部署FTP服务器_服务器_85

部署FTP服务器_FTP_86

部署FTP服务器_部署_87

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

部署FTP服务器_部署_88

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

chroot_lacal_user=YES

部署FTP服务器_部署_89

部署FTP服务器_部署_90

部署FTP服务器_部署_91

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

部署FTP服务器_服务器_92

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

chroot_lacal_user=NO 

部署FTP服务器_部署_93

部署FTP服务器_部署_94

部署FTP服务器_FTP_95

class用户从根目录中出去

部署FTP服务器_部署_96

用户黑名单

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

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

部署FTP服务器_FTP_97

部署FTP服务器_服务器_98

部署FTP服务器_部署_99

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

部署FTP服务器_FTP_100

部署FTP服务器_部署_101

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

部署FTP服务器_服务器_102

student用户被锁在家目录中

部署FTP服务器_FTP_103

用户白名单

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

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

部署FTP服务器_服务器_104

部署FTP服务器_FTP_105

部署FTP服务器_部署_106

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

部署FTP服务器_服务器_107

部署FTP服务器_服务器_108

student用户可以出去

部署FTP服务器_服务器_109

class用户被锁在家目录中

部署FTP服务器_服务器_110

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

部署FTP服务器_服务器_111

部署FTP服务器_FTP_112

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

部署FTP服务器_部署_113

部署FTP服务器_FTP_114