1

Можно проверить права на чтение / запись для данного каталога на FTP-сервере с помощью командной строки?

Я знаю, что есть следующий способ:

  • Войдите в родительский каталог
  • используйте команду ls

Но я не могу пойти по этому пути из-за того, что команда ls может быть недоступна по соображениям безопасности на некоторых серверах. Загрузка файла для тестирования также не подходит для меня.

Кажется, лучший способ будет проверять разрешения только в рабочем каталоге. Как это сделать?

1 ответ1

0

Варианты у вас есть:

  • Устаревшая команда 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) не является универсальной.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .