当前位置: 首页 > news >正文

CentOS7搭建安全FTP服务器指南

搭建方案


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

服务器配置


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

连接服务器

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



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

连接上是这样的

安装vsftpd

使用yum安装vsftpd

yum install -y "vsftpd*"

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

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. 创建用户/密码文件

vi /etc/vsftpd/vsftpd_vuser.txt

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

2. 生成用户/密码数据库文件

db_load -T -t hash -f /etc/vsftpd/vsftpd_vuser.txt /etc/vsftpd/db_yonhu_mima.db

3. 添加虚拟用户映射账号(这个用户不允许登入系统)
"$GML"这个替换成要分享的ftp目录,"$YON"这个是用户

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

useradd -d "$GML" -s /sbin/nologin "$YON"
chown -R "$YON":"$YON" "$GML"
chmod 755 "$GML"

4. 为虚拟用户建立PAM
这里是2段命令

touch /etc/pam.d/vsftpd.vuecho "#%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

5. 修改vsftpd配置文件

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/创建与第一步的用户同名的文件,可以单独控制用户权限

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

http://www.dtcms.com/a/325404.html

相关文章:

  • 【安全发布】微软2025年07月漏洞通告
  • C语言如何安全的进行字符串拷贝
  • MQTT:Vue集成MQTT
  • GaussDB安全配置全景指南:构建企业级数据库防护体系
  • 【vue(一))路由】
  • uncalled4
  • 昆仑万维SkyReels-A3模型发布:照片开口说话,视频创作“一键改台词”
  • 使用行为树控制机器人(二) —— 黑板
  • 哈希、存储、连接:使用 ES|QL LOOKUP JOIN 的日志去重现代解决方案
  • Logistic Loss Function|逻辑回归代价函数
  • 实习学习记录
  • 集成电路学习:什么是URDF Parser统一机器人描述格式解析器
  • ttyd终端工具移植到OpenHarmony
  • 工业相机与智能相机的区别
  • 5G与云计算对代理IP行业的深远影响
  • 用 Python 绘制企业年度财务可视化报告 —— 从 Excel 到 9 种图表全覆盖
  • nvm安装详细教程(卸载旧的nodejs,安装nvm、node、npm、cnpm、yarn及环境变量配置)
  • 论文中PDF的公式如何提取-公式提取
  • Lightroom 安卓版 + Windows 版 + Mac 版全适配,编辑管理一站式,专业摄影后期教程
  • 【实用案例】录音分片上传的核心逻辑和实现案例【文章附有代码】
  • 智能双行框!百度全量上线AI搜索,是革新浪潮还是昙花一现?
  • 场外个股期权交易系统全球解决方案:监管协同与流动性创新——基于香港LEAP框架与多级清算体系的实践验证
  • 腾讯 iOA 测评 | 横向移动检测、病毒查杀、外设管控、部署性能
  • 智能合约执行引擎在Hyperchain中的作用
  • 飞算 JavaAI 智能进阶:从技术工具到金融科技开发范式的革新
  • 能力评估:如何系统评估你的技能和经验
  • “人工智能 +”新政即将出台,哪些领域将迎来发展风口?
  • 论文学习22:UNETR: Transformers for 3D Medical Image Segmentation
  • IDE认知革命:JetBrains AI Assistant插件深度调教手册(终极实战指南)
  • @ContextConfiguration