检查 FTP 的权限(在可能不允许目录列表的服务器上)

检查 FTP 的权限(在可能不允许目录列表的服务器上)

是否可以使用命令行检查 FTP 服务器上给定目录的读/写权限?

我知道有以下方法:

  • 进入上级目录
  • 使用ls命令

但我不能这样做,因为ls在某些服务器上出于安全原因该命令可能不可用。上传文件用于测试目的对我来说也不是一种选择。

看来最好的办法是只检查工作目录中的权限。该怎么做?

答案1

您有以下选择:

  • 过时的LIST命令(ls在 Widows 中ftp.exe)- 用未定义的格式解析响应,但通常如下:

    > LIST
    < 150 Opening ASCII mode data connection for file list
    < drwxr-xr-x   3 user group       4096 Aug  6 08:37 name
    
  • 现代MLSD命令(不支持ftp.exe)-解析常见的(虽然不是真正的标准)UNIX.mode“事实”

    > MLSD
    < 150 Opening ASCII mode data connection for MLSD
    < modify=20150806063726;perm=flcdmpe;type=dir;unique=FD01U404A6;UNIX.group=505;UNIX.mode=0755;UNIX.owner=10005; name
    
  • 过时的STAT命令(不被明确支持ftp.exe,但可以使用调用quote STAT path) - 使用未定义的格式解析响应,但通常如下:

    > quote STAT name
    < drwxr-xr-x   3 user group       4096 Aug  6 08:37 name
    
  • 现代MLST命令(没有明确支持ftp.exe,但可以使用调用quote MLST path) - 解析常见的(虽然不是真正的标准)UNIX.mode“事实”

    > MLST name
    < 250-Start of list for name
    <  modify=20150806063729;perm=flcdmpe;type=dir;unique=FD01U4104C;UNIX.group=505;UNIX.mode=0755;UNIX.owner=10005; name
    < 250 End of list
    

在所有情况下,服务器首先必须支持该命令。所有服务器都支持LIST。对其他命令(STATMLSDMLST)的支持并不普遍。

相关内容