`

FTP 之 550 permission denied

    博客分类:
  • ftp
ftp 
阅读更多

FTP 之 550 permission denied(转)

做案子時﹐將WinInet.dll封裝﹐用C#調用﹐做了四個函數﹐分別是上傳﹐下載﹐刪除﹐清空文件夾。在開發環境中測試沒有任何問題﹐但拿到正式環境中卻出現"550 /c:/dh/MPF.dir/ABC"不存在的錯誤。但實際上的FTP Home 目錄是MPF.dir, 可是卻出現了/c:/dh/之類的東東。

經過排查﹐開發環境用的是IIS來做的FTP, 而正式環境用的是Server-U做FTP Server. 一定出在配置上﹐而且不是server的問題﹐是編程的問題。

跟蹤后﹐發現是在setCurrentDirectory發生錯誤。設斷點在這里﹐執行前發現當前目錄已經在"/c:/dh/", 原來的程式有一條指令是

ftpFunc.SetCurrentDirectory("/"); // set root folder, 因為"/c:/dh/"的確沒有權限﹐所有出錯誤﹐那為什么當前的default目錄是"/c:/dh"呢?原來server-U在配置當前用戶時有一個選項是: lock user in home directory. 如果沒有被勾選上﹐則表示當前用戶登錄成功后﹐他的home directory是物理路徑. 如果被勾上﹐則他的home directory是"/", 所以才會產生permission denied錯誤.

改正﹕在登錄的時候﹐就把當前用戶的home directory記錄下來﹐然后在那些函數設定目錄的時候調用:

ftpFunc.SetCurrentDirectory(rootPath); // set root folder就可以了

分享到:
评论

相关推荐

    FTP 550 Permission denied 只能建文件夹,没法删除及上传文件的原因说明

    出现这种问题, ①首先检查用户对应的角色名,然后看路径设置是否正确,有没有相关的权限,如果这些都没问题,然后就尝试下面的操作: ②重起FTP服务,最好从服务里面重启(不能根本解决); ③重新设置Server-U帐号和...

    Delphi ftp 报Permission denied 问题.txt

    Delphi ftp 报Permission denied 问题.txt.Delphi ftp 报Permission denied 问题.txt

    Serv-U 550 Permission denied 的解决办法

    然而,服务器在运行过程中可能会遇到各种权限问题,550 Permission denied是其中一种常见的错误提示,它意味着服务器拒绝了用户的请求,通常是因为没有足够的权限去执行操作。 首先,我们来分析一下问题现象。用户...

    ftp可登录但是无法下载,上传问题解决

    ftp: setsockopt (ignored): Permission denied ---> PORT 192,168,10,144,210,113 200 PORT command successful. Consider using PASV. ---> LIST 425 Failed to establish connection. # 被动模式 $...

    delphi xe7 可用idFTP客户端demo源码

    本示例主要关注的是使用Delphi XE7构建一个IDFTP客户端的演示源码,这允许开发者实现文件传输协议(FTP)的功能。IDFTP是Indy库的一部分,Indy是一个用于网络通信的开源组件集合,它为各种网络协议提供了全面的支持...

    ha_LeapFTP.rar 兼容性很好的ftp

    LeapFTP提供了丰富的功能和友好的用户界面,支持多种FTP协议变种,包括FTP、SFTP(基于SSH的安全文件传输)、FTPS(FTP over SSL/TLS)等,确保数据传输的安全性。 LeapFTP的主要特性可能包括: 1. **多平台支持**...

    newftp总结

    - **问题1:Put操作失败,提示“550 Permission denied”** - **原因分析**:这通常是由于目标目录的权限设置不当导致的。 - **解决办法**:使用`chmod 777 /home/555.txt`来修改文件权限,使其可被所有用户读写...

    如何在windows桌面使用ftp上传文件到linux服务器

    然而,可能会遇到"Permission denied"的错误,这是由于 SELinux 的安全策略限制了FTP服务的某些操作。要解决这个问题,需要修改相关的SELinux布尔值。例如: ```bash sudo setsebool -P allow_ftpd_anon_write 1 ...

    vsftpd-3.0.3-edit.tar.gz.tar

    (1)错误提示:/bin/sh:./vsf_findlibs.sh: Permission denied 解决措施:chmod 775 ./vsf_findlibs.sh (2)错误提示:/lib/libcap.so.2:could not read symbols: File in wrong format 解决措施:修改vsffindlibs.sh...

    在ubuntu上安装与配置php开发环境时的学习总结.pdf

    1. 解决 Permission denied 问题 在安装 PHP 开发环境时,可能会遇到 Permission denied 的错误,特别是在使用非 root 用户时。解决方法是使用超级管理员的身份来运行命令。 2. LAMP 介绍 LAMP 是一个流行的开源...

    php教程之phpize使用方法

    1. 下载`autoconf`:`wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz` 2. 解压缩:`tar -zvxf autoconf-2.62.tar.gz` 3. 编译并安装:`cd autoconf-2.62/ && ./configure && make && make install` ...

    Vsftp服务器的安装与测试.ppt.ppt

    此外,还可以尝试创建目录,如`mkdir dir1`,但默认情况下,匿名用户可能没有权限执行此类操作,可能会收到“Permission denied.”的错误。 总的来说,这个文档涵盖了Vsftp服务器的安装、服务管理、防火墙配置以及...

    linux服务器下完美解决无法删除虚拟主机文件或文件夹

    FTP工具软件会提示Permission Denied(没有权限),或者 550删除目录操作失败。今天小残在操作FTP的时候就出现了这种问题。 出现的原因一般都是这些目录或文件是PHP程序以管理员用户写入的,而一般虚拟主机的用户名下...

    filezilla Failed to create listen socket on port 21 for IPv4 解决办法

    windows server 2003 使用filezilla 时,安装好之后,点击“Active”可能会报下面的错 Creating listen socket on port 21… Failed to create listen socket on port 21 for IPv4 Failed to create listen socket ...

    在ubuntu上安装与配置php开发环境时的学习总结[归纳].pdf

    在这个过程中,可能会遇到一些问题,例如在尝试绑定到80端口时出现"Permission denied: make_sock: could not bind to address 0.0.0.0:80"的错误。这个错误是因为非root用户没有权限使用默认的HTTP端口80。为了解决...

Global site tag (gtag.js) - Google Analytics