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

相关推荐
迎仔3 分钟前
C-算力中心网络隔离实施方法:怎么搞?
运维·网络
代码游侠7 分钟前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法
你真是饿了10 分钟前
6.库制作与原理
linux·服务器
Zach_yuan1 小时前
深入浅出 JSONCpp
linux·服务器·网络·c++
AtoposのCX3302 小时前
Docker运行hello-world镜像失败或超时
运维·docker
马猴烧酒.2 小时前
【面试八股|JAVA多线程】JAVA多线程常考面试题详解
java·服务器·数据库
熊延3 小时前
麒麟V10系统安装部署elasticsearch
linux·运维·服务器·elasticsearch·搜索引擎·全文检索
松涛和鸣4 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
Yeats_Liao6 小时前
评估体系构建:基于自动化指标与人工打分的双重验证
运维·人工智能·深度学习·算法·机器学习·自动化
爱吃生蚝的于勒6 小时前
【Linux】进程信号之捕捉(三)
linux·运维·服务器·c语言·数据结构·c++·学习