Linux中ftp文件传输协议的部署

    vsftpd服务  


1.什么是ftp?

       FTP ( 文件传输协议 ) INTERNET 上仍常用的最老的网络协议之一 , 它为系统提供了通过网络与远程服务器进行传输的简单方法在 RED HAT ENTREPRISE LINUX 6 中。 FTP 服务器包的名。称为 VSFTPD , 它代表 Very Secure File TransferProtocol

Damon 服务器名称也叫做 vsftpd。默认配置文件让 ANONYMOUS 用户只能下载位于 CHROOT 目录中的内容。 /var/ftp/ 这意味着远程 FTP 客户端能以用户anonymous ftp 身份连接到服务器 ( 无需密码 ), 并从 ftp服务器上的 /var/ftp/ 目录下载文件 ( 其本地 ftp 用户可以读取这些文件 )

2.安装ftp

(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
 重启方可生效

步骤如下

Linux中ftp文件传输协议的部署_第1张图片

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

a6c0562fe766c6552003be1d5107526c.png-wh_

43eff99020970b3c3f9efa89a355498f.png-wh_

3.ftp服务的基本信息

软件安装包:vsftpd

默认发布目录:/var/ftp

协议接口:21/tcp

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

报错id的解析:

                 500   ##文件系统权限过大

                 530   ##用户认证失败

                 550   ##服务本身功能未开放

                 553   ##本地文件系统权限过小

4.部署ftp 服务

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


Linux中ftp文件传输协议的部署_第2张图片

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

   systemctl enable vsftpd ##开机自启


(3)设置火墙策略

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

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

a1c8cc5df61ab9062954d65afbb7414d.png-wh_

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


测试:另一台主机访问ftp服务端

lftp 服务器id

[kiosk@foundation60 Desktop]$ lftp 172.25.254.160


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


c80bfd44d29a8110cfb56f99d040e248.png-wh_


发布目录所含内容

99f58c7e6ce7400207a77abd8cabf536.png-wh_

在发布目录里,新建文档

[root@localhost ftp]# touch file

[root@localhost ftp]# ls

file  pub

[root@localhost ftp]# touch pub/test

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

Linux中ftp文件传输协议的部署_第3张图片


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


Linux中ftp文件传输协议的部署_第4张图片


##匿名用户登录服务器 可下载服务器共享的内容  get test

Linux中ftp文件传输协议的部署_第5张图片


本地用户

#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 [email protected]:~> ls      ##student登陆服务器被拒绝



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


cb73df3ed4cf0eb3dcb2dc97825971c8.png-wh_

3e709a32b1bb634c1e4da4368e66f5a1.png-wh_

2e111307a84694d52716d6bae8bf2e27.png-wh_


一、匿名用户的设定

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

Linux中ftp文件传输协议的部署_第6张图片

af87a674cc67abf7af3032f65377fdcf.png-wh_

3f9acb1ee3562fb62956b542495d2671.png-wh_

Linux中ftp文件传输协议的部署_第7张图片


2)匿名用户家目录修改


anon_root=/direcotry     #家目录修改为/direcotry的家目录


060ca361fb03aa8d70470a865e312da8.png-wh_

a89ff5e5720d553d5bf2eddabd40831c.png-wh_

16dafd113b2ff2c8b94e54f7137685ad.png-wh_


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


anon_umask=xxx

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



4)匿名用户建立目录


anon_mkdir_write_enable=YES|NO



建立目录 mkdir test


5)匿名用户下载

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


Linux中ftp文件传输协议的部署_第8张图片


6)匿名用户可删除重命名

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

61f9c0b7079ec41047931d9e1fdb3a2d.png-wh_

917148862c231872ebafb3d84c8d3448.png-wh_

9a5d21a82b16f1e9cc1987af172c7099.png-wh_

删除目录 rm -fr  test

Linux中ftp文件传输协议的部署_第9张图片


7)匿名用户最大上传速率


anon_max_rate=2048000


b913fc2bc0925e5904c0d6582973bb08.png-wh_

8dd266470e68ae839302ebf029c95b43.png-wh_

Linux中ftp文件传输协议的部署_第10张图片



二、本地用户设定


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

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


9d8f4553da73c79b596a6c2079bb8147.png-wh_

d794fe68ecb38d4dbe78e70f9dbe8502.png-wh_

8aebf668efb63936b0dc65c152dcd00c.png-wh_

d620c22f1273f8307c8a110f7a0124f5.png-wh_

0033d7a9edccce28b3b0b4ce175360b0.png-wh_

88ddd7b58590ff44b2e0afef18ad5bc3.png-wh_


1)本地用户家目录修改


lacal root=/qq


Linux中ftp文件传输协议的部署_第11张图片

2a79b65c31f4516a1158a39bec2c26e8.png-wh_

Linux中ftp文件传输协议的部署_第12张图片


2)本地用户上传文件权限 

lacal umask=077


03b30a096d0f37aa8944012edc8d5234.png-wh_

9416a54896c0890c0323f6b7c1f253ab.png-wh_

Linux中ftp文件传输协议的部署_第13张图片

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

Linux中ftp文件传输协议的部署_第14张图片

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

chroot_lacal_user=YES



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


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

chroot_lacal_user=NO 


Linux中ftp文件传输协议的部署_第15张图片


三、用户黑白名单


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

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list


Linux中ftp文件传输协议的部署_第16张图片


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

92b78a078e4a7e136816ff71d06fbe91.png-wh_

e952727febe176c732705c531153c7db.png-wh_

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

Linux中ftp文件传输协议的部署_第17张图片

student用户被锁在家目录中

5e9ff50cc2cc1d82e046df1218909d91.png-wh_

用户白名单

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

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list


Linux中ftp文件传输协议的部署_第18张图片


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

6e4e33fd2392fa0c326837cee6f5a46a.png-wh_

Linux中ftp文件传输协议的部署_第19张图片

student用户可以出去

Linux中ftp文件传输协议的部署_第20张图片

class用户被锁在家目录中

Linux中ftp文件传输协议的部署_第21张图片

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

8150411a6a5cb6d7315aff227a3057c1.png-wh_

28d537dbef1b47d27fe36119c42b06d8.png-wh_

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

Linux中ftp文件传输协议的部署_第22张图片

你可能感兴趣的:(Linux中ftp文件传输协议的部署)