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

相关推荐
cccyi74 分钟前
支持 HTTP 协议的主从 Reactor 高性能服务器组件
服务器·http·reactor
钰衡大师4 分钟前
Nohup 使用技术文档
linux·服务器·运维开发·unix
Sakuyu434686 分钟前
zabbix源码安装
linux·运维·zabbix
赖亦无18 分钟前
【水动力学】06 Linux + Conda 环境下源码编译安装 pypims (CUDA加速) 避坑指南
linux·运维·conda·pypims·水动力学
疯狂吧小飞牛9 小时前
GPG基础指令
linux·服务器·网络
C++ 老炮儿的技术栈9 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
hjxu201610 小时前
【OpenClaw 龙虾养成笔记一】在远程服务器,使用Docker安装OpenClaw
服务器·笔记·docker
todoitbo10 小时前
用虚拟局域网打通 Win/Mac/Linux 三端:跨设备协作的实用方案
linux·运维·macos
Sylvia-girl11 小时前
Linux下的基本指令1
linux·运维·服务器
CDN36012 小时前
360CDN SDK 游戏盾:轻量化接入 + 强防护实测
运维·游戏·网络安全