Linux搭建 FTP 服务

在此文章将会介绍:

  1. 如何安装vsftpd
  2. 如何配置vsftpd文件
  3. 如何添加ftp用户
  4. 分别使用cmd窗口与xftp进行连接
  5. 搭建过程中可能会遇到的问题以及其解决方法

安装vsftpd

1、检查是否已经安装vsftpd

# rpm -qa | grep vsftpd

2、安装 vsftpd

# yum install vsftpd -y

3、启动 vsftpd 服务

# systemctl start vsftpd.service

4、公网访问确认是否启动

# telnet + 云服务器公网 IP + 21

编辑vsftpd配置文件

vsftpd配置文件地址:/etc/vsftpd

目录结构:

  • ftpusers
  • user_list
  • vsftpd.conf
  • vsftpd_conf_migrate.sh

1、进入对应配置目录,编辑vsftpd 配置文件,将文件中的anonymous_enable=YES改为 anonymous_enable=NO

# vi /etc/vsftpd/vsftpd.conf

添加 FTP 用户

1、添加用户。本例添加名为 demo1的用户。输入命令:useradd -m -d /home/demo1 -s /sbin/nologin demo1

注意:-m 默认在home创建
-d 需要指定目录

阿里云ecs:useradd ftp_user -d /home/ftp_user -s /bin/bash

2、使用命令:passwd demo1为demo1用户设置登录密码。

3、禁止ftp用户登录shell

usermod -s /usr/sbin/nologin username

3、锁定用户目录(禁止访问上级目录)

下面两项是/etc/vsftpd/vsftpd.conf配置文件中的,将前面的#号去掉,并在下面的目录建立配置文件,写入需要锁定用户目录的用户。

chroot_local_user=NO

#当为YES时,chroot_list中的用户不锁定目录,为NO时,chroot_list中的用户锁定目录

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

allow_writeable_chroot=YES    #这句必须有

# /etc/vsftpd/chroot_list

自己设置的ftp用户名

4、重启服务

systemctl restart vsftpd

使用cmd连接FTP 

1、win+R,打开cmd窗口,输入ftp IP地址(XXX.XXX.XXX.XXX)

2、输入账户和密码进行连接

3、尝试查看目录文件,创建文件夹,修改文件夹,删除文件夹

使用xftp连接

 

常见问题

1、文章中使用的服务器为腾讯云主机,在本地使用 FTP 客户端连接时可能遇到连接超时和读取目录列表失败的问题。

解决方法:

  • 将客户端传输模式改为主动;

  • vsftpd.conf配置文件中新增以下语句:
pasv_address=XXX.XXX.XXX.XXX(对应IP地址)
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=2048

2、user_list文件为用户黑名单,此文件为禁止或允许使用vsftpd 的用户列表文件,当用户名称在此文件中存在,在/etc/vsftpd/vsftpd.conf 中设置userlist_deny=YES下也不能访问FTP服务器,在设置了userlist_deny=NO 时,仅允许user_list 中指定的用户访问FTP 服务器。如果用户在此文件中存在,需要注释或者删除用户名

本文由 有花不见叶 原创发布于光阴小栈,未经许可,禁止转载。

共有 1 条评论

进行回复 取消回复

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据