基于vsftpd搭建项目文件服务器
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。
流程概要
- 关闭防火墙及selinux
- 安装vsftpd
- 创建vsftpd的映射账户
- 创建虚拟用户目录及配置文件
- 创建数据库认证文件
- 修改pam认证
- 修改vsftpd配置文件
1.关闭防火墙及selinux
1.1关闭系统防火墙
# 停止防火墙
systemctl stop firewalld.service
# 关闭防火墙
systemctl disable firewalld.service1.2关闭selinux
查询是否开启了selinux
sestatus显示enabled就说明SELinux是开着的,我们需要关掉。
临时关闭
setenforce 0永久关闭
vi /etc/selinux/config将SELINUX=enforcing改为SELINUX=disabled
修改后保存退出,然后重启Linux系统,重启命令:reboot或init 0
2.安装vsftpd
2.1检查ftp
此命令检查是否安装过vsftpd
rpm -qa |grep vsftpd如果有安装过其他ftp,怕影响的可以执行下面
rpm -qa |grep ftp查询到后执行下方命令卸载
yum remove vsftpd -yvsftpd是查询到ftp的比喻,如果是其他ftp请修改成其他ftp的包名。
2.2安装vsftpd
yum install vsftpd -y3.创建映射账户
useradd vsftpd -d /vsftpd -s /bin/false/bin/false禁止此账户登录系统
4.创建虚拟用户及配置文件
4.1创建虚拟用户
vi /etc/vsftpd/vftpusers创建一个虚拟用户配置文件,文件名为vftpusers,里面填虚拟用户的用户名及密码,奇数行为用户名,偶数行为密码,例如:
admin
admin创建了一个用户名和密码都为admin的用户,本文将以虚拟用户admin举例
4.2创建虚拟用户目录
mkdir -p /vsftpd/adminadmin可替换为创建虚拟用户文件vftpusers时填写的用户名
有几个用户就创建几个,创建完成后执行下方命令将虚拟用户的目录所有者改为vsftpd这个账户
chown -R vsftpd:vsftpd /vsftpd4.3创建虚拟用户配置文件
创建一个文件夹存放虚拟用户的配置文件
mkdir /etc/vsftpd/userconf创建虚拟用户的配置文件
touch /etc/vsftpd/userconf/admin编辑此配置文件
vi /etc/vsftpd/userconf/admin添加如下代码,其中admin为4.2步骤中创建的文件夹
local_root=/vsftpd/admin
write_enable=YES
anon_umask=022
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES注意:不能有多余的空格
配置对应含义如下
# 设置登录后禁锢的目录 xxx可修改为/etc/vsftpd/vftpusers内设置的用户且创建了虚拟用户目录。
local_root=/vsftpd/xxx
# 开放写权限
write_enable=YES
# 掩码
anon_umask=022
# 开放下载权限
anon_world_readable_only=YES
# 开放上传权限
anon_upload_enable=YES
# 开放创建目录的权限
anon_mkdir_write_enable=YES
# 开放删除和重命名的权限
anon_other_write_enable=YES5.生成数据库认证文件
db_load -T -t hash -f /etc/vsftpd/vftpusers /etc/vsftpd/vftpusers.db
chmod 600 /etc/vsftpd/vftpusers.db6.pam认证
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
vi /etc/pam.d/vsftpd注释里面所有的内容,在最后添加以下内容
auth required pam_userdb.so db=/etc/vsftpd/vftpusers
account required pam_userdb.so db=/etc/vsftpd/vftpusers7.修改vsftpd配置文件
vi /etc/vsftpd/vsftpd.conf配置文件(可直接替换)
#是否允许匿名登录
anonymous_enable=NO
#是否允许本地登录
local_enable=YES
#是否允许任何更改文件系统的FTP命令
write_enable=YES
#掩码
local_umask=022
#如果设置为YES,则允许匿名用户在特定条件下上载文件。
#anon_upload_enable=YES
#如果设置为YES,则允许匿名用户在特定条件下创建新目录
#anon_mkdir_write_enable=YES
#FTP服务器的用户首次进入新目录时可以显示消息
dirmessage_enable=YES
#如果启用,将维护一个日志文件,详细说明上载和下载。
xferlog_enable=YES
#这可以控制PORT样式数据连接是否在服务器计算机上使用端口20(ftp-data)。
connect_from_port_20=YES
#如果启用,则所有匿名上载的文件的所有权都将更改为设置chown_username中指定的用户。
#chown_uploads=YES
#这是获得匿名上传文件所有权的用户的名称。
#chown_username=whoever
#编写wu-ftpd样式传输日志的文件的名称。
#xferlog_file=/var/log/xferlog
#传输日志文件将以标准xferlog格式写入,如wu-ftpd所使用。
xferlog_std_format=YES
#超时(以秒为单位),即远程客户端在FTP命令之间可能花费的最长时间。
#idle_session_timeout=600
#超时(以秒为单位),大致是我们允许数据传输停止而没有进度的最长时间。
#data_connection_timeout=120
#这是vsftpd在完全没有特权的情况下使用的用户名。
#nopriv_user=ftpsecure
#启用后,将启用称为“异步ABOR”的特殊FTP命令。
#async_abor_enable=YES
#启用后,上传时将遵循ASCII模式数据传输。
ascii_upload_enable=YES
#启用后,下载时将遵循ASCII模式数据传输。
ascii_download_enable=YES
#欢迎信息
#ftpd_banner=Welcome to blah FTP service.
#如果激活,您可能会提供一个匿名密码电子邮件响应列表,导致登录被拒绝。
#deny_email_enable=YES
#此选项是包含不允许的匿名电子邮件密码列表的文件的名称。
#banned_email_file=/etc/vsftpd/banned_emails
#禁止用户访问除主目录以外的目录
chroot_local_user=YES
#是否启用例外名单
#chroot_list_enable=YES
#默认名单目录文件
#chroot_list_file=/etc/vsftpd/chroot_list
#如果启用,vsftpd将以独立模式运行。
listen=YES
#与listen参数一样,除了vsftpd将侦听IPv6套接字而不是IPv4套接字。此参数和listen参数是互斥的。
#listen_ipv6=YES
#此字符串是vsftpd将使用的PAM服务的名称。
pam_service_name=vsftpd
#如果启用,vsftpd将从userlist_file给出的文件名加载用户名列表。
userlist_enable=YES
#如果启用,并且vsftpd是使用tcp_wrappers支持编译的,则传入连接将通过tcp_wrappers访问控制提供。
tcp_wrappers=YES
#开启虚拟用户
guest_enable=YES
#主虚拟用户名
guest_username=vsftpd
#虚拟用户配置
user_config_dir=/etc/vsftpd/userconf
allow_writeable_chroot=YES修改内容(可自行根据内容修改)
# 修改
anonymous_enable=NO
listen=YES
# 取消注释
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
# 注释
listen_ipv6=YES
# 添加
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/userconf
allow_writeable_chroot=YES8.常用vsftpd命令
# 开机自启动
systemctl enable vsftpd
# 启动vsftpd
systemctl start vsftpd
# 重启vsftpd
systemctl restart vsftpd
# 停止vsftpd
systemctl stop vsftpd
# 关闭vsftpd
systemctl disable vsftpd9.如果同一个ftp账号想访问多个不同目录,可以使用挂载实现
mount --bind /opt/software/ /home/ftp1
mount --bind /usr/local/openresty/nginx/html /vsftpd/admin/文件服务器/**原型库
mount --bind /mnt/ /home/ftp1
基于vsftpd搭建项目文件服务器的更多相关文章
- Linux下基于vsftpd搭建ftp服务器
1.先用检查是否已经安装rpm -qa| grep vsftpd2.然后再进行在线安装vsftpd这个服务yum install vsftpd -y3.修改vi /etc/vsftpd/vsftpd. ...
- windows环境下基于nginx搭建rtmp服务器
基于nginx搭建rtmp服务器需要引入rtmp模块,引入之后需重新编译nginx linux环境几个命令行就能实现编译,笔者未尝试,网上有很多教程. windows环境还需要安装一系列的编译环境,例 ...
- 在阿里云主机上基于CentOS用vsftpd搭建FTP服务器
最近需要在一台阿里云的云服务器上搭建FTP服务器,在这篇博文中分享一下我们根据实际需求进行的一些配置. ftp软件用的是vsftpd. vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序 ...
- 【腾讯云服务器】基于centos7搭建ftp服务器(vsftpd)
该博客分为三部分设置,1.ftp服务器搭建.2.防火墙设置 3.腾讯云安全组 一.ftp服务器搭建 1.1 安装vsftpd yum install vsftpd -y 1.2 启动vsftpd服 ...
- 基于openssl搭建https服务器
1. 搭建web环境 我这里使用源码编译安装方式安装httpd.详情可以参加我的一篇博客http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_1 ...
- Nginx+vsftpd搭建图片服务器
安装Nginx 参考:http://www.cnblogs.com/idefav2010/p/nginx-concat.html Nginx配置文件 location ~ .*\.(gif|jpg|j ...
- 基于Docker搭建GitLab服务器
运行环境:CentOS 7.4 一.安装Docker Docker安装可以参照runoob教程(http://www.runoob.com/docker/centos-docker-install.h ...
- ubuntu VSFTPD搭建FTP服务器 提示530错误
配置完 vsftpd ,发现不能登录,提示 530 错误.解决方法如下: sudo rm /etc/pam.d/vsftpd 注:因为 ubuntu 启用了 PAM,所在用到 vsftp 时需要用到 ...
- 基于licode搭建webrtc服务器
0. 前言 licode官网文档安装教程十分简单, 但是实际搭建过程是很艰辛的. 官方文档没有提示说会遇到什么样的问题, 实际过程中可能遇到各种各样的问题, 在解决的时候费时费力, 我就总结一下自己在 ...
- 基于 BaGet 搭建 Nuget 服务器
1 前言 1.1 BaGet 介绍 BaGet 是一个轻量级的,开源的,跨平台的 Nuget 和 symbol 服务器. 1.2 环境介绍 操作系统:CentOS 7 使用 Docker 安装 2 安 ...
随机推荐
- Itext PDF 编辑 合并 图片转PDF以及表单域
Itext PDF 编辑 合并 图片转PDF以及表单域 编辑PDF x import com.itextpdf.text.pdf.BaseFont; import com ...
- 防火墙规则之iptables
防火墙规则之iptables 一 如何禁止外面应用对某个端口访问 iptables -I INPUT -p TCP ! --source 127.0.0.1 --dport 8080 -j DROP ...
- WampServer 的安装
一, 下载 wampserver3.2.0_x64.exe 文件 二,在D盘新建wamp64文件 三,以管理员的方式运行安装文件 只有两种语方,选择 English 接受协议 下一步: 点击下一 ...
- C# Afroge摄像头翻转90
1.dll和命名空间就不在此列举了,如下只是将转换方法介绍: 第一个函数: public void Rotate90() { // 计算角度,类变量 //dAngle = dAngle + 90; / ...
- linux服务器下安装cbc和ipopt求解器【踩坑总结】
安装CBC求解器 CBC求解器是一个C++库,我们可以通过以下命令在Linux系统中进行安装: sudo apt-get install coinor-cbc 对于Windows操作系统,可以从CBC ...
- linux系统下,jdk的安装和配置教程,以jdk-8u311为例
1.官方下载 下载地址:https://www.oracle.com/ 本文以jdk8为例, 1)下载地址:https://www.oracle.com/java/technologies/downl ...
- 使用WinSW把nginx做成windows服务
1.下载nginx:http://nginx.org/en/download.html 2.下载win sw:https://github.com/winsw/winsw/releases/tag/v ...
- 基于阿里Anolis OS8.8 的Hadoop大数据平台建设
基于阿里Anolis OS8.8 的Hadoop大数据平台建设 VNC安装与使用 0 Anolis OS基本操作 0.1 Anolis OS用户与组管理 0.2 系统进程管理 0.3 文件操作命令及权 ...
- 在线Token、随机密码生成工具
在线生成自定义长度,包含大写或小写字母.数字或符号的随机字符串.无论你需要生成API访问令牌.账户激活令牌,还是随机密码字符串,它都能帮你快速完成. 在线Token.随机密码生成工具
- xxlJob端口号及故障转移设置,解决负载均衡调度任务执行
xxlJob端口号及故障转移设置,解决负载均衡调度任务执行 my.xxljob.executorPort = 1162 my.xxljob.executorAppName = myService-jo ...