Vsftp搭建 for centos7
[root@hys ~]# uname -a
Linux hys 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
这是我的操作系统的版本信息
- 检查是否已经安装vsftp
[root@hys ~]# rpm -qa | grep vsftp
vsftpd-3.0.2-22.el7.x86_64
如果显示如上说明已经安装vsftp,否则继续安装。
- 执行以下命令安装vsftp
yum install vsftp -y
- 检查是否已经安装成功
#rpm -qa | grep vsftp
如果安装成功进行下一步
- 备份配置文件
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
- 配置vsftp
默认情况下是可以匿名登陆的,以下是我的文件配置情况。

vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO # 不允许匿名登陆
local_enable=YES # 可以本地登陆
local_root=/ftpservice/localusers # 本地登陆后的家目录
write_enable=YES # 是否允许上传或者修改文件
local_umask=022 # 上传后的权限掩码
anon_upload_enable=YES # 允许匿名用户上传文件
anon_mkdir_write_enable=YES # 允许匿名用户创建目录
dirmessage_enable=YES # 开启目录标语
connect_from_port_20=YES # 通过端口20创建你链接
xferlog_enable=YES # 可以生成日志文件
xferlog_file=/etc/vsftpd/vsftpd.log # 指定存放日志的文件
xferlog_std_format=YES # 设置日志存放格式
ftpd_banner=Welcome to blah FTP service. # 登陆后的欢迎信息(但是我没看到过)
anon_root=/ftpservice/anon # 匿名登陆后的家目录
anon_mkdir_write_enable=YES # 允许匿名用户创建文件夹
anon_other_write_enable=YES # 允许匿名用户重命名或者删除
chroot_local_user=YES # 启用禁止更换根目录
listen=YES # 与监听有关的设置
pam_service_name=vsftpd # 登陆规则检查
userlist_enable=YES # 用户限制登陆列表
userlist_deny=YES
tcp_wrappers=YES # 使用tcp 协议传送数据
guest_enable=YES # 开启虚拟用户功能
guest_username=ftpuser1 # 指定虚拟用户的的宿主用户
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vconf # 虚拟用户配置文件存放目录
allow_writeable_chroot=YES #
- 创建本地用户
useradd ftpuser
useradd ftpuser1 # 本文将其作为虚拟用户的宿主用户
useradd ftpuser2
- 创建本地用户家目录
mkdir -p /ftpservice/localusers
修改拥有者
chown ftpuser:ftpuser /ftpservice/
修改权限
chmod -R 755 /ftpservice/
- 创建日志文件
touch /etc/vsftpd/vsftpd.log
在此处存放的虚拟用户配置文件名称与对应的虚拟用户名相同
- 创建虚拟用户文件
touch /etc/vsftpd/vusers
编辑(奇数行是用户名,偶数行是上一行用户名的密码)
# cat /etc/vsftpd/vusers
test
123456
user1
user1
- 生成用户数据文件
# db_load -T -t hash
-f /etc/vsftpd/vusers /etc/vsftpd/vusers.db# chmod 600 /etc/vsftpd/vusers.db # 修改访问权限
# chmod 600 /etc/vsftpd/vusers # 修改访问权限
- 创建虚拟用户配置文件存放目录
# mkdir /etc/vsftpd/vconf
- 创建虚拟用户配置文件并进行配置(文件名称与虚拟用户名称相同)
# cd /etc/vsftpd/vconf
# touch test
# vi test
local_root=/ftpservice/virtual/test1 # 虚拟用户的家目录
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
- 创建虚拟用户家目录
# mkdir /ftpservice/virtual/test1
# chown -R ftpuser1:ftpuser1 /ftpservice/virtual
# chmod -R 755 /ftpservice/virtual/test1
- 修改/etc/pam.d/vsftpd文件。
在文件最前面假如以下内容
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vusers
- 配置完成后启动vsftp
- 启动
# systemctl start vsftpd.service
- 检查状态
# systemctl status vsftpd.service
● vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2018-06-22 10:11:30 CST; 8min ago
Process: 3271 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
Main PID: 3272 (vsftpd)
CGroup: /system.slice/vsftpd.service
└─3272 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
Jun 22 10:11:30 hys systemd[1]: Starting Vsftpd ftp daemon...
Jun 22 10:11:30 hys systemd[1]: Started Vsftpd ftp daemon.
如果显示状态如上,表示已正在运行。
- 在另一电脑上输入ftp://本机IP即可登陆。
- 如所有方式都无法登陆检查防火墙和SELinux是否关闭
- 关闭防火墙
# systemctl stop vsftpd.service
- 设置成开机不启动
# systemctl disable firewalld.service
- 关闭SELinux
# setenforce 0
查看selinux状态
# getenforce
永久关闭
# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing # 此处换为disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
搭建心得:
- FTP服务器:支持FTP协议的服务器就是FTP服务器
- FTP是Fire Transfer Protocol(文件传输协议)的简称
- 功能是跨多操作系统文件传输
- 结构:基本程序+配置文件(vsftp.conf)+登陆验证文件(/etc/pam.d/vsftp)
- Vsftp在vsftp.conf中的配置主要涉及到匿名用户的配置、本地用户的配置、虚拟用户的配置、对计算机资源使用的相关配置(如client数量的限制等)
- 对用户的配置主要有访问权限的配置、上传下载权限的配置、对某个目录访问权限的配置等
- 本人觉得使用虚拟用户进行登陆,能够隐藏本地用户名称,对本机安全起到了有效的作用
以上为对本人vftp搭建的回顾总结,如有疑问欢迎交流。
注:本文是在下学习网上各位前辈分享的相关知识的成果,在此对各位前辈表示感谢。
Vsftp搭建 for centos7的更多相关文章
- openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 四
openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 一 openstack-r版(rocky)搭建基于centos7.4 的openstac ...
- openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 三
openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 一 openstack-r版(rocky)搭建基于centos7.4 的openstac ...
- openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 二
openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 一 openstack-r版(rocky)搭建基于centos7.4 的openstac ...
- openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 一
openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 一 openstack-r版(rocky)搭建基于centos7.4 的openstac ...
- 个人智能家居系统 - MQTT服务器搭建(centOS7.3)
个人智能家居系统 - MQTT服务器搭建(centOS7.3) 0x00 参考 在CentOS7 上安装mosquitto1.4.1服务器,实现MQTT信息推送功能并增加websocket功能 mos ...
- linux下使用vsftp搭建FTP服务器:匿名登录,账号登录,SSL加密传输
目录 一.关于FTP和VSFTP 二.ftp.sftp.vsftp.vsftpd的区别 三.项目一:搭建一台所有人都可以访问的通用FTP服务器 3.1 项目要求 3.2 项目思路分析 3.3 使用vs ...
- MacOS上通过虚拟机搭建基础CentOS7系统环境
MacOS上通过虚拟机搭建基础CentOS7系统环境 尽管从Mac的Terminal可以看出,macOS与UNIX.Linux或多或少都有血缘关系(shell.bash等),但是在mac进行Linux ...
- VM虚拟机搭建Linux CentOS7(手把手教程)
VM虚拟机搭建Linux CentOS7(手把手教程) 目录 VM虚拟机搭建Linux CentOS7(手把手教程) 一.VM虚拟机和Linux镜像文件下载 1. 登录VM虚拟机官方地址: 2. 安装 ...
- 详解CentOS7安装配置vsftp搭建FTP
安装配置vsftpd做FTP服务,我们的Web应用使用git管理进行迭代,公共文件软件存储使用开源网盘Seafile来管理,基本够用.想不到FTP的使用的场景,感觉它好像老去了,虽然现在基本没有用到这 ...
随机推荐
- mysql 按照月份自动创建表,以年和月为表明,动态生成。
需求:mysql5.5 数据库,想要根据月份自动创建表,每个月创建一张表,需要数据库自动创建,并根据当前年和月动态生成表名称. 解决办法:1 连接数据库工具为Navicat 2 首先创建存储过程, ...
- Kafka#4:存储设计 分布式设计 源码分析
https://sites.google.com/a/mammatustech.com/mammatusmain/kafka-architecture/4-kafka-detailed-archite ...
- 如何知道局域网内哪些ip被占用
诶,有时候真是略捉急,开始的时候估摸了一个网段,试了3个都没有通,觉得这个一个个试验的方法简直捉急到家了.下面就为大家分享3种简单地如何查看ip地址是否被占用的方法. 1.ping windows键+ ...
- hdoj:2050
#include <iostream> using namespace std; int main() { int T; while (cin >> T) { ; i < ...
- awk使用总结
转载自董的博客 1. 什么是awk awk是Unix/Linux提供的样式扫描与处理工具,非常擅长处理结构化数据和生成表单.与sed 和grep 很相似,但功能却超过大于两者,由于awk具备各种脚本语 ...
- IntelJ idea下lombok 不生效的问题(@Builder等注解不生效的问题)解决,lombok Plugin插件安装
插件安装方式,在设置setting 中找到plugins.在检索框中检索lom,没有的话点击红框内的search in repositories. 点击install进行安装. 记得安装好了重启ide ...
- css定位实现星级展示没有交互
<div class="star_evaluate"> <span class="star star_10"></span> ...
- PXE:另类方式启动 centos live
default menu.c32 timeout 1 label centos76-live-by-other menu label centos76-live from ftp by other k ...
- Spring的ApplicationEvent实现
原理:ApplicationContextAware接口提供了publishEvent方法,实现了Observe(观察者)设计模式的传播机制,实现了对bean的传播.通过ApplicationCont ...
- css布局 - 工作中常见的两栏布局案例及分析
突然想到要整理这么一篇平时工作中相当常见但是我们又很忽视的布局的多种处理方法.临时就在我经常浏览的网站上抓的相对应的截图.(以后看到其他类型的我再补充) 既然截了图,咱们就直接看人家使用的布局方式,毕 ...