vsftpd 550 Permission denied

本文详细介绍了在Ubuntu系统中使用vsftpd服务遇到FTP上传权限问题时,通过修改配置文件和重启服务成功解决问题的过程。重点突出vsftpd配置中的write_enable配置项的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在ubuntu上装了vsftpd,但是在内网机器用ftp软件上传文件时总是出现550 Permission denied错误,

查看vsftpd的配置文件sudo vim /etc/vsftpd.conf,

发现write_enable=YES这句配置项默认是被注释掉的即#write_enable=YES,

好,把前面的注释去掉,重启vsvfpd,一切正常了。

我的vsftpd的版本是2.2.2-3。


### FTP错误550 Permission Denied的解决方案 FTP错误550通常表示服务器拒绝了客户端的访问请求,这可能与权限设置、配置文件或用户权限相关。以下是详细的分析和解决方法。 #### 1. 检查FTP服务器的配置文件 如果FTP操作失败,首先需要检查服务器端的配置文件是否正确。例如,在使用vsftpd时,配置文件通常位于`/etc/vsftpd.conf`。确保以下参数被正确设置[^1]: - `write_enable=YES`:允许写入操作。 - `chroot_local_user=YES`:限制用户只能访问其主目录。 - `allow_writeable_chroot=YES`:允许chroot环境下的写权限(某些版本需要)。 可以通过以下命令编辑配置文件: ```bash sudo nano /etc/vsftpd.conf ``` 修改后重启FTP服务以应用更改: ```bash sudo systemctl restart vsftpd ``` #### 2. 验证用户权限 确保FTP用户的主目录具有正确的权限。例如,如果用户为`ftpuser`,可以运行以下命令检查并调整权限[^3]: ```bash ls -l /home/ftpuser ``` 如果显示类似以下输出: ``` drwxr-xr-x 2 ftpuser ftpgroup 4096 Oct 10 10:00 . ``` 则表明权限已正确设置。如果权限不足,可以使用以下命令调整: ```bash chmod 755 /home/ftpuser ``` 此外,确保用户对目标文件夹具有读取、写入或执行权限。例如: ```bash chmod o+rwx /home/ftpuser/uploads ``` #### 3. 禁用SELinux或调整其策略 如果服务器启用了SELinux,可能会阻止FTP操作。可以临时禁用SELinux进行测试: ```bash setenforce 0 ``` 如果问题解决,可以考虑永久修改SELinux策略,或者将其设置为宽容模式。 #### 4. 修改Root用户的特殊权限 在某些情况下,root用户可能无法直接通过FTP登录。系统出于安全原因禁止了这种行为[^2]。建议创建一个普通用户来代替root进行FTP操作。如果必须使用root用户,可以尝试修改权限,但不推荐这样做: ```bash chmod o+r /root ``` 完成操作后,请记得恢复原始权限: ```bash chmod o-r /root ``` #### 5. 测试连接与日志排查 在调整配置后,可以使用以下命令测试FTP连接: ```bash ftp localhost ``` 同时查看服务器日志以获取更多错误信息: ```bash tail -f /var/log/vsftpd.log ``` --- ### 示例代码 以下是一个简单的脚本,用于检查和修复常见权限问题: ```bash #!/bin/bash # 设置FTP用户主目录权限 USER_HOME="/home/ftpuser" if [ -d "$USER_HOME" ]; then chmod 755 "$USER_HOME" echo "Updated permissions for $USER_HOME" else echo "Directory $USER_HOME does not exist." fi # 检查SELinux状态 SESTATUS=$(getenforce) if [ "$SESTATUS" == "Enforcing" ]; then echo "SELinux is enforcing. Consider setting to permissive mode." fi ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值