我昨天在 CentOS 6 上安装了 vsftpd,但是今天没有机会测试它。当我上传测试文件时,它返回并给出以下错误:
553 无法创建文件
经过一些快速谷歌搜索后,我找到了解决错误的信息,包括这个帖子我已经尝试过了......
- 确认连接到 FTP 的用户属于拥有该目录的组的一部分
- 确认
vsftpd.conf
文件已write_enable
设置为true
我什至测试了在到目标文件夹的整个路径上更改组的情况。
编辑:
为了扩展这一点,当时我确实确保目录上的模式也设置正确。
我最终做的是卸载 vsftpd 并从 yum 重新安装。在我这样做之后,事情就正常进行了。所以我确信这是
vsftpd.conf
文件中的设置。但是我没有保存它的副本来进行比较以确认。希望其他有相同问题和相同症状并找出原因的人可以在这里为其他人准确地回答这个问题。
答案1
该组应该对该文件夹具有 rwx 权限。如果不运行
chmod 775 <directory>
答案2
您需要运行以下命令来允许在 SELinux 中上传和编辑文件:
setsebool -P allow_ftpd_full_access on
setsebool -P ftp_home_dir on
答案3
在 ftp 根目录中
setsebool -P tftp_home_dir on
setsebool -P ftpd_full_access on
对我有用
答案4
setsebool -P ftpd_full_access 1