前言:

       FTP(文件传输协议) 是 INTERNET上常用的老的网络协议之一,

它为系统提供了通过网络与远程服务器进行传输的简单方法.ftp服务

器包的名称为vsftpd,它代表Very Secure File Transfer Protocol Damon,

服务器名称也叫做vsftpd。今天将分享一下FTP的部署和相关文件的配置.

 

正文:

一、进行FTP协议的部署

(1)内核的加强性火墙的关闭

vim /etc/sysconfig/selinus     ###进行文件的编辑,关闭加强型火墙的关闭
getenforce                     ###查看文件是否生效
reboot                         ###进行系统的重启

【Linux系统中】ftp服务的部署以及相关文件的配置
         

(2)进行yum源的配置和相关软件的安装

vim /etc/yum.repos.d/yum.repo         ###进行yum源的编辑
yum install vsftpd  lftp -y           ###进行软件的下载

【Linux系统中】ftp服务的部署以及相关文件的配置

【Linux系统中】ftp服务的部署以及相关文件的配置

 

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(3)进行防火墙的更改(前提条件,防火墙必须开启)

systemctl status firewalld      ###查看防火墙的状态
firewall-config     ###进入到防火墙的图形管理界面进行相关的设定
firewall-cmd  --list-all ###查看防火强是否设定成功,如果设定成功将出现dhcpv6-client ftp ssh

1)进行火墙状态的查看

systemctl status firewalld         ###进行火墙状态的查看

【Linux系统中】ftp服务的部署以及相关文件的配置

 

2)进行火墙界面的打开并且进行相关的设定

firewall-config     ###进入到防火墙的图形管理界面进行相关的设定

【Linux系统中】ftp服务的部署以及相关文件的配置

【Linux系统中】ftp服务的部署以及相关文件的配置

 

【Linux系统中】ftp服务的部署以及相关文件的配置

 

3)查看火墙设定是否设定成功

firewall-cmd  --list-all ###查看防火强是否设定成功,如果设定成功将出现dhcpv6-client ftp ssh

【Linux系统中】ftp服务的部署以及相关文件的配置

 

4)进行服务的开启以及服务的开机自启

systemctl start vfstpd    ###进行服务的开启
systemctl enable vfstpd   ###进行服务的开机自启
systemctl status vfstpd   ###进行服务状态的查看

【Linux系统中】ftp服务的部署以及相关文件的配置

 

5)进行相关的测试

在真机上lftp的测试

lftp 172.25.254.112       ###进行匿名用户的登陆

【Linux系统中】ftp服务的部署以及相关文件的配置

 

二、ftp服务的基本信息和报错ID的解析

软件安装包:vsftpd

默认发布的目录:/var/ftp

协议的接口:21/tcp

服务配置文件:/etc/vsftpd/vsftpd.conf/

报错的ID解析:

500 : 文件系统权限过大

530 : 用户认证失败

550 : 服务本身功能为开启

553 : 本地文件系统权限过小

 

三、ftp中用户的登陆

1、匿名用户进行ftp的登陆

vim /etc/vsftpd/vsftpd.conf            ###进行文件的编辑,设定匿名用户可以进行登陆
anonymous_enable=YES                   ###允许你名用户进行登陆

【Linux系统中】ftp服务的部署以及相关文件的配置

进行相关设定的测试:

lftp 172.25.254.112       ###进行匿名用户的登陆

【Linux系统中】ftp服务的部署以及相关文件的配置2

 

2、本地用户登陆的设定及是否对登陆用户可写

vim /etc/vsftpd/vsftpd.conf        ###进行文件的编辑
local_enable=YES                   ###允许本地用户进行登陆
write_enable=YES                   ###允许本地用户可写

【Linux系统中】ftp服务的部署以及相关文件的配置

进行设定的相关测试:

lftp 172.25.254.112 -u student      ###进行本地用户的登陆

【Linux系统中】ftp服务的部署以及相关文件的配置

 

三、进行匿名用户文件的上传

使用相关的命令进行设定

vim  /etc/vsftpd/vsftpd.conf       ###进行文件的相关编辑
systenctl restart vsftpd           ###进行服务的重启
chgrp ftp  /var/ftp/pub            ###将ftp添加成为用户组
chmod 775 /var/ftp/pub             ###进行文件权限的修改

(1)当没有进行相关的设定时(会出现上传文件失败,权限不够)

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(2)进行文件的编辑,设定登陆用户可写

vim  /etc/vsftpd/vsftpd.conf       ###进行文件的相关编辑

【Linux系统中】ftp服务的部署以及相关文件的配置

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(3)进行服务的重启及相关文件权限的设定

systenctl restart vsftpd           ###进行服务的重启
chgrp ftp  /var/ftp/pub            ###将ftp添加成为用户组
chmod 775 /var/ftp/pub             ###进行文件权限的修改

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(4)进行相关的测试

【Linux系统中】ftp服务的部署以及相关文件的配置【Linux系统中】ftp服务的部署以及相关文件的配置

 

四、匿名用户家目录的修改

mkdir  /westos             ###进行目录的新建
touch /westos/file{1..10}  ###进行文件的创建
vim /etc/vsftpd/vsftpd.conf ###进行设定文件的编辑
systemctl restart vsftpd    ###进行服务的重启

(1)使用相关的命令进行用户家目录的创建和测试文件的建立

mkdir  /new             ###进行目录的新建
touch /new/file{1..10}  ###进行文件的创建

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(2)进行相关文件的编辑以及服务的重启

vim /etc/vsftpd/vsftpd.conf ###进行设定文件的编辑
systemctl restart vsftpd    ###进行服务的重启

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(3)进行相关的测试

lftp 172.25.254.112           ###进行匿名用户的登陆

【Linux系统中】ftp服务的部署以及相关文件的配置

 

五、匿名用户上传文件默认权限的修改

(1)进行文件的编辑

vim /etc/vsftpd/vsftpd.con      ###进行相关文件的编辑
systemctl restart vsftpd        ###进行服务的重启

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(2)进行相关的测试

【Linux系统中】ftp服务的部署以及相关文件的配置

 

六、使用匿名用户进行文件的建立

(1)进行相关文件的编辑

vim /etc/vsftpd/vsftpd.con      ###进行相关文件的编辑
systemctl restart vsftpd        ###进行服务的重启

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(2)进行相关的测试

【Linux系统中】ftp服务的部署以及相关文件的配置

 

七、匿名用户文件的下载

(1)进行相关文件的编辑

vim /etc/vsftpd/vsftpd.con      ###进行相关文件的编辑
systemctl restart vsftpd        ###进行服务的重启

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(2)进行相关的测试

【Linux系统中】ftp服务的部署以及相关文件的配置

 

八、匿名用户对文件的删除

(1)进行相关文件的编辑

vim /etc/vsftpd/vsftpd.con      ###进行相关文件的编辑
systemctl restart vsftpd        ###进行服务的重启

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(2)进行相关的测试

【Linux系统中】ftp服务的部署以及相关文件的配置

 

九、匿名用户使用用户身份的修改

(1)进行相关文件的编辑

vim /etc/vsftpd/vsftpd.con      ###进行相关文件的编辑
systemctl restart vsftpd        ###进行服务的重启

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(2)进行相关的测试

【Linux系统中】ftp服务的部署以及相关文件的配置

【Linux系统中】ftp服务的部署以及相关文件的配置

 

十、进行文件最大上传速率的设定

(1)进行相关文件的编辑

vim /etc/vsftpd/vsftpd.con      ###进行相关文件的编辑
systemctl restart vsftpd        ###进行服务的重启

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(2)进行相关的测试

【Linux系统中】ftp服务的部署以及相关文件的配置

 

十一、进行最大连接的客户端的设定

(1)进行相关文件的编辑

vim /etc/vsftpd/vsftpd.con      ###进行相关文件的编辑
systemctl restart vsftpd        ###进行服务的重启

【Linux系统中】ftp服务的部署以及相关文件的配置

 

十二、用户的本地认证的设定

(1)进行相关文件的编辑

vim /etc/vsftpd/vsftpd.con      ###进行相关文件的编辑
systemctl restart vsftpd        ###进行服务的重启
local_enzble=YES|NO  本地用户登陆限制
write_enable=YES|NO  本地用户写权限的限制

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(2)进行相关的测试

【Linux系统中】ftp服务的部署以及相关文件的配置

 

十三、进行本地用户目录的修改

(1)进行相关文件的编辑

vim /etc/vsftpd/vsftpd.con      ###进行相关文件的编辑
systemctl restart vsftpd        ###进行服务的重启
mkdir /ppt                      ###进行目录的创建
touch /ppt/file{1..3}           ###进行文件的查看
local_root=/ppt

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(2)进行相关的测试

【Linux系统中】ftp服务的部署以及相关文件的配置

 

十四、进行本地用户上传文件权限的设定

(1)进行相关文件的编辑

vim /etc/vsftpd/vsftpd.con      ###进行相关文件的编辑
systemctl restart vsftpd        ###进行服务的重启

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(2)进行相关的测试

【Linux系统中】ftp服务的部署以及相关文件的配置

 

十五、限制本地用户浏览根目录的设定

限制本地用户浏览根目录
所有用户被锁定在自己的家目录中

(1)使用相关的命令进行文件的编辑

vim /etc/vsftpd/vsftpd.con      ###进行相关文件的编辑
systemctl restart vsftpd        ###进行服务的重启
chmod 777  /var/ftp             ###进行文件权限的设定
chmod ugo-w /var/ftp            ###去除文件的写的权限
chmod ugo-w /home/*             ###去除文件的写的权限

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(2)进行相关的测试

【Linux系统中】ftp服务的部署以及相关文件的配置

chmod 777  /var/ftp             ###进行文件权限的设定
chmod ugo-w /var/ftp            ###去除文件的写的权限
chmod ugo-w /home/*             ###去除文件的写的权限

【Linux系统中】ftp服务的部署以及相关文件的配置

用户只能查看自己根下的目录

 

十六、用户黑名单的建立

(1)进行相关文件的编辑

vim /etc/vsftpd/vsftpd.con      ###进行相关文件的编辑
systemctl restart vsftpd        ###进行服务的重启
chroot_local_user=NO            ###允许用户访问根下的目录
chroot_list_enable=YES          ###进行用户黑名单的开启
chroot_list_file=/etc/vsftpd/chroot_list   ###系统识别黑名单中的用户

【Linux系统中】ftp服务的部署以及相关文件的配置

 

注意的是:/etc/vsftpd/chroot_list  该文件并不存在,需要进行建立,将

想要的用户名单加入该文件,该文件中的用户只能访问自己的家目录.

 

(2)进行相关的测试

vim /etc/vsftpd/chroot_list          ###进行黑名单文件的编辑,并进行用户的添加

【Linux系统中】ftp服务的部署以及相关文件的配置

 

【Linux系统中】ftp服务的部署以及相关文件的配置

 

十七、进行用户白名单的建立

(1)使用相关命令进行文件的编辑

vim /etc/vsftpd/vsftpd.con      ###进行相关文件的编辑
systemctl restart vsftpd        ###进行服务的重启
chroot_local_user=YES           ###不允许用户访问根下的目录
chroot_list_enable=YES          ###进行用户白名单的开启
chroot_list_file=/etc/vsftpd/chroot_list   ###系统识别白名单中的用户

【Linux系统中】ftp服务的部署以及相关文件的配置

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(2)进行相关的测试

【Linux系统中】ftp服务的部署以及相关文件的配置

 

十八、限制本地用户登陆的设定

1、用户黑名单的建立

(1)使用相关的命令进行文件的编辑

vim /etc/vsftpd/ftpusers       ###用户黑名单的编辑
vim /etc/vsftpd/user_list      ###用户的临时黑名单

 

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(2)进行相关的测试

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(3)使用临时黑名单进行限制用户登陆的设定

vim /etc/vsftpd/user_list      ###用户的临时黑名单

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(4)进行相关的测试

【Linux系统中】ftp服务的部署以及相关文件的配置

 

2、用户白名单的建立

(1)进行相关文件的编辑

vim /etc/vsftpd/vsftpd.con      ###进行相关文件的编辑
systemctl restart vsftpd        ###进行服务的重启
userlist_deny=NO    ###所有用户的不允许登陆
vim /etc/vsftpd/user_list       ###将临时黑名单中的用户改为白名单的用户

【Linux系统中】ftp服务的部署以及相关文件的配置

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(2)进行相关的测试

【Linux系统中】ftp服务的部署以及相关文件的配置

 

 

十九、ftp虚拟用户的设定

1、进行虚拟帐号身份的创建

vim /etc/vsftpd/westosfile(文件名称自定)    ###编辑匿名认证名单和密码

【Linux系统中】ftp服务的部署以及相关文件的配置

 

2、进行文件的加密

1) 使用相关的命令进行文件的加密

db_load -T -t hash -f /etc/vsftpd/westosfile /etc/vsftpd/westosfile.db
                                                   
                                                     ###进行文件的哈希加密
file /etc/vsftpd/westosfile.db            ###查看是否加密成功

【Linux系统中】ftp服务的部署以及相关文件的配置

 

2)进行认证时系统读取westosfile中名单与密码进行认证

vim /etc/pam.d/westos(文件名称自定)    ###进行认证时系统读取westosfile中名单与密码进行认证
account required pam_userdb.so db=/etc/vsftpd/westosfile   ###认证文件的读取帐号信息
auth required pam_userdb.so db=/etc/vsftpd/westosfile      ###认证文件的读取密码信息

【Linux系统中】ftp服务的部署以及相关文件的配置

 

3)进行相关配置文件的编辑

vim /etc/vsftpd/vsftpd.conf       ###进行文件的编辑
pam_service_name=westosfile          ###默认系统用户不能进行登陆
guest_enable=YES                  ###开启虚拟用户的功能
guest_username=ftp               ###虚拟用户的身份指定
systemctl restart vsftpd         ###进行服务的重启

【Linux系统中】ftp服务的部署以及相关文件的配置

 

4)虚拟帐号家目录独立设定,用户只能查看自己的目录

mkdir -p /var/ftpuserdir/westos(1..3)       ###进行目录的创建
vim  /etc/vsftpd/vsftpd.conf                ###进行配置文件的编辑
local_root=var/westosdir/$USER             ###登陆用户访问的家目录
user_sub_token=$USER   ###将$在系统中进行识别/westos{1..3}/pub   ###建立用户下的/pub目录
mkdir /var/ftpuserdirlocal_root=var/ftpuserdir/$USER     ###登陆用户访问的家目录
mkdir /var/westosdir/westos/westos1file   ###建立westos下各自的家目录
mkdir /var/westosdir/westos2/westos2file  ###建立westos下各自的家目录  
mkdir /var/westosdir/westos3/westos3file  ###建立westos下各自的家目录

【Linux系统中】ftp服务的部署以及相关文件的配置

 

进行相关的测试

(1)用户不存在

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(1)使用虚拟用户进行登陆(用户只能访问自己的家目录)

【Linux系统中】ftp服务的部署以及相关文件的配置

 

3、进行虚拟帐号配置独立的设定(指定虚拟用户上传的权限)

(1)进行文件权限的相关的设定

chmod 775 /var/westosdir/westos*/pub   ###设定该目录的权限为775
chgrp ftp /var/westosdir/westos*/pub   ###将ftp用户添加到该目录的所有组

(2)进行目录的建立和相关配置文件的设定

mkdir -p /etc/vsftpd/user_config  ###进行目录的创建
vim /etc/vsftpd/vsftpd.conf      ###进行文件的编辑
systemctl restart vsftpd    ###进行服务的重启

【Linux系统中】ftp服务的部署以及相关文件的配置

【Linux系统中】ftp服务的部署以及相关文件的配置

 

(3)进行相关的测试(只有westos1可以进行文件的上传)

 

【Linux系统中】ftp服务的部署以及相关文件的配置

【Linux系统中】ftp服务的部署以及相关文件的配置

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章: