CentOS7 运维 - FTP文件传输服务 | 提高服务安全 | 配置优化 | 超详细

概述

FTP是一个基于TCP/IP的文件传输协议
FTP服务器默认使用20、21端口与客户端进行通信
20 端口用于建立数据连接,并传输文件数据
21 端口用于建立控制连接,并传输FTP控制命令

数据连接模式

►主动模式:服务器主动发起数据连接
►被动模式:服务器被动等待数据连接

安装FTP服务器软件

►使用源码安装

wget https://security.appspot.com/downloads/vsftpd-3.0.3.tar.gz
# wget下载的文件会下载到当前目录
tar -zxvf vsftpd-3.0.3.tar.gz
./configure
make && make install

►使用YUM安装

yum -y install vsftpd

►无网络安装

mount /dev/sr0 /mnt
cd Packages
ls vsftpd*
rpm -ivh vsftpd-3.0.2-28.el7.x86_64.rpm

配置文件

►修改配置前记得先备份

cp vsftpd.conf{
    
    ,.bak}

►常用的配置项

anonymous_enabled=YES
#开启匿名用户访问[默认已开启]
write_enable=YES
#开放服务器的写权限(若要上传,必须开启)[默认已开启]
anon_umask=022
#设置匿名用户所上传数据的权限掩码(反掩码)
anon_upload_enable=YES
#允许匿名用户上传文件[默认已注释]
anon_mkdir_write_enabled=YES
#允许你们用户创建(上传)目录[默认已注释]
anon_other_write_enable=YES
#允许删除、重命名、覆盖等操作[需自行添加]

使匿名用户可上传数据

chmod 777 /var/ftp/pub
vim vsftpd.conf
anonymous_enable=YES
// 开启匿名用户
anon_upload_enable=YES
// 允许匿名用户上传

►指定目录

anon_root=/ftp/home

使用用户登录

useradd cat
passwd cat

►提高用户访问安全性

在没有任何配置的情况下,用户可以随意切换目录,这将危及服务器的正常运营

vim vsftpd.conf
local_enable=YES
local_umask=077
chroot_local_user=YES
// 将访问者禁锢在用户的宿主目录中
allow_writeable_chroot=YES
// 允许访问者在宿主目录中写

►指定目录

local_root=/ftp/home

如何开启白名单

编辑/etc/vsftp目录中 user_list 文件
将用户添加其中

编辑/etc/vsftp目录中 vsftpd.conf 文件

vim vsftpd.conf
userlist_enable=YES
// 开启白名单
userlist_deny=NO
// 不阻止白名单内用户登录

猜你喜欢

转载自blog.csdn.net/qq_42427971/article/details/113868206