Linux--vsFTP配置篇

一、vsFTP 简介

vsftpd(Very Secure FTP Daemon)是 Linux 下常用的 FTP 服务程序,具有安全性高、效率高和稳定性好等特点。支持匿名访问、本地用户登录、虚拟用户等多种认证方式,并可灵活控制权限。

二、安装与启动

  1. 检查是否已安装 vsftpd

rpm -qa | grep vsftpd

  1. 安装 vsftpd(若未安装)

yum install vsftpd

  1. 启动 vsftpd 服务

service vsftpd start

  1. 查看服务运行状态

service vsftpd status

  1. 重启 vsftpd 服务

service vsftpd restart

三、实验一:匿名用户上传/下载文件

  1. 修改配置文件 /etc/vsftpd/vsftpd.conf

Ini

anonymous_enable=YES # 允许匿名访问

local_enable=YES # 允许本地用户登录

write_enable=YES # 允许写入操作

anon_upload_enable=YES # 允许匿名上传

anon_mkdir_write_enable=YES # 允许匿名创建目录

  1. 修改 /var/ftp/pub 目录权限

chmod o+rw /var/ftp/pub

  1. 重启服务

service vsftpd restart

  1. Windows 测试连接

打开 CMD:

Cmd

ftp 192.168.77.XX

用户名输入:ftp 或 anonymous

密码输入:任意邮箱地址(如 a@b.com)

上传测试:

Cmd

put 文件名

下载测试:

Cmd

get 文件名

四、实验二:本地用户上传/下载文件

  1. 创建本地用户

useradd 拼音缩写

passwd 拼音缩写

设置密码为:a123456

  1. Windows 登录测试

Cmd

ftp 192.168.77.XX

用户名: 拼音缩写

密码: a123456

上传文件:

Cmd

put aa.txt

下载文件:

Cmd

get aa.txt

五、实验三:限制用户访问

  1. 限制仅指定用户可以访问 FTP

修改配置文件 /etc/vsftpd/vsftpd.conf:

Ini

userlist_enable=YES

userlist_deny=NO

userlist_file=/etc/vsftpd.user_list

编辑白名单文件 /etc/vsftpd.user_list,添加允许的用户名:

zhangsan

lisi

  1. 限制用户只能访问其主目录(禁止切换到其他目录)

修改配置文件 /etc/vsftpd/vsftpd.conf:

Ini

chroot_local_user=YES

#chroot_list_enable=YES

#chroot_list_file=/etc/vsftpd/chroot_list

注意:如果使用 chroot_list,需取消注释并添加特定用户到该文件中。

示例:

echo "zhangsan" >> /etc/vsftpd/chroot_list

  1. 重启服务生效

service vsftpd restart

六、常用命令总结

功能 命令

检查 vsftpd 是否安装 rpm -qa | grep vsftpd

安装 vsftpd yum install vsftpd

启动 vsftpd service vsftpd start

停止 vsftpd service vsftpd stop

重启 vsftpd service vsftpd restart

查看运行状态 service vsftpd status

添加用户 useradd 用户名

设置密码 passwd 用户名

修改权限 chmod 权限 路径

查看配置文件 cat /etc/vsftpd/vsftpd.conf

七、注意事项

匿名用户默认目录:/var/ftp

本地用户登录后默认进入其主目录

修改配置文件后必须重启服务才生效

确保防火墙关闭或开放 20/21 端口

SELinux 可能影响 FTP 访问,建议临时关闭或配置策略

八、常见问题排查

问题 解决方法

匿名用户无法上传文件 检查 anon_upload_enable=YES,并确认 /var/ftp/pub 有写权限

本地用户无法登录 检查 local_enable=YES,确认用户名和密码正确

用户登录后无法切换目录 配置 chroot_local_user=YES 并检查主目录权限

连接超时或拒绝连接 检查 IP 地址是否正确、网络是否通、服务是否运行

提示"500 OOPS"错误 检查配置文件语法错误,特别是行尾是否有空格

九、总结

本笔记详细记录了 vsFTP 服务器的基本配置流程,包括:

安装与启动

匿名用户的上传与下载

本地用户的登录与文件传输

用户访问控制(白名单 + chroot 限制)

相关推荐
LCG米2 小时前
STM32硬件CRC外设实测:多项式固定陷阱、CRC-32校验不匹配根因与软件查表法耗时对比落地
stm32·单片机·嵌入式硬件
La Pulga6 小时前
【FreeRTOS源码学习笔记】任务切换
单片机·mcu·学习·嵌入式·freertos·实时操作系统
女神下凡9 小时前
芯参谋(85):Linux_PPI_NAND_驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件·设计规范
Zw-awa11 小时前
从 CH340 到 HC-05 和 HC-06:让小车脱离电脑
stm32
硅基手札11 小时前
【Linux 内核专栏 19】20 · 嵌入式子系统 — GPIO·pinctrl·clock·regulator
linux·运维·单片机·linux内核·嵌入式开发·调试定位
何粥学13 小时前
Vivado 2024.2 开发记录(AC820 Zynq-7020)——软件使用,点亮led灯
单片机·嵌入式硬件·zynq
Sakura_j_h_14 小时前
51 单片机驱动四位数码管:动态扫描、限流电阻与消影的取舍
单片机·嵌入式硬件·51单片机·嵌入式·数码管·动态扫描·限流电阻
HANDY0920015 小时前
从“不照人”到“剂量达标”:扇叶遮挡式UV-C空气消毒的工程边界与可验证评估框架
开发语言·人工智能·嵌入式硬件·智能家居
飞凌嵌入式18 小时前
千次静电放电试炼,守住飞凌嵌入式硬件可靠底线
嵌入式硬件
蹊黎1 天前
Linux 下用 C 语言实现进度条
linux·c语言·单片机