Linux系统入门之部署FTP服务

1.FTP的定义

FTP(文件传输协议)是internet上仍常用的最老的网络协议之一,基于客户端/服务端模式,默认使用20 21号端口,其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端发出的相关ftp命令与参数。ftp服务器普遍部署于内网中,具有容易搭建 方便管理的特点。而且ftp客户端工具还支持文件的多点下载以及断点续传技术。因此ftp服务得到了广大用户的青睐。
在RED HAT ENTREPRISE LINUX 6中。FTP服务器包的名称为VSFTPD very secure file trandferprotocol damon 服务器名称也叫做vsftpd。vsftpd服务有三种认证模式:匿名开放模式,本地用户模式,虚拟用户模式。

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

2.ftp服务的基本信息


软件安装包:    vsftpd
默认发布目录:    /var/ftp
协议接口:    21/tcp
服务配置文件:    /etc/vsftpd/vsftpd.conf

报错id的解析:
530----用户认证失败
550----服务本身功能未开启
553----本地文件系统 权限过小
500----文件系统权限过大

3.部署ftp服务

3.1准备工作:

hostnamectl set-hostname ftp_server.westos.com        ##修改主机名
vim /etc/sysconfig/network-scripts/ifcfg-eth0         ##配置网络
systemctl restart network            ##重启网络

Linux系统入门之部署FTP服务_第1张图片
    cd /etc/yum.repos.d/                ##确认yum源正确

Linux系统入门之部署FTP服务_第2张图片
 getenforce                   
  vim /etc/sysconfig/selinux             ##修改getenforce=disable

Linux系统入门之部署FTP服务_第3张图片


 reboot                        ##修改完成后reboot重启

 

安装 ftp: yum install lftp -y       

Linux系统入门之部署FTP服务_第4张图片
systemctl start vsftpd    ##启动vsftpd服务
systemctl enable vsftpd    ##设置vsftpd服务开机自启

Linux系统入门之部署FTP服务_第5张图片
  systemctl status firewalld.service
  firewall-cmd --list-all
  firewall-cmd --permanent --add-service=ftp                 ##设置防火墙允许ftp服务

Linux系统入门之部署FTP服务_第6张图片

3.2匿名开放用户:一种最不安全的认证模式,任何人都可以无需密码验证而直接登录到FTP服务器。

这种模式一般用来访问不重要的公开文件(在生产环境中尽量不要存放重要文件)

vsftpd服务默认开启匿名开放模式。我们需要做的就是开放匿名 用户的上传/下载文件的权限,以及让匿名用户创建 删除 更名文件的权限。需要注意的是,针对匿名用户开放这些权限会带来潜在的危险,我们只在linux系统中练习配置vsftpd而开放上述权限,在生产环境中不建议如此配置。

修改ftp服务的配置 命令vim /etc/vsftpd/vsftpd.conf

每次修改完成后需要重启vsftpd服务,systemctl restart vsftpd.service 实验过程中不再赘述。

(1)anonymous_enable=YES|NO     <匿名用户是否可以登陆>

Linux系统入门之部署FTP服务_第7张图片

(2)<匿名用户上传>   

             anon_upload_enable=YES

             write_enable=YES     

Linux系统入门之部署FTP服务_第8张图片

修改目录权限:

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

(3)anon_root=/新目录     <匿名用户家目录修改>

Linux系统入门之部署FTP服务_第9张图片

Linux系统入门之部署FTP服务_第10张图片

(4)anon_unmask=***      <匿名用户上传文件默认权限修改>

Linux系统入门之部署FTP服务_第11张图片

Linux系统入门之部署FTP服务_第12张图片

(5)<匿名用户建立目录>

Linux系统入门之部署FTP服务_第13张图片

Linux系统入门之部署FTP服务_第14张图片

(6)<匿名用户下载>

Linux系统入门之部署FTP服务_第15张图片

(7)<匿名用户删除>

Linux系统入门之部署FTP服务_第16张图片

(8)<匿名用户使用的身份修改>

Linux系统入门之部署FTP服务_第17张图片

Linux系统入门之部署FTP服务_第18张图片

(9)最大上传速率anon_max_rate

          最大连接数max_clients=3

Linux系统入门之部署FTP服务_第19张图片

Linux系统入门之部署FTP服务_第20张图片

3.3本地用户模式

本地用户模式更安全,配置更简单。

(1)本地用户是否可以登录local_enable=YES|NO

Linux系统入门之部署FTP服务_第21张图片

Linux系统入门之部署FTP服务_第22张图片

(2)ftp对登录用户可写write_enable=YES|NO

修改为NO 不可写

修改为YES 可上传 可删除

本地用户上传文件权限local_umask=022

Linux系统入门之部署FTP服务_第23张图片

Linux系统入门之部署FTP服务_第24张图片

(3)本地用户家目录修改

Linux系统入门之部署FTP服务_第25张图片

(4)限制本地用户浏览目录

所有本地用户被锁定在自己的家目录中 无法访问/目录 安全性增强

Linux系统入门之部署FTP服务_第26张图片

Linux系统入门之部署FTP服务_第27张图片

用户黑名单建立

Linux系统入门之部署FTP服务_第28张图片

在/etc/vsftpd/chroot_list文件中写入的用户名,该用户被所在自己的家目录中

Linux系统入门之部署FTP服务_第29张图片

用户白名单

chroot_local_user=YES

chroot_list_enable=YES

名单中的用户student没有被锁 其他用户被所在家目录中

 

Linux系统入门之部署FTP服务_第30张图片

(5)限制本地用户登录

永久黑名单/etc/vsftpd/ftpusers

a.在/etc/vsftpd/ftpusers中加入用户

b.在配置文件/etc/vsftpd/vsftpd.conf中加入userlist_deny=YES 重启服务

Linux系统入门之部署FTP服务_第31张图片

用户临时黑名单

在/etc/vsftpd/user_list中加入用户名 效果与上述操作相同 不再赘述

用户白名单

a.在/etc/vsftpd/ftpusers中加入用户

b.在配置文件/etc/vsftpd/vsftpd.conf中加入userlist_deny=NO 重启服务

Linux系统入门之部署FTP服务_第32张图片

Linux系统入门之部署FTP服务_第33张图片

Linux系统入门之部署FTP服务_第34张图片

3.4虚拟用户模式

虚拟用户模式在三种模式中最安全的一种认证模式

(1)在/etc/vsftpd目录下建立文件  创建用户进行FTP认证的用户数据库文件,其中奇数行为账户名,偶数行为密码。

Linux系统入门之部署FTP服务_第35张图片

(2)文件加密 db_load -T -t hash -f viruser viruser.db

-T 表示转换  -t 表示加密方式为哈希加密 -f 表示加密文件为/etc/vsftpd/viruserLinux系统入门之部署FTP服务_第36张图片

(3)在/etc/pam.d.viruser 写入以下内容进行安全认证

(4)在配置文件vsftpd.conf文件中写入以下内容 重启服务

Linux系统入门之部署FTP服务_第37张图片

(5)测试:虚拟用户成功的登录 进入的都是本地用户的加密目录

Linux系统入门之部署FTP服务_第38张图片

虚拟用户配置独立

让虚拟用户相互独立 只能查看自己的家目录

(1)给每个虚拟用户建立自己的家目录

(2)修改配置文件vsftpd.conf

Linux系统入门之部署FTP服务_第39张图片

(3)测试

Linux系统入门之部署FTP服务_第40张图片

虚拟用户的权限设置

(1)新建目录与文件

在user1文件中写入anon_upload_enable=YES 表示只允许user1上传文件

Linux系统入门之部署FTP服务_第41张图片

(2)将vsftpd.conf配置文件中 匿名用户上传文件的功能注释掉

并添加user_config_dir=/etc/vsftpd/viruserdir 指向刚才创建的目录 重启服务

(3)测试结果:user1可以上传文件 其他匿名用户不能上传文件

 

 

你可能感兴趣的:(linux基础)