FTPClient - 550权限被拒绝
问题描述:
我在Windows 7机器上运行java 1.7.0_21,并尝试删除ftp ubuntu服务器上的文件。下面的代码片断显示了我所做的。奇怪的是,该文件具有读取,写入和执行权限。也包含文件夹。当我问bPermisison我收到真实的,但我不能删除此文件.... replyString给出错误550权限被拒绝。 相同的代码剪切(和实现)在另一个ftp服务器上正常工作。 我搜索了很长时间,但我没有找到任何提示。有人知道发生了什么事吗?FTPClient - 550权限被拒绝
感谢您的任何帮助。
String sFilePath = FileUtil.concatPath(sParamRemotedir, oFTPFile.getName(), "/");
boolean bPermission = FTPFile.hasPermission(FTPFile.USER_ACCESS, FTPFile.WRITE_PERMISSION);
boolean bDeleted = oFTPClient.deleteFile(sFilePath);
sReplyString = oFTPClient.getReplyString();
if(bRetrieveOK && !bDeleted) {
m_oDialogError.show(ErrorText.ERROR_TRASYSTHREAD_FTPMOVE_DELETEERROR, oFTPFile.getName(), oFTPClient.getReplyString());
bOK = false;
}
答
我也有类似的问题。一旦我做了以下事情,现在一切都好了。
对于FTP来说,文件和目录的拥有者是不够的。服务和FTP守护进程必须被正确配置来写和创建文件等
在Ubuntu中: 编辑/etc/vsftpd.conf文件
sudo gedit /etc/vsftpd.conf
而且在该行
#write_enable=YES
删除#前即
write_enable=YES
最后重新启动服务:(这是非常重要)
sudo service vsftpd restart
你有一个标准的FTP客户端检查服务器的行为? – blafasel
是的,我做到了。当我尝试使用filezilla删除ftp文件时,我无法将其与此用户一起删除。即使我用root登录,也没办法。 conatining文件夹有权限777 ... – lmedici
所以这绝对不是Java问题。您的FTP服务器配置必须存在问题。请看那里。 – blafasel