Linux--vsFTP配置篇
一、vsFTP 简介
vsftpd(Very Secure FTP Daemon)是 Linux 下常用的 FTP 服务程序,具有安全性高、效率高和稳定性好等特点。支持匿名访问、本地用户登录、虚拟用户等多种认证方式,并可灵活控制权限。
二、安装与启动
1. 检查是否已安装 vsftpd
rpm -qa | grep vsftpd
2. 安装 vsftpd(若未安装)
yum install vsftpd
3. 启动 vsftpd 服务
service vsftpd start
4. 查看服务运行状态
service vsftpd status
5. 重启 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 # 允许匿名创建目录
2. 修改 /var/ftp/pub 目录权限
chmod o+rw /var/ftp/pub
3. 重启服务
service vsftpd restart
4. Windows 测试连接
打开 CMD:
Cmd
ftp 192.168.77.XX
用户名输入:ftp 或 anonymous
密码输入:任意邮箱地址(如 a@b.com)
上传测试:
Cmd
put 文件名
下载测试:
Cmd
get 文件名
四、实验二:本地用户上传/下载文件
1. 创建本地用户
useradd 拼音缩写
passwd 拼音缩写
设置密码为:a123456
2. 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
2. 限制用户只能访问其主目录(禁止切换到其他目录)
修改配置文件 /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
3. 重启服务生效
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 限制)