博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS7种搭建FTP服务器
阅读量:6718 次
发布时间:2019-06-25

本文共 2586 字,大约阅读时间需要 8 分钟。

安装vsftpd

首先要查看你是否安装vsftp

[root@localhost /]# rpm -q vsftpdvsftpd-3.0.2-10.el7.x86_64           #显示也就安装成功了!

如果没有则安装vsftpd

[root@localhost/]# yum  install -y  vsftpd

完成后再检查一遍

[root@localhost /]# whereis vsftpdvsftpd:/usr/sbin/vsftpd   /etc/vsftpd/usr/share/man/man8/vsftpd

查看vsftpd服务的状态

[root@localhost /]# systemctl status vsftpd.service#如果是激活状态的话会有active绿色的标记

激活vsftpd服务

[root@localhost /]# systemctl start vsftpd.service

设置vsftpd服务开机自启

[root@localhost /]# systemctl enable vsftpd.service

配置vsftpd.conf

首先备份配置文件(必须要备份,以免出现意外时恢复)

cp /etc/vsftpd/vsftpd.conf  /etc/vsftpd/vsftpd.conf.bakvim /etc/vsftpd/vsftpd.conf

编辑配置文件,修改如下:

anonymous_enable=NO  # 禁用匿名登录ascii_upload_enable=YESascii_download_enable=YESchroot_local_user=YES  # 启用限定用户在其主目录下allow_writeable_chroot=YES  # 加上这行解决了无法登陆的问题(重点,不然可能会出现530问题)

之后在配置文件末尾添加

use_localtime=YESlisten_port=21chroot_local_user=YESidle_session_timeout=300guest_enable=YESguest_username=vsftpduser_config_dir=/etc/vsftpd/vconfdata_connection_timeout=5virtual_use_local_privs=YESpasv_min_port=10060pasv_max_port=10090accept_timeout=5connect_timeout=5

allow_writeable_chroot=YES

加上这行解决了无法登陆的问题(重点,不然可能会出现530问题)

建立用户文件

第一行用户名,第二行密码,不能使用root为用户名

vim /etc/vsftpd/virtusers

添加内容

charles123456

生成用户数据文件

首先你需要确定你是否有db_load这个命令

rpm –q  db

安装之前先查询一下

yum  search db4

安装

yum install-y  compat-db47.x86_64  (以你的机器为准)

生成db文件

db_load -T -t hash-f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

设定PAM验证文件,并指定对虚拟用户数据库文件进行读取

chmod 600 /etc/vsftpd/virtusers.db   (权限r,w即可)

修改/etc/pam.d/vsftpd文件

修改前先备份

cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

将auth及account的所有配置行均注释掉

vim /etc/pam.d/vsftpd

在里面添加这两句话

auth    sufficient  /lib64/security/pam_userdb.so  db=/etc/vsftpd/virtusersaccount sufficient  /lib64/security/pam_userdb.so  db=/etc/vsftpd/virtusers

如果系统为32位,上面lib64改为lib

新建系统用户vsftpd,用户目录为/home/vsftpd

useradd vsftpd -d/home/vsftpd -s /bin/false

程序会自动创建vsftpd家目录

建立虚拟用户个人配置文件

mkdir /etc/vsftpd/vconfcd  /etc/vsftpd/vconf

这里建立两个虚拟用户配合文件

touch charles

建立用户根目录

mkdir -p /home/vsftpd/charles/

编辑用户配置文件,内容如下,其他用户类似

vim charles local_root=/home/vsftpd/charles/write_enable=YESanon_world_readable_only=NOanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YES

防火墙设置(centos 7)

如果系统启用了防火墙和SELinux,那么还要做以下配置(默认情况下centos7是使用firewall和selinux的,不在使用iptables)

防火墙添加FTP服务

[root@localhost vsftpd]#firewall-cmd --permanent --zone=public --add-service=ftp[root@localhost vsftpd]#firewall-cmd --reload

设置SELinux:

[root@localhost vsftpd]#getsebool -a | grep ftp[root@localhost vsftpd]#setsebool -P ftpd_full_access on

完成以上步骤就可以了!

测试

打开ftp客户端,输入服务器ip(虚拟机ip),填写虚拟用户名和密码即可

转载地址:http://hpumo.baihongyu.com/

你可能感兴趣的文章
Akka笔记之消息传递
查看>>
《企业大数据系统构建实战:技术、架构、实施与应用》一1.3 本章小结
查看>>
为什么不能用memcached存储Session?
查看>>
《C++编程风格(修订版)》——2.2 明确定义的状态
查看>>
页面加载显示进度条
查看>>
Logstash 日志搜集处理框架 安装配置
查看>>
Manifest.xml 入门基础(一) 概述与<manifest>标签
查看>>
2016全球最强数据库大盘点
查看>>
可视化与领域驱动设计
查看>>
数据结构实践——字符串加密
查看>>
其他转移指令(0904)
查看>>
《卸甲笔记》-多表查询之一
查看>>
安装部署nvm、npm、nodejs之前先了解清楚三者之间关系
查看>>
linux 磁盘管理下(LVM逻辑卷创建和管理,磁盘配额设置方法以及小技巧)
查看>>
NFS Volume Provider(Part III) - 每天5分钟玩转 OpenStack(64)
查看>>
MySQL 安装详解
查看>>
使用Express + Socket.io + MongoDB实现简单的聊天室
查看>>
【cocos2d-x】横向滚屏射击游戏②----虚拟控制手柄
查看>>
Docker 之 容器网络管理
查看>>
基于时间点的恢复
查看>>