当前位置: 首页 > news >正文

Linux(CentOS 6/7)搭建 vsFTPD 服务器及排错实战(SELinux 导致无法切换目录)

环境说明

虚拟机系统版本为CentOS 7,IP地址配置为静态IP(如192.168.1.100),确保网络连通性正常。

安装 vsFTPD

方法一:通过yum安装vsftpd服务:

[root@localhost Packages]# yum install -y vsftpd

验证安装是否成功:

[root@localhost Packages]# rpm -qa | grep vsftpd

方法二:使用rpm-ivh命令安装vsftpd

[root@localhost Packages]# rpm -ivh vsftpd-2.2.2-11.el6.x86_64.rpm

配置 vsFTPD

编辑配置文件/etc/vsftpd/vsftpd.conf,修改以下关键参数:

anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES banner_file=/etc/vsftpd/welcome xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES

保存后重启服务使配置生效。

启动服务并设置开机自启

启动vsftpd服务并设置开机自启:

[root@localhost ~]# service vsftpd start [root@localhost ~]# chkconfig vsftpd on

创建本地用户

使用useradd创建FTP专用用户(如ftpuser),并设置密码:

[root@localhost ~]# useradd sdcet [root@localhost ~]# passwd sdcet

密码可以用:sdcet@123

修改主配置文件

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

配置内容如下:

anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES banner_file=/etc/vsftpd/welcome xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES

重启FTP服务

[root@localhost ~]# service vsftpd restart

客户端测试

(1)安装FTP客户端工具

[root@dns Packages]# rpm -ivh ftp-0.17-53.el6.x86_64.rpm

(2)准备测试文件

在服务器端用户主目录下创建下载测试文件:

[root@localhost ~]# touch /home/sdcet/1

在本地创建上传测试文件

[root@localhost ~]# touch q

(3)登录 FTP 服务器并测试

在登录之前,需要先把服务器的 IP 改成192.168.0.100

[root@localhost ~]# ifconfig eth0 192.168.0.100 netmask 255.255.255.0
[root@localhost ~]# ftp 192.168.0.100

交互过程:

Connected to 192.168.0.100 (192.168.0.100). 220 Name (192.168.0.100:root): sdcet 331 Please specify the password. Password: 230 Login successful. ftp> get 1 /home/1 local: /home/1 remote: 1 227 Entering Passive Mode (192,168,2,10,167,77). 150 Opening BINARY mode data connection for 1 (0 bytes). 226 Transfer complete. ftp> put q q local: q remote: q 227 Entering Passive Mode (192,168,2,10,59,234). 150 Ok to send data. 226 Transfer complete. ftp> bye

问题排错

500 OOPS:cannot change directory:/home/sdcet

检查SELinux 状态

getenforce

如果显示Enforcing,SELinux 可能在阻止 vsftpd。

解决方案:

#方法一:临时关闭 SELinux [root@localhost ~]# setenforce 0 #方法二:永久关闭 SELinux(不推荐,但省事) [root@localhost ~]# vim /etc/selinux/config #把 SELINUX=enforcing 改为: SELINUX=disabled [root@localhost ~]# reboot #重启
http://www.jsqmd.com/news/741489/

相关文章:

  • Pseudogen终极指南:5分钟让复杂代码“说人话“的免费神器
  • AI智能体技能库设计:从标准化接口到安全集成的工程实践
  • Keyviz终极指南:5分钟掌握专业级键鼠操作可视化
  • 开源项目复现全流程指南:从OPERA项目看环境搭建与代码调试
  • Monica 部署指南:自建个人 CRM,记录人际关系的私人助手
  • 将 Claude Code 编程助手对接至 Taotoken 的配置指南
  • 如何永久保存微信聊天记录:终极数据备份与年度报告生成指南
  • 宇树机器人g1导航-针对HongTu官方文档的补充
  • 1931. 用三种不同颜色为网格涂色
  • MoE与Mamba-Transformer融合的轻量化AI模型实践
  • 从线性回归到ChatGPT:逆向工程学习法拆解大语言模型
  • Mac mini养虾潮凉了?有人转投“爱马仕“,有人直接退坑
  • ok-ww终极指南:基于图像识别的鸣潮自动化战斗完整解决方案
  • 2025届必备的AI辅助论文网站推荐
  • 【仅限前200位BMS开发者的硬核调试包】:含自研C语言BMS信号注入器源码、故障注入触发库、及37个真实车规级Bug模式库(ISO 26262 ASIL-C已验证)
  • 基于MCP协议的Expo状态管理:AI原生开发新范式
  • FigmaCN:解锁中文界面,让设计工作回归母语体验
  • Godot 3集成LuaJIT插件:原理、配置与高性能游戏脚本开发实践
  • “红帽系统管理二”知识点问答题:第10章 控制启动过程
  • 大语言模型鲁棒性评估:PARROT框架与权威压力测试
  • 2026ISO27001认证咨询推荐榜:业务连续性管理体系认证、人工智能管理体系认证、信息安全管理体系认证、信息技术服务管理体系认证选择指南 - 优质品牌商家
  • 终极音频管理方案:用Audio Router实现Windows程序级音频路由
  • Python 3.15 WASM部署全链路踩坑手册,含Pyodide 0.26+、Emscripten 3.1.61兼容矩阵与内存泄漏修复补丁(仅限首批内测开发者)
  • 别再死记硬背命令了!CST Studio 2D绘图保姆级避坑指南(附排针建模实例)
  • 2026年优质洗衣机械TOP5推荐:洗涤设备价格查询/洗涤设备公司/洗涤设备前十大名牌/洗涤设备品牌/洗涤设备哪家好/选择指南 - 优质品牌商家
  • Adafruit Metro RP2350开发板解析与嵌入式开发实践
  • AI应用开发工作空间:从架构设计到工程实践的全栈解决方案
  • 【边缘计算模型瘦身黄金公式】:FLOPs↓68% + 推理延时↓4.3× + 精度损失<0.8%,Python全流程开源工具链首次公开
  • openworld.js 的一些创意,以及 openWorld.zone 未来策划建议
  • 【深度解析】Codex 从代码助手到 AI Coding Workspace:浏览器验证、权限闭环与自动化审查实战