1.安装部署ftp服务器所需软件
ftp(文件传输协议)是INTERNET上仍常用的最老的网络协议之一,它为系统提供了通过网络与远程服务器进行传输的简单方法。在RED HAT ENTREPRISE LINUX 6中。FTP服务器包的名称为VSFTPD,它代表Very Secure File TransferProtocol Damon服务器名称也叫做vsftpd。
我们在真机上下载vsftpd服务端,在虚拟机上下载lftp客户端。(前提要设置yum源)
yum install vsftpd -y 安装服务端
ftp服务的基本信息
软件安装包:vsftpd
默认发布目录:/var/ftp
协议接口:21/tcp
服务配置文件:/etc/vsftpd/vsftpd.conf
报错id的解析:
500 文件系统权限过大
530 用户认证失败
550服务本身功能未开放
yum install lftpd -y 安装客户端
服务端火墙策略添加
服务端内核及加强性火墙关闭
如果内核及加强性火墙未关闭,则修改文件如下图。vim /etc/sysconfig/selinux
2.匿名用户访问
- 匿名用户访问并退出:
在文件/etc/vsftpd/vsftpd.conf中anonymous_enable=YES则可以访问。
anonymous_enable=YES|NO 匿名用户是否可以登陆
- 匿名用户上传
在文件/etc/vsftpd/vsftpd.conf做以下修改,并重启服务。
write_enable=YES
anon_upload_enable=YES
上传的文件要之前存在,上传文件时要先进入目录/pub。
- 匿名用户家目录修改
在文件/etc/vsftpd/vsftpd.conf做以下修改,并重启服务。
- 匿名用户上传文件的权限修改
在文件/etc/vsftpd/vsftpd.conf做anon_umask=077修改,并重启服务。
- 匿名用户删除文件
在文件/etc/vsftpd/vsftpd.conf做anon_other_write_enable=YES修改,并重启服务。
- 匿名用户使用的用户身份修改
在文件/etc/vsftpd/vsftpd.conf做下列修改,并重启服务。
我们可以看到ip改变了
- 匿名用户建立目录
在文件/etc/vsftpd/vsftpd.conf做修改,并重启服务。
- 匿名用户下载文件
在文件/etc/vsftpd/vsftpd.conf做修改,并重启服务。
- 匿名用户最大上传速率
在文件/etc/vsftpd/vsftpd.conf做修改anon_max_rate=102400,可改变上传的速率 - 匿名用户的最大链接数
在文件/etc/vsftpd/vsftpd.conf做修改max_clients=2,做此操作则同时只能有有两个客户访问。
3.本地用户的访问
本地用户的访问需要使用的用户是服务端有的用户。
- 访问与查看
在文件/etc/vsftpd/vsftpd.conf中local_enable=YES,则可以访问。
local_enable=YES|NO 本地用户是否可以登陆
write_enable=YES|NO ftp是否对登陆用户可写
- 本地用户家目录修改
在文件/etc/vsftpd/vsftpd.conf做修改。
- 本地用户上传文件权限
在文件/etc/vsftpd/vsftpd.conf做修改
- 限制本地用户登陆
(1)黑名单
在 etc/vsftpdftpusers文件中添加westos用户。 或者在/etc/vsftpd/user_list 文件中设置,此时/etc/vsftpd/vsftpd.conf文件中userlist_deny=YES.
(2)user_list中用户,在/etc/vsftpd/vsftpd.conf文件中有userlist_deny=NO,为白名单
此时本地用户westos可以访问。
4.虚拟用户的访问
我们除了可以通过服务器下本地用户访问服务、匿名访问服务还可以通过虚拟用户访问服务。
(1)虚拟用户的访问
- 设置环境
- 建立虚拟用户文件
将文件建立在/etc/vsftpd/目录下,并且给文件进行hash加密。
文件中的内容,1、3、5行为用户名,2、4、6为密码。 - 设定验证文件
查看/etc/vsftpd/vsftpd.conf文件,我们可以看到目前使用验证文件为vsftpd.
我们查看vsftpd文件的位置,通过查找的返回值我们可以确定我们要找的是/etc/pam.d/vsftpd。我们在这个验证文件相同目录下建立一个验证文件。
文件的内容:
- 对/etc/vsftpd/vsftpd.conf文件进行修改:
客户端访问成功,此时目录是/var/ftp/pub/。
- 虚拟用户的家目录修改
修改/etc/vsftpd/vsftpd.conf文件如下:
此时我们看到客户端访问ftp服务端的家目录不能查看文件。
我们在服务端做如下操作:
再次在客户端访问ftp服务端,我们此时可以访问服务并查看文件。
(2)虚拟用户专属家目录。
我们用虚拟用户不同的用户访问服务端家目录都一样,如下图。
为使每个虚拟用户有属于自己独立的家目录,我们进行下面的操作。
首先,在服务端操作:
在服务端的/etc/vsftpd/vsftpd.conf文件中做如下设置.
在客户端访问ftp服务器,此时每个用户有独立的家目录。
(3)虚拟用户上传文件
在服务端的/etc/vsftpd/vsftpd.conf文件中做如下设置。
在服务端做如下设置:
客户端访问并上传文件,文件要之前建立好的。
(4)特定虚拟用户上传文件
我们发现一个文件所有虚拟用户都可以上传,我们要设置特定用户上传文件。
在 /etc/vsftpd/vsftpd.conf文件中:
在 /etc/vsftpd/user_conf/westos1 文件中
此时我们可以看见westos1可以上传文件,westos2文件不能上传文件。