是否可以使用命令行检查 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
。对其他命令(STAT
、MLSD
和MLST
)的支持并不普遍。