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
// 不阻止白名单内用户登录