centos 搭建ftp服务器

项目上需要用到ftp文件服务同步,所以在测试环境进行搭建,其中遇到了一些问题,遂记录。

1、安装vsftpd软件包

打开终端并输入以下命令来安装vsftpd

bash 复制代码
yum install vsftpd -y

2、运行vsftpd

bash 复制代码
systemctl start vsftpd

3、测试匿名连接

我这里用的工具是MobaXterm

点击OK,然后弹出输入密码,直接点 OK,即可。如果一切正常则会登录成功。

这个pub目录就是默认的ftp文件服务器的目录了,真实地址是在/var/ftp目录下:

bash 复制代码
ls -l /var/ftp 

4、配置vsftpd

编辑/etc/vsftpd/vsftpd.conf文件,使用任何文本编辑器打开该文件:

bash 复制代码
vim /etc/vsftpd/vsftpd.conf

修改配置参数。根据需要对以下参数进行调整或取消注释:

bash 复制代码
anonymous_enable=NO: 关闭匿名登录功能;

local_enable=YES: 允许本地用户登录;

write_enable=YES: 允许写入文件;

local_root=/data/nas: 配置ftp目录;

chroot_local_user=YES: 限制用户只能访问其主目录;

重启vsftpd服务

bash 复制代码
systemctl restart vsftpd

此时再用anonymous登录就会提示:530 Please login with USER and PASS.

5、添加FTP用户

创建一个系统用户,并为其分配FTP目录

bash 复制代码
useradd ftpuser
# useradd ftpuser -s /sbin/nologin #添加一个名为ftpuser的账户用于登陆ftp
passwd ftpuser
mkdir /home/ftpuser
chown ftpuser:ftpuser /home/ftpuser

6、使用新用户密码登录

7、常见问题

vsftpd目录限制chroot(用户隔离)500错误分析以及解决方案-阿里云开发者社区

1)chroot_list文件不存在

500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list

由于vsftpd默认没有chroot_list文件,故而登录失败,创建一下文件:

touch /etc/vsftpd/chroot_list

再尝试登录

2)安全问题

500 OOPS: vsftpd: refusing to run with weitable root inside chroot()

这是因为,为了避免一个安全漏洞,从vsftpd 2.3.5 开始,chroot目录必须不可写,否则用户不能登录

若要解决该问题,可以新增一条参数:

allow_writeable_chroot=YES

相关推荐
wanhengidc7 分钟前
算力服务器的优势都有哪些?
大数据·运维·服务器·网络·人工智能·安全·智能手机
南境十里·墨染春水9 分钟前
linux学习进展 C语言连接mysql
linux·c语言·学习
巨大八爪鱼11 分钟前
瑞芯微RV1106通过MIPI CSI-2 D-PHY接口驱动OV5640摄像头并拍摄照片
linux·ov5640·mipi·v4l2·csi2-dphy
一直有一个ac的梦想12 分钟前
cmu15445 2025fall lec15 query optimiaztion Pt1
java·服务器·数据库
2023自学中36 分钟前
从键盘输入 ./aaa 到程序运行,中间发生了什么?
linux·嵌入式
keyipatience39 分钟前
13.系统调用与进程管理全解析
linux
xingyuzhisuan41 分钟前
风冷还是水冷?RTX 4090服务器散热方案对比
运维·服务器·ai·gpu算力
你今天努力了吗?*—*42 分钟前
4.1 Linux 日志排查
linux·运维·服务器
小狗爱吃黄桃罐头44 分钟前
宋宝华:原理和实战解析Linux中如何正确地使用内存屏障
linux·内存屏障
山上三树1 小时前
操作系统如何实现各种功能
linux·运维·服务器