FTP服务器
什么是FTP服务器?
FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。
服务内容
一般来说.用户联网的首要目的就是实现信息共享,文件传输是信息共享非常重要的一个内容之一。
Internet上早期实现传输文件,并不是一件容易的事,我们知道 Internet是一个非常复杂的计算机环境,有PC,有工作站,有MAC,有大型机,据统计连接在Internet上的计算机已有上千万台,而这些计算机可能运行不同的操作系统,有运行Unix的服务器,也有运行Dos、Windows的PC机和运行MacOS的苹果机等等,而各种操作系统之间的文件交流问题,需要建立一个统一的文件传输协议,这就是所谓的FTP。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送给别人,或者从其它的用户环境中获得文件。
与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。
安装FTP服务
前提:1.确认自己的ip是否存在
2.查看主板防火墙的状态必须是disabled(使用命令getenforce
查看状态,如果不在disabled修改其配置文件通过vim /etc/sysconfig/selinux
将其中的SELINUX=修改为disabked)
3.确保自己的软件安装源正确无误
准备完成之后开始安装FTP服务
在shell中输入yum install vsftpd lftp -y
安装完成后启动vsftpd服务并且设置为开机自启动
关闭防火墙
查看FTP服务是否能够使用(其使用的登陆方式为匿名用户登录)
在FTP服务的共享文件夹下生成几个文件
使用FTP服务查看共享文件夹下是否生成了之前创建的几个文件
也可以使用开启FTP服务的主机上的其他用户查看FTP服务(其登陆方式为本地用户登录)
因为用其他用户使用FTP服务查看的是其用户的家目录,所以我们在其家目录下创建一个新的文件再用FTP服务查看,检验FTP服务是否开启成功
修改匿名用户登录的权限(不能登陆)
修改FTP服务的配置文件
vim /etc/vsftpd/vsftpd.conf
将其中第12行的YES改成NO,表示不允许匿名用户的登陆
之后重启服务
尝试使用匿名用户登录
会显示错误,登陆不成功
禁止本地用户登陆
修改配置文件16行将YES改为NO
再使用本地用户尝试登陆
会出现530报错
本地用户对服务器的上传以及删除权限
删除权限:
上传权限:
匿名用户因为权限过小所以需要修改配置文件才可以进行删除以及上传
上传:
首先确定配置文件中的write_enable=YES
将配置文件中的第29行注释进行去掉#开启匿名用户的上传权限
因为匿名用户的发布目录是/var/ftp/pub所以必须修改文件相关用户的权限
这样匿名用户就可以对发布文件下上传文件
删除:
可自己添加anon_world_readable_only=YES到配置文件
这样就可以实现匿名用户的删除操作
【关于ftp服务中报错序号的解释】
500 #文件系统的权限过大(使用的登陆身份因权限过大被禁止)
530#用户认证失败(基本是密码输入错误)
550#服务本身功能未开放(检查FTP服务是否已经开启)
553#本地文件系统权限过小(可以修改文件的权限)
匿名用户对发布文件下的文件夹创建
同样需要修改配置文件
修改33行的注释去掉#
就可以在发布文件下创建新的文件夹
匿名用户使用的用户身份进行修改,以westos这个本地用户身份登陆
修改配置文件
对下载文件用户下载速度的限制以及对下载允许的个数
修改配置文件
图中设置的最大下载速度为100M最大下载建立的个数为2
本地黑名单的建立
修改本地的配置文件
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
修改配置文件 /etc/vsftpd/chroot_list
可以将拒绝的黑名单用户加入其中
登录失败
YES说明不允许本地用户的登陆
说明本地用户已经加入黑名单(这种方式为白名单,因为westos不在白名单中所以无法登录)
尝试登陆
会登录失败
白名单
同样修改配置文件/etc/vsftpd/chroot_list
将允许的用户加入其中
该用户就可以登陆成功
限制本地用户登陆
vim /etc/vsftpd/ftpusers
#用户黑名单
vim /etc/vsftpd/user_list
#用户临时黑名单(重启后失效)
用法与黑名单一致
用户白名单的建立
需要修改配置文件
添加uerlist_deny=NO这样就开启了本地用户白名单的使用
/etc/vsftpd/user_list在白名单开启时该配置文件下名单的用户才可登陆ftp
FTP虚拟用户的设定
vim /etc/vsftpd/westosfile
#文件名随意
在文件下写入虚拟用户的名字以及登陆密码
因为系统会读取db文件所以创建的文件必须改为db格式
下面
vim /etc/pam.d/westos
#文件名随意
写入如图所示
再修改ftp服务配置文件
vim /etc/vsftpd/vsftpd.conf
如下
使用创建的虚拟用户登陆
创建三个虚拟用户的发布目录
修改创建虚拟用户的操作
增加上传的权限