Linux搭建 FTP 服务
在此文章将会介绍:
- 如何安装vsftpd
- 如何配置vsftpd文件
- 如何添加ftp用户
- 分别使用cmd窗口与xftp进行连接
- 搭建过程中可能会遇到的问题以及其解决方法
安装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 服务器。如果用户在此文件中存在,需要注释或者删除用户名
本文由 有花不见叶
原创发布于光阴小栈,未经许可,禁止转载。
学长好啊