CentOS7搭建安全FTP服务器指南

搭建方案

我将采用Centos7加vsftpd进行搭建,并使用虚拟用户认证,在一定程度上保证安全
vsftpd 是 "very secure FTP daemon" 的缩写,是一款基于GPL发布的、运行在类UNIX系统上的FTP服务器软件,具有安全、稳定、高速的特点。

服务器配置

这是我用的云服务器配置,1个核心2G内存

连接服务器

使用ssh工具远程服务器,一般IP就是主机名,登入用户就root,权限比一般用户高,端口服务器的控制台会写

输入密码(控制台会写或要求自己设置)
|

连接上是这样的

安装vsftpd

使用yum安装vsftpd

bash 复制代码
yum install -y "vsftpd*"

安装报错

解决办法换yum(这里是阿里yum)一条一条执行,最后一条是看看换成与否

bash 复制代码
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache
yum repolist | awk '/repolist/{print$2}' | sed 's/,//'

换完重新安装,下图是安装完成

配置vsftpd

  1. 创建用户/密码文件
bash 复制代码
vi /etc/vsftpd/vsftpd_vuser.txt

写完用cat看看是这样的,一个用户一个密码的写,还有其他用户也是一样的写在这个文件

  1. 生成用户/密码数据库文件
bash 复制代码
db_load -T -t hash -f /etc/vsftpd/vsftpd_vuser.txt /etc/vsftpd/db_yonhu_mima.db
  1. 添加虚拟用户映射账号(这个用户不允许登入系统)

"GML"这个替换成要分享的ftp目录,"YON"这个是用户

要分享的ftp目录建议放这里/var/ftproot/

bash 复制代码
useradd -d "$GML" -s /sbin/nologin "$YON"
chown -R "$YON":"$YON" "$GML"
chmod 755 "$GML"
  1. 为虚拟用户建立PAM

这里是2段命令

bash 复制代码
touch /etc/pam.d/vsftpd.vu

echo "#%PAM-1.0
auth       required     pam_userdb.so db=/etc/vsftpd/db_yonhu_mima
account    required     pam_userdb.so db=/etc/vsftpd/db_yonhu_mima
" > /etc/pam.d/vsftpd.vu
  1. 修改vsftpd配置文件
bash 复制代码
vi /etc/vsftpd/vsftpd.conf

$YON 填步骤3的映射虚拟账号

有就修改没有就添加到末尾

模板:

anonymous_enable=NO

guest_enable=YES

guest_username=$YON

pam_service_name=vsftpd.vu

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd/vuser_conf

在这个目录 /etc/vsftpd/vuser_conf/创建与第一步的用户同名的文件,可以单独控制用户权限

bash 复制代码
vi /etc/vsftpd/vuser_conf/user1

允许下载文件

anon_world_readable_only=NO

download_enable=YES

禁止上传文件

anon_upload_enable=NO

write_enable=NO

禁止创建目录

anon_mkdir_write_enable=NO

禁止删除和重命名

anon_other_write_enable=NO

如果需要,设置用户的根目录(可选)

local_root=/var/ftproot

访问ftp服务

windows访问在此电脑地址栏输入 ftp://服务器ip

Linux访问 ftp 服务器ip

相关推荐
Wang's Blog21 分钟前
Linux小课堂: 文件操作警惕高危删除命令与深入文件链接机制
linux·运维·服务器
2501_915909062 小时前
iOS 混淆实战,多工具组合完成 IPA 混淆与加固(源码 + 成品 + 运维一体化方案)
android·运维·ios·小程序·uni-app·iphone·webview
我科绝伦(Huanhuan Zhou)2 小时前
分享一个可以一键制作在线yum源的脚本
linux·运维
爱宇阳2 小时前
禅道社区版 Docker Compose 服务迁移教程
运维·docker·容器
Paper_Love3 小时前
Linux-查看硬件接口软件占用
linux·运维·服务器
wydaicls3 小时前
Linux 系统下 ZONE 区域的划分
linux·运维·服务器
螺旋小蜗3 小时前
Linux Cgroup与Device Whitelist详解
linux·运维·服务器·cgroup
染指11103 小时前
36.渗透-端口
linux·运维·服务器
EndingCoder3 小时前
WebSocket实时通信:Socket.io
服务器·javascript·网络·websocket·网络协议·node.js
勤源科技3 小时前
全链路智能运维中的多模态数据融合与语义对齐技术
运维