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

相关推荐
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
小宇宙Zz2 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工2 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智2 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_2 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
古城小栈2 天前
Unix 与 Linux 异同小叙
linux·服务器·unix
施努卡机器视觉2 天前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造
程序猿阿伟2 天前
《Chrome离线扩展安装的底层逻辑与场景落地指南》
服务器·网络·chrome