2020年最完整的ftp搭建教程-亲测可用

centos7.6下搭建ftp文件传输服务器

准备环境 centos7.6

提前关闭selinux 和firewalld防火墙
1.安装vsftp软件包
yum  -y install  vsftpd*
2.启动vsftpd服务器
 systemctl  restart  vsftpd
 systemctl enable vsftpd
3. 检查服务是否正常启动
ps -ef|grep vsftp   &&  netstat -tunlp|grep 21
至此 匿名用户的ftp已经搭建完成

去windos客户端查看

/var/ftp/pub/                      #linux服务上的原始目录
ftp://192.168.118.172/      #windos客户端访问的目录,没有用户名和密码

在这里插入图片描述

只能查看,下载无法创建文件和目录
如果需要在windos 端上传文件则需要修改配置文件
vim   /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES                       #允许匿名用户上传
anon_mkdir_write_enable=YES               #允许匿名用户创建目录

在这里插入图片描述
重启vsftp服务即可

systemctl  restart  vsftpd
chown -R ftp  /var/ftp/pub/                   #赋予子目录ftp用户所属组的权限

在这里插入图片描述

至此 可以匿名用户上传目录和文件,同时也可以下载 完成
接下来搭建最安全的以虚拟用户方式登录 ,vsftp配置虚拟用户
1.创建vsftpd使用的系统用户,主目录为/home/vsftpd,禁止ssh登录。创建之后所有虚拟用户使用这个系统用户访问文件。
useradd   vsftpd -d    /home/vsftpd -s   /bin/false
2.创建虚拟用户主目录,比如虚拟用户叫ftp1。后续文件都放在这个目录下
mkdir -p /home/vsftpd/ftp1
3.指定虚拟用户的信息
vim  /etc/vsftpd/loginusers.conf   
ftp1
123456
#这样就创建了ftp1这个虚拟用户,密码为123456
4.根据这个文件创建数据库文件,并启动数据库文件
db_load -T -t hash -f /etc/vsftpd/loginusers.conf /etc/vsftpd/loginusers.db
chmod 600 /etc/vsftpd/loginusers.db
vim /etc/pam.d/vsftpd
#注释掉原来所有内容后,增加下面的内容
auth    sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers
5.增加虚拟用户的数据库的配置文件
mkdir /etc/vsftpd/userconf         #创建虚拟用户配置文件目录
vim   /etc/vsftpd/userconf/ftp1   #这里的文件名必须与前面指定的虚拟用户名一致
local_root=/home/vsftpd/ftp1/
write_enable=YES
6.修改主配置文件
vim   /etc/vsftpd/vsftpd.conf    #存在的修改,不存在的增加
anonymous_enable=NO           #禁止匿名用户登录
chroot_local_user=YES            #禁止用户访问除主目录以外的目录
ascii_upload_enable=YES          #设定支持ASCII模式的上传和下载功能   
ascii_download_enable=YES     #设定支持ASCII模式的上传和下载功能   
guest_enable=YES                     #启动虚拟用户
guest_username=vsftpd             ## 虚拟用户使用的系统用户名
user_config_dir=/etc/vsftpd/userconf   #虚拟用户使用的配置文件目录
allow_writeable_chroot=YES      #最新版的vsftpd为了安全必须用户主目录(也就是/home/vsftpd/ftp1)没有写权限,才能登录
7重启vsftp服务
systemctl restart vsftpd

输入用户名和密码后客户端正常访问

在这里插入图片描述

可能会遇到的问题

1. ftp访问速度特别慢,加载半天

将 /etc/resolv.conf里面全部注释掉
在这里插入图片描述

2. 浏览器正常访问,以目录文件夹的形式无法访问

Windows 无法访问此文件夹,请确保输入的文件夹是正确的,并且你有权访问此文件夹。

在这里插入图片描述
请参照该地址排查https://jingyan.baidu.com/article/b7001fe1829deb0e7282ddb7.htmlhttps://jingyan.baidu.com/article/b7001fe1829deb0e7282ddb7.html

最后就能正常访问搭建的ftp拉
在这里插入图片描述
2020-04-29最完整的ftp搭建教程
最近写了一个一键安装的脚本

#!/bin/bash
#
echo  "开始安装ftp客户端  账号zhangsan 密码123456   目录/data/vsftp"
yum -y install vsftpd           &> /dev/null
systemctl restart  vsftpd
systemctl enable  vsftpd
netstat -tunlp|grep 21
if [ $? -eq 0 ];then
echo "ftp软件安装成功"
else
echo "ftp软件安装失败"
fi
mkdir -p  /data/vsftp
useradd   vsftpd -d   /data/vsftp   -s   /bin/false
echo "修改配置文件"
tee  /etc/vsftpd/zf-vsftp.conf   <<EOF
zhangsan
123456
EOF
db_load -T -t hash -f /etc/vsftpd/zf-vsftp.conf  /etc/vsftpd/zf-vsftp.db
chmod 600 /etc/vsftpd/zf-vsftp.db
cp /etc/pam.d/vsftpd  /etc/pam.d/vsftpd.bak
tee  /etc/pam.d/vsftpd  <<EOF
auth    sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/zf-vsftp
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/zf-vsftp
EOF
#指定虚拟用户的配置信息
mkdir /etc/vsftpd/userconf/
tee   /etc/vsftpd/userconf/zhangsan   <<EOF
local_root=/data/vsftp/                    
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
EOF
# 增加目录的权限
chown -R vsftpd  /data/vsftp
chmod -R  777        /data/vsftp
#修改著配置文件
cp /etc/vsftpd/vsftpd.conf  /etc/vsftpd/vsftpd.conf.bak
tee  /etc/vsftpd/vsftpd.conf   <<EOF
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/userconf
allow_writeable_chroot=YES
pam_service_name=vsftpd
EOF
systemctl restart vsftpd
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值