LINUX的ftp服务

##################

ftp服务

##################

1.ftp的定义

文件传输协议(英文:File Transfer
Protocol,缩写:FTP)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。它属于网络传输协议的应用层。文件传送(file
transfer)和文件访问(file access)之间的区别在于:前者由FTP提供,后者由如NFS等应用系统提供。
FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样。但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间,会非常长;并且不时的必须执行一些冗长的登录进程。

它用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。

FTP(File Transfer Protocol) 编辑本段FTP的作用
  正如其名所示:FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。

***好处***:

1.在本地电脑上登陆到国际互联网.

2.搜索有文件共享主机或者个人电脑(一般有专门的FTP服务器网站上公布的,上面有进入该主机或个人电脑的名称,口令和路径).

3.当与远程主机或者对方的个人电脑建立连接后,用对方提供的用户名和口令登陆到该主机或对方的个人电脑.

4.在远程主机或对方的个人电脑登陆成功后,就可以上传你想跟别人分享的东东或者下载别人授权共享的东东(这里的东东是指能放到电脑里去又能在显示屏上看到的东东).

5.完成工作后关闭FTP下载软件,切断连接. 为了实现文件传输,用户还要运行专门的文件传输程序,比如网际快车就有这方面的功能,其它还有很多专门的FTP传输软件,FlashFxp为其中的杰出软件。

2.ftp协议提供的软件

在rhel7中:
vsftpd

3.部署ftp服务(古老的传输协议)

在部署ftp服务之前,得配置好yum源,就是为了下载vsftp,我的主机已经下载好了,所以这个步骤就不做了。

  • yum install vsftpd -y
    在这里插入图片描述
* systemctl start vsftpd:  (安装好之后开启vsftp)
* systemctl enable vsftpd  (设置开机自动启动)

在这里插入图片描述

* firewall-cmd --permanent --add-service=ftp(在火墙里添加ftp服务)
* firewall-cmd --reload 重新加载火墙
  firewall-cmd --list-all   可以看到ftp已经添加成功

在这里插入图片描述

[root@ftp-server ftp]# lftp 172.25.254.205 (检测ftp服务器是否搭建成功) lftp
172.25.254.100:~> ls drwxr-xr-x 2 0 0 19 Mar 02 2014 pub

在这里插入图片描述

注意:
注意:
注意啦:刚没说一个很重要的事情,就是之前的那些操作和结果得getenforce是Disabled的情况下才可以

执行getenforce命令 

如果是Disable不用管
在这里插入图片描述

如果是enforceing vim /etc/sysconfig/selinux 改SELINUX=Disable
关闭火墙的作用,编辑完要reboot(内核编辑文件)

ftp服务的基本信息 软件安装包:
vsftpd 默认发布目录:
/var/ftp 协议接口: 21/tcp
服务配置文件: /etc/vsftpd/vsftpd.conf
报错id的解析:
500 ##文件系统权限过大
530 ##用户认证失败
550 ##服务本身功能未开放
553 ##本地文件系统权限过小

4.(vsftp的配置参数)

vim /etc/vsftpd/vsftpd.conf 再此配置文件下进行 systemctl restart vsftpd
(每次改完任何的配置文件都需要重启vsftp服务)

anonymous_enable=YES|NO	#匿名用户是否可以登陆 (一般默认都是开启的)

在这里插入图片描述
l

ocal_enable=YES|NO		#本地用户是否可以登陆 (一般默认都是开启的)
write_enable=YES|NO		#ftp是否对登陆用户可写


#<匿名用户上传>
vim /etc/vsftpd/vsftpd.conf
write_enable=YES
anon_upload_enable=YES

在这里插入图片描述

chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub

匿名用户再登陆ftp服务所谓时候是以ftp的身份登陆的,所以得将ftp目录下的所有组改为ftp,再赋予它较大的权限才可以
在这里插入图片描述
这样就可以上传成功了
在这里插入图片描述

#<匿名用户家目录修改>
anon_root=/direcotry

#<匿名用户上传文件默认权限修改>
anon_umask=xxx

#<匿名用户建立目录>
anon_mkdir_write_enable=YES|NO

在这里插入图片描述

可以看到再没改配置文件之前,是不允许在pub下建立目录的,但是改完之后就可以

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

  #<匿名用户删除>
    anon_other_write_enable=YES|NO	

在没有设定或者设定为NO的时候,不能删除任何东西

在这里插入图片描述

设定完之后,就可以删除了

在这里插入图片描述

#<匿名用户使用的用户身份修改>
chown_uploads=YES
chown_username=student
chown_upload_mode=0644

#<最大上传速率>
anon_max_rate=102400

#<最大链接数>
max_clients=2

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2)本地用户设定
local_enable=YES|NO		##本地用户登陆限制
当改成NO之后,本地的用户就登陆不了

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

> write_enable=YES|NO		##本地用户写权限限制 

改为NO之后本地用户就上传不了文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本地用户家目录修改>
local_root=/directory

#<本地用户上传文件权限>
local_umask=xxx

#<限制本地用户浏览/目录>
所有用户被锁定到自己的家目录中
chroot_local_user=YES
chmod u-w /home/*

用户黑名单建立
先建立几个用户,我提前已经建好

chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

在这里插入图片描述
vim /etc/vsftpd/chroot_list (写上黑名单的名字)
在这里插入图片描述
很明显,当设置为黑名单时,这个用户就不能登陆lftp
在这里插入图片描述

> 用户白名单建立 chroot_local_user=YES 
> chroot_list_enable=YES
> chroot_list_file=/etc/vsftpd/chroot_list

#<限制本地用户登陆>
vim /etc/vsftpd/ftpusers ##用户黑名单
这个黑名单一旦设定,不管怎么操作,student用户永远登陆不了,所以,一般情况下不要随意设定

在这里插入图片描述
在这里插入图片描述

vim /etc/vsftpd/user_list ##用户临时黑名单
这个是临时黑名单,当系统重启之后之前设定的黑名单的用户就不在了

在这里插入图片描述
在这里插入图片描述

 用户白名单设定 userlist_deny=NO
> /etc/vsftpd/user_list			
> ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp

#<ftp虚拟用户的设定>
创建虚拟帐号身份)

vim /etc/vsftpd/westosfile	##文件名称任意
user1
123
user2
456
user3
789


db_load -T -t hash -f /etc/vsftpd/westosfile /etc/vsftpd/westosfile.db

db_load 加密
-T      转换
-t      建立
hash    加密方式
-f      文件
.db     加密的文件

可以看到,在/etc/vsftpd/下存在这个加密的文件,查看就会发现有很多字符,这就是哈希加密
在这里插入图片描述

vim /etc/pam.d/westos		##文件名称任意
account		required	pam_userdb.so	db=/etc/vsftpd/westosfile
auth		required	pam_userdb.so	db=/etc/vsftpd/westosfile

在这里插入图片描述

vim /etc/vsftpd/vsftpd.conf
pam_service_name=westos
guest_enable=YES

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

虚拟帐号身份指定)
guest_username=ftpuser
chmod u-w /home/ftpuser

在这里插入图片描述

虚拟帐号家目录独立设定)
vim /etc/vsftpd/vsftpd.conf
local_root=/ftphome/$USER
user_sub_token=$USER

在这里插入图片描述

mkdir /ftpuserhome

chgrp ftpuser /ftpuserhome

chmod g+s /ftpuserhome

mkdir /ftpuserhome/ftpuser{1…3}

在这里插入图片描述

虚拟帐号配置独立)
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf
mkdir -p /etc/vsftpd/userconf

在这里插入图片描述

vim /etc/vsftpd/userconf/ftpuser1
在此文件中设定配置文件中的所有参数,此文件的优先级高

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值