LINUX Centos7搭建vsftpd服务
前言:在数据传输安全方面,被动模式安全性更高,且ftp连接工具都是默认被动模式;在网络安全方面,则是主动模式安全性更高。
安装vsftpd和ftp连接工具
yum -y install vsftpd ftp
修改vsftpd的配置文件
vim /etc/vsftpd/vsftpd.conf
修改:
anonymous_enable=NO //修改为NO
chroot_list_enable=YES //去掉前面的#号
chroot_list_file=/etc/vsftpd/chroot_list //去掉前面的#号
ascii_upload_enable=YES //去掉前面的#号
ascii_download_enable=YES //去掉前面的#号
local_umask=033 //修改权限
listen=YES //设置vsftpd拥有自己的守护进程
listen_ipv6=NO
注意:listen和listen_ipv6不能同时设置YES
添加:
pasv_enable=YES #开启被动模式
pasv_min_port=30000 #被动模式最小端口
pasv_max_port=40000 #被动模式最大端口
pasv_promiscuous=YES #关闭端口安全检查
pasv_address=公网IP地址 #局域网搭建忽略此项
allow_writeable_chroot=YEScmds_allowed=FEAT,REST,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RMD,RNFR,RNTO,RETR,SIZE,TYPE,USER,ACCT,STOR,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST
注意:cmds_allowed参数不能有空格,这里设置权限可以上传,下载,重命名,替换,删除空文件夹,但不可以删除文件;为了安全考虑,被动模式端口最好大于10000,端口范围过小则无法访问ftp服务
设置ftp用户黑名单(把本地用户添加到以下两个文件)
cut -d : -f 1 /etc/passwd>>/etc/vsftpd/ftpusers
cut -d : -f 1 /etc/passwd>>/etc/vsftpd/user_list
注意:如果只在ftpusers添加,登录ftp时会提示用户密码错误,在user_list添加则会提示权限拒绝
建议:两边都加
创建ftp用户(新建的用户不在黑名单内)
useradd -s /sbin/nologin bing //用户名为bing
passwd bing //设置密码
注意:ftp用户的主目录默认在/home/用户名/下面
限制ftp用户不能离开它的home目录
touch /etc/vsftpd/chroot_list
cut -d : -f 1 /etc/passwd>>/etc/vsftpd/chroot_list
防火墙开放ftp,使系统不用完全关闭防火墙
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=30000-40000/tcp --permanent
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
firewall-cmd --list-services //查看ftp是否开放
firewall-cmd --zone=public --list-ports //查看已开放的端口
注意:还需要在阿里云控制台的安全组规则添加被动模式的端口范围,否则会导致访问不了ftp服务
配置selinux 允许ftb访问home和外网访问
getsebool -a | grep ftp //查看setenforce的ftp布尔值
setsebool -P ftpd_full_access on
setsebool -P ftpd_connect_all_unreserved on
setsebool -P ftpd_use_passive_mode on
semanage port -a -t ftp_port_t -p tcp 30000-40000
semanage port -l |grep ftp //查看selinux开启的ftp端口
注意:如果semanage命令默认是没有安装的,报错运行以下命令
yum -y install policycoreutils-python //安装selinux端口管理工具
设置home目录权限
chmod 777 /home/bing
启动并设置开机自启
service vsftpd start
systemctl enable vsftpd.service
注意:在windows端访问ftp服务器需要设置被动模式,如下图所示
附加:ftp的卸载
卸载之前备份文件
mkdir /bak
cp -fr /home/bing/* /bak
卸载ftp
yum remove -y vsftpd
删除配置文件
rm -fr /etc/vsftpd
删除ftp用户
userdel -fr bing
您可能感兴趣的文章:
- Linux下使用pure-ftpd建立匿名ftp访问的方法
- Linux下搭建ftp服务器
- Linux环境下快速搭建ftp服务器方法介绍
- Linux中FTP账号无法删除文件夹的解决方案
- linux下vsftpd的安装及配置使用详细步骤(推荐)
- linux 操作 ftp 常用命令
- 在linux下开启FTP服务方法介绍
- Linux 下VSFTP服务搭建过程
- Linux ftp 命令行中下载文件get与上传文件put的命令应用详解
- Linux shell ftp命令根据文件日期下载文件的方法
- Linux 下FTP的安装与配置教程详解
- Linux中FTP服务器的搭建教程
- linux中ftp服务搭建需要注意的地方