银河麒麟V10搭建vsftpd

一、安装vsftpd

1、查看是否有安装过

rpm -q vsftpd

在这里插入图片描述
2、安装

yum install -y vsftpd

在这里插入图片描述

3、服务启动步骤

设置开机启动并此次立即启动

systemctl enable --now vsftpd

在这里插入图片描述

启动

systemctl start vsftpd

重启

systemctl restart vsftpd

停止

systemctl stop vsftpd

查看状态

systemctl status vsftpd

在这里插入图片描述

4、系统防火墙放行ftp服务

firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload

在这里插入图片描述

如果没有重要的数据在服务器里面,或者在本地虚拟机中外网无法访问的情况下,建议直接关闭防火墙即可省略以上繁琐的步骤

systemctl stop firewalld.service

二、创建用户

1、首先创建一个目录,作为这个ftp用户所拥有的目录

mkdir -p /home/ftproot/ftptest

2、创建用户ftptest,并且指定其目录为用户目录中创建的/home/ftproot/ftptest

useradd -d /home/ftproot/ftptest -g ftp -s /sbin/nologin ftptest

-g ftp 表示该用户属于ftp分组 (ftp分组是内置的,本来就存在,不需要自己创建)

-s /sbin/nologin 表示这个用户不能用来登录secureCRT这样的客户端,这种不能登陆的用户又叫做虚拟用户

创建过程给出的警告信息是正常的,不用理会

3、把目录/home/ftproot/ftptest的拥有者设置为ftptest

chown -R ftptest /home/ftproot/ftptest

使ftptest用户拥有这个目录的读写权限

chmod -R 775 /home/ftproot/ftptest

为ftptest用户设置密码

复制代码

passwd ftptest

三、配置文件修改

目前 FTP 服务登陆允许匿名登陆,也无法区分用户访问,我们需要配置 FTP 访问权限;

vsftpd 的配置目录为 /etc/vsftpd,包含下列的配置文件:
vsftpd.conf 为主要配置文件
ftpusers 配置禁止访问 FTP 服务器的用户列表
user_list 配置用户访问控制

1、配置文件位置

/etc/vsftpd/vsftpd.conf

建议先备份一下。

vi /etc/vsftpd/vsftpd.conf

编辑器显示行号

:set number

修改第12行,禁止匿名登录

anonymous_enable=NO

2、文件传输速度优化
vsftpd有两种端口:
一种是21端口,用来监听客户端连接请求的。 这个一般说来是固定的,就一直使用21端口。
一种是,一旦获取到请求之后,再专门用户服务端和客户端传输数据的端口。 (安装用的这种)

(1)、在vsftpd.conf的最后追加

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

这表示使用被动模式,用于传输数据的端口分配从30000-31000之间
开启后需要执行下面的操作

可以选择关闭防火墙 或者开启对应的端口
# ftp被动模式 端口
firewall-cmd --zone=public --add-port=起始端口-结束端口/tcp --permanent
# ftp登录端口
firewall-cmd --zone=public --add-port=xxx端口/tcp --permanent

(2)、

#本地用户最大传输速率(字节/秒),0为不限制
local_max_rate=0
#允许ip变化  防止 425 Security: Bad IP connecting.
pasv_promiscuous=YES

四、 用户鉴权

因为用户 ftptest 是 nologin的,所以存在鉴权的问题。 如果鉴权问题不解决,就是永不停息的 530错误。。。

解决办法有如下两种:

1、方式一:编辑/etc/pam.d/vsftpd

vim /etc/pam.d/vsftpd

注释下面这一行

#auth required pam_shells.so

加上新的一行

auth required pam_nologin.so

这样不去鉴权,从而允许 ftptest 这种 nologin用户登录 ftp 服务器
在这里插入图片描述

2、方式二:shells 文件

在/etc/shells文件里面增加一行:/sbin/nologin

/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/sbin/nologin

这样允许不能登录系统的用户通过鉴权

重启服务

systemctl restart vsftpd.service

然后用浏览器,ftp命令或ftp工具访问了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值