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

步骤如下

a1b8fc6e894afcc011643b91d237dcbe.png-wh_

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

a6c0562fe766c6552003be1d5107526c.png-wh_

43eff99020970b3c3f9efa89a355498f.png-wh_

e592f6c37150ee7731d78efbaaf65804.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软件


a719ed873fbeeef2515543bfa1f7b448.png-wh_

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

   systemctl enable vsftpd ##开机自启


(3)设置火墙策略

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

329568d46d83efa42e142e2c93a81830.png-wh_

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

a1c8cc5df61ab9062954d65afbb7414d.png-wh_

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

2e82047ebfb608c729299a7fa193fd6d.png-wh_


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

lftp 服务器id

[kiosk@foundation60 Desktop]$ lftp 172.25.254.160

a2ad948426f78f8f0153fd68dcd587d3.png-wh_


[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里面的内容

49084343ef1ecac23c96877707ab2c68.png-wh_


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


347de679858879fbdb37698016eba425.png-wh_


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

5e9c8b5c7d9f99bf1d520f2922b393c0.png-wh_


本地用户

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


b614e6d2ffcf380cf4576f9d36b460fe.png-wh_

b506618f64e8b2df96f5a8d01f18d25d.png-wh_


#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

60ce50e3a9badbd5bf57a81b6172669d.png-wh_

af87a674cc67abf7af3032f65377fdcf.png-wh_

3f9acb1ee3562fb62956b542495d2671.png-wh_

6788a9d2fe098693d571dcab0493b300.png-wh_


2)匿名用户家目录修改


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


060ca361fb03aa8d70470a865e312da8.png-wh_

a89ff5e5720d553d5bf2eddabd40831c.png-wh_

16dafd113b2ff2c8b94e54f7137685ad.png-wh_


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


anon_umask=xxx

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


8a101878424b9359b8464064ff3f2691.png-wh_

6f4c9a54393cb768e43d39937755f65c.png-wh_

243dfe47d6656300408fba37ae0c27d8.png-wh_


4)匿名用户建立目录


anon_mkdir_write_enable=YES|NO


4c63cccd7d7795439756baca35f42795.png-wh_


建立目录 mkdir test


1f1b3a31d7f91030ff4bc24a51d03b2f.png-wh_

5)匿名用户下载

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


4866c343006dc37225d7b5c011472ce0.png-wh_

fc431eb99141eb7f11d94c19a5955585.png-wh_


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

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

61f9c0b7079ec41047931d9e1fdb3a2d.png-wh_

917148862c231872ebafb3d84c8d3448.png-wh_

9a5d21a82b16f1e9cc1987af172c7099.png-wh_

删除目录 rm -fr  test

a626e8432f58f6e3e0cb589cf6cc0969.png-wh_


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


anon_max_rate=2048000


b913fc2bc0925e5904c0d6582973bb08.png-wh_

8dd266470e68ae839302ebf029c95b43.png-wh_

a01344650bef30deb65b6136f88e1bd0.png-wh_



二、本地用户设定


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


5c31871a99f27aef80b88c854c5755c1.png-wh_

2a79b65c31f4516a1158a39bec2c26e8.png-wh_

7cd6c98f8575f8e477099a1c989b8342.png-wh_


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

lacal umask=077


03b30a096d0f37aa8944012edc8d5234.png-wh_

9416a54896c0890c0323f6b7c1f253ab.png-wh_

0177b05da6a476da02640a0f8bd14f9f.png-wh_

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

6cdc10f7ee1967ec4e500db96d6c76d4.png-wh_

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

chroot_lacal_user=YES


5bdede36ff10ec2de57571bff9d090e2.png-wh_


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

a63e090c629c30847523c8c9c194e7f4.png-wh_


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

chroot_lacal_user=NO 


07694bfc50d63eae182d7de21465314e.png-wh_


三、用户黑白名单


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

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list


4b48046401755db7c2fb8ecee8901609.png-wh_


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

92b78a078e4a7e136816ff71d06fbe91.png-wh_

e952727febe176c732705c531153c7db.png-wh_

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

a0b5e0b77142a1c220ebf54eb6253aa1.png-wh_

student用户被锁在家目录中

5e9ff50cc2cc1d82e046df1218909d91.png-wh_

用户白名单

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

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list


ce9f92df417708a48eeae615c74ac5cb.png-wh_


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

6e4e33fd2392fa0c326837cee6f5a46a.png-wh_

a8f1e6dc18a2c5bef81dd409f8f9a5bc.png-wh_

student用户可以出去

8d9a2677caab34e4edb7d586d79372d7.png-wh_

class用户被锁在家目录中

d7a3dc28633162c68233aebd453cd7d1.png-wh_

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

8150411a6a5cb6d7315aff227a3057c1.png-wh_

28d537dbef1b47d27fe36119c42b06d8.png-wh_

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

3136dfd933fe100dbd458db86b05c910.png-wh_

83cc23acda87b302926fa7c7cf45dfaa.png-wh_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值