当前位置: 首页 > news >正文

centos中安装并设置vsftpd

vsftpd是一个可安装在linux上的ftp服务器软件。

一、安装

安装前保证服务器能上互联网。如果不能上网,看看能不能设法利用局域网代理上网。

sudo yum -y install vsftpd

二、配置

1、修改配置文件

cd /etc/vsftpd
#修改之前记得备份!!!
sudo cp vsftpd.conf vsftpd.conf.bak
sudo vi vsftpd.conf

修改内容:

#取消匿名访问
anonymous_enable=NO
#添加以下内容
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES#通过搭配能实现以下几种效果: 
#①当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。 
#②当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。 
#③当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。 
#④当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list#不添加下面这个会报错? 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
allow_writeable_chroot=YES
#ftp端口设为50021
listen_port=50021#启动被动式联机(passivemode)
pasv_enable=YES
#上面两个是与passive mode 使用的 port number 有关,如果您想要使用55400到55410 这 11 个 port 来进行被动式资料的连接,可以这样设定
pasv_min_port=55400
pasv_max_port=55410#FTP访问目录
local_root=/home/admin/ftp/#禁用DNS反向解析,防止FTP登录时间太长而失败
reverse_lookup_enable=NO

参考文章:Centos7安装搭建FTP服务器(最简便方法)

2、开放端口

在操作系统命令行中,

#添加主端口
sudo firewall-cmd --zone=public --add-port=50021/tcp --permanent
#添加被动端口
sudo firewall-cmd --zone=public --add-port=55400-55410/tcp --permanent
#刷新
sudo firewall-cmd --reload

确认一下端口是否已经开通了

sudo firewall-cmd --query-port=50021/tcp
sudo firewall-cmd --list-ports

3、设置开机启动vsftpd

sudo systemctl enable vsftpd.service
sudo systemctl start vsftpd.service
sudo systemctl status vsftpd.service

4、启动与重启vsftpd

如果要手动启动或重启vsftpd,可以采用如下命令:

sudo systemctl start vsftpd.service
sudo systemctl restart vsftpd.service

5、创建账号

创建一个名为“FTP_USER”的账号,该账号的主目录为“/home/admin/ftp/”,并且它没有登录权限(不能通过 shell 登录):限制它的登录 shell 为 /sbin/nologin。

#创建账号
sudo useradd -d /home/admin/ftp/ -s /sbin/nologin FTP_USER
#设置密码
sudo passwd FTP_USER
#输入和确认密码

“/sbin/nologin”并非系统提供的shell,我们要手动加进去。打开/etc/shells,在最后加入一行:/sbin/nologin

sudo vi /etc/shells

注: “/sbin/nologin” 这个名字能不能换还是另有玄机,不清楚,没有做测试。

6、ftp文件夹赋权

sudo chmod 755 /home/admin
sudo chmod 755 /home/admin/ftp
sudo chown -R FTP_USER /home/admin/ftp
sudo cp user_list chroot_list

三、测试

随便用一个ftp客户端访问测试是否连接成功即可!我用的是FileZilla Client。
在这里插入图片描述

四、登录FTP时间太长的问题

刚搭建好vsftpd时,我在本地局域网内连接,虽然登录有点慢,但能成功连接。而外网用户通过ftp客户端软件却无法登录,不过用IE可以连接上,而时间就非常慢。后来将在vsftpd.conf中加入一句,问题解决:

#禁用DNS反向解析
reverse_lookup_enable=NO

原因是与ssh一样,vsftp的配置文件默认开启了DNS反向解析,禁用就好了。当然,这句话我是抄过来的,还不明白是什么意思。
参考文章:
vsftp登录时间太长的解决办法

http://www.lryc.cn/news/379202.html

相关文章:

  • C语言入门系列:指针入门(超详细)
  • 打印水仙花数
  • 【SCAU数据挖掘】数据挖掘期末总复习题库简答题及解析——下
  • PyQt学习之简介
  • 深入理解前端缓存
  • K-means聚类算法详解与实战
  • python数据分析-糖尿病数据集数据分析预测
  • 【前端】 nvm安装管理多版本node、 npm install失败解决方式
  • 第11天:API开发与REST framework
  • 2024 年解锁 Android 手机的 7 种简便方法
  • 利用机器学习重构视频中的人脸
  • 2021数学建模C题目– 生产企业原材料的订购与运输
  • C# OpenCvSharp 图像复制-clone、copyTo
  • 中国投入到终止遗传性疾病的战斗
  • PCL common中常见的基础功能函数
  • 力扣每日一题 6/22 字符串/贪心
  • MCT Self-Refine:创新集成蒙特卡洛树搜索 (MCTS)提高复杂数学推理任务的性能,超GPT4,使用 LLaMa-3 8B 进行自我优化
  • 自制HTML5游戏《开心消消乐》
  • 【C++】平衡二叉树(AVL树)的实现
  • 第一百一十八节 Java面向对象设计 - Java接口
  • Flink nc -l -p 监听端口测试
  • 在IntelliJ IDEA中使用Spring Boot:快速配置
  • django filter 批量修改
  • maven:中央仓库验证方式改变:401 Content access is protected by token
  • 【面试】http
  • 获取泛型,泛型擦除,TypeReference 原理分析
  • springboot 3.x 之 集成rabbitmq实现动态发送消息给不同的队列
  • C++ 代码实现鼠标右键注册菜单,一级目录和二级目录方法
  • SQLite 3 优化批量数据存储操作---事务transaction机制
  • [程序员] 表达的能力