谁再说不会搭建vsftpd,就把这个脚本给他扔过去!——CentOS7下一键脚本搭建虚拟用户模式的vsftpd服务器

简介: 谁再说不会搭建vsftpd,就把这个脚本给他扔过去!——CentOS7下一键脚本搭建虚拟用户模式的vsftpd服务器


vsftpd的模式简单介绍


640.jpg


1、vsftpd本地用户模式 本地用户模式是通过Linux系统本地的账户密码信息进行认证的模式,而且配置起来相对简单。但是如果被黑客破解了账户的信息,就可以畅通无阻地登录FTP服务器,从而完全控制整台服务器。可以参考之前的文章CentOS7下搭建vsftpd服务器(本地用户模式)2、vsftpd虚拟用户模式 2.vsftpd虚拟用户模式是一种安全认证模式,它需要为FTP服务单独建立用户数据库文件,虚拟出用来进行口令验证的账户信息,而这些账户信息在服务器系统中实际上是不存在的,仅供FTP服务程序进行认证使用。这样,即使黑客破解了账户信息也无法登录服务器,从而有效降低了破坏范围和影响。

640.jpg


下面在CentOS7下一键脚本搭建虚拟用户模式vsftpd服务器


步骤如下:


1、关闭SELINUX并配置yum源


sed -i 's/enforcing/disabled/g' /etc/selinux/config
setenforce 0
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS


640.png


2、上传脚本,一键执行


chmod 755 vsftpd_install_virtualuser.sh 
./vsftpd_install_virtualuser.sh


640.png


脚本内容如下


#!/bin/sh
#1、安装vsftpd服务
yum install vsftpd -y
#2、备份默认配置文件,并重新生成配置文件
cd /etc/vsftpd/
cp vsftpd.conf vsftpd.conf_default
echo > vsftpd.conf
cat > /etc/vsftpd/vsftpd.conf  << \EOF
#设成NO,不允许匿名用户登陆
anonymous_enable=NO
#允许/禁止本地用户登陆 注意:主要是为虚拟宿主用户,如果该项目设定为NO那么所有虚拟用户将无法访问。
local_enable=YES
#设定可以进行写操作
write_enable=YES
#设定启用虚拟用户功能
guest_enable=YES
#指定虚拟用户的宿主用户
guest_username=ftpvuser
#设定虚拟用户的权限符合他们的宿主用户
#virtual_use_local_privs=YES
#设定上传后文件的权限掩码,文件644,文件夹755
local_umask=022
#设定开启目录标语功能
dirmessage_enable=YES
#设定开启日志记录功能
xferlog_enable=YES
#设定端口20进行数据连接
connect_from_port_20=YES
#设定日志使用标准的记录格式
xferlog_std_format=YES
#开启独立进程vsftpd,不使用超级进程xinetd。设定该Vsftpd服务工作在StandAlone模式下。
listen=YES
#设定userlist_file中的用户将不得使用FTP
userlist_enable=YES
#设定支持TCP Wrappers
tcp_wrappers=YES
#限制所有用户在主目录
chroot_local_user=YES
allow_writeable_chroot=YES
#匿名用户上传文件的 umask 值
anon_umask=077
#设定,启用pam认证,并指定认证文件名/etc/pam.d/vsftpd.vu
pam_service_name=vsftpd.vu
#设定虚拟用户个人vsftp的配置文件存放路径。也就是说,这个被指定的目录里,将存放每个vsftp虚拟用户个性的配置文件,
#一个需要注意的地方就是这些配置文件名必须和虚拟用户名相同。
user_config_dir=/etc/vsftpd/vusers_dir
EOF
#3、设置被动传输时的数据传输端口
echo "pasv_enable=YES">> /etc/vsftpd/vsftpd.conf
echo "pasv_min_port=30001">> /etc/vsftpd/vsftpd.conf
echo "pasv_max_port=30010">> /etc/vsftpd/vsftpd.conf
#4、创建用于进行 FTP 认证的用户数据库文件
#这里使用文本文件进行用户认证
#数据库文件中奇数行为账户名,偶数行为密码
cat > /etc/vsftpd/vuser.list << \EOF
ftpuser
vsFtp2022
EOF
#4、创建 vsftpd 服务程序用于存储文件的根目录以及虚拟用户映射的系统本地用户
mkdir /data
useradd -d /data/FTP -s /bin/nologin ftpvuser
cd /etc/vsftpd/
db_load -T -t hash -f vuser.list vuser.db
chmod 600 vuser.db 
#5、为虚拟用户设置访问权限
#只需新建一个目录,在里面分别创建以虚拟用户名称命名的文件
#在每个文件中,对用户分别进行配置,达到管理不用用户权限的效果
mkdir /etc/vsftpd/vusers_dir/
cd /etc/vsftpd/vusers_dir/
touch ftpuser 
cat > ftpuser  << \EOF
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
dirmessage_enable=YES
anon_world_readable_only=NO
EOF
#6、建立支持虚拟用户的 PAM 认证文件
cat > /etc/pam.d/vsftpd.vu << \EOF
auth       required     pam_userdb.so    db=/etc/vsftpd/vuser
account    required     pam_userdb.so    db=/etc/vsftpd/vuser
EOF
#7、防火墙设置及vsftpd服务开启
firewall-cmd --add-service=ftp --zone=public --permanent
firewall-cmd --permanent --zone=public --add-port=30001-30010/tcp
firewall-cmd --reload
systemctl restart vsftpd
systemctl enable vsftpd


脚本请自行复制使用


3、测试


640.png

640.png


4、关于Windows资源管理器打开FTP会出现中文乱码问题


建议使用Filezilla这类支持字符集调整的工具

640.png

640.png

本文完成过程参考如下链接


https://www.jianshu.com/p/d37266ae99cb
https://mp.weixin.qq.com/s/QNcQVM9WivWrDOq8LyLwog


相关文章
|
9月前
|
安全 Linux Shell
使用SCP命令在CentOS 7上向目标服务器传输文件
以上步骤是在CentOS 7系统上使用SCP命令进行文件传输的基础,操作简洁,易于理解。务必在执行命令前确认好各项参数,尤其是目录路径和文件名,以避免不必要的传输错误。
875 17
|
8月前
|
Ubuntu 安全 小程序
服务器版本的CentOS和Ubuntu哪个更适合你?
但是以上的比较并不说明Ubuntu是不稳定的或者是不安全的,只是以上比较过程中,在稳定性方面Ubuntu稍微逊色了一点。由于Ubuntu在个人桌面电脑的使用率远远高于CentOS,用Ubuntu搭建服务器,如果遇到什么问题,寻找解决方案相对比较容易,这让Ubuntu在选择方面更优于CentOS。如果你是一个初学者,那么毫无疑问Ubuntu是更适合的选择。如果你正在经营自己的公司,在这两者之间,CentOS会更好一些。
|
9月前
|
安全 关系型数据库 网络安全
安全加固:启动PostgreSQL 14服务器SSL加密的方法指南在CentOS 7环境中
通过上述步骤,你可以为PostgreSQL数据库服务器设置SSL加密,从而增加数据在传输中的安全性。确保维持证书的有效性,并且定期更新和管理密钥,以防止未授权访问。
437 0
|
11月前
|
Kubernetes Ubuntu Linux
阿里云服务器使用centos还是ubuntu?
在选择阿里云服务器操作系统时,CentOS和Ubuntu各有优势。CentOS以企业级稳定性著称,适合数据库、ERP等长期稳定需求;而Ubuntu开发者友好,支持最新硬件与功能,更适合开发/测试环境及云计算场景。两者在阿里云上均有官方镜像支持,性能差异可忽略。无特殊需求时推荐Ubuntu 22.04 LTS,若需RHEL生态则选AlmaLinux。根据实际需求、团队技术栈及场景灵活决策,阿里云还支持更换系统盘降低试错成本。
|
Ubuntu 安全 网络安全
在Ubuntu系统下使用vsftpd配置FTP服务器的步骤
以上就是在Ubuntu系统下使用vsftpd配置FTP服务器的步骤。这些步骤都是基础的,但足够让你建立一个简单的FTP服务器。如果你需要更高级的功能,例如SSL加密、虚拟用户等,你可能需要进一步研究vsftpd的配置选项。
744 13
|
存储 安全 Linux
CentOS 7.9系统备份:每日定期发送最新备份文件到另一台服务器。
注意,这个解决方案忽略了很多细节,例如错误处理和通知、备份版本控制、循环处理旧的备份文件等等。此外,你也应该尽量保持源服务器和目标服务器之间快速,稳定且安全的网络连接,并且目标服务器应该有足够的空间用于存放每天的备份文件。如果你需要更高级的备份解决方案,可能需要考虑一下使用专门的备份工具或者服务。
590 18
|
存储 运维 网络协议
【Syslog】Centos下的syslog服务器配置
通过本文的配置指导,您不仅学会了如何安装和配置 `rsyslog`,还掌握了如何在防火墙中开放必要的端口,并验证服务器的配置是否正确。希望这些知识能够帮助您更好地管理和维护您的Linux系统。
2533 15
|
安全 大数据 Linux
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享
412 1
|
存储 网络协议 Linux
AWS实操-EC2-创建购买linux(centos)EC2服务器
AWS实操-EC2-创建购买linux(centos)EC2服务器
下一篇
开通oss服务