Я пытаюсь получить доступ к каталогу на моем FTP-сервере Filezilla с помощью команды ftp в Windows с локального компьютера в сети, а затем поместить список всех этих файлов в каталоге в текстовый файл. Я получаю ошибку открытия локального файла и сообщение «Отказано в доступе». Однако эти команды прекрасно работают с сервера, на котором размещен ftp, и с любого внешнего компьютера не в сети. Я просто не могу заставить это работать с компьютера в сети.
Все настройки брандмауэра открыты для Filezilla, FTP-подключений, пассивных FTP-подключений и для всех передач файлов. Я обнаружил, что ftp.exe зависает и блокирует локальный файл, в который я пытаюсь записать. Ниже приведен пример скрипта:
C:\>ftp ftpservice.dns.org
Connected to ftpservice.dns.org
220-FileZilla Server version 0.9.44 beta
220 Welcome to the FTPSERVICE FTP Server
User <ftpservice.dns.org:<none>>: user
331 Password required for user
Password:
230 Logged on
ftp> cd test
250 CWD successful. "/test" is current directory.
ftp> ls *.tar "C:\Users\Public\Software\Temp\Files.txt"
200 Port command successful
Error opening local file C:\Users\Public\Software\Temp\Files.txt.
> C:\Users\Public\Software\Temp\Files.txt:Permission denied
ftp>
Я использую учетную запись администратора домена, запустил cmd как администратор и даже дал разрешения на эти папки и файлы всем, чтобы иметь полный контроль. Я даже дал право владения этими файлами пользователю ftp. Если я попытаюсь удалить или изменить указанный выше файл после выполнения этих команд, я все равно получу отказ в доступе. Я обнаружил, что мне нужно завершить файл ftp.exe в диспетчере задач, чтобы снова получить доступ.
Это происходит только на этой машине в сети. Если я запускаю команду ls без указания локального файла, она выводит список файлов в каталоге просто отлично. По какой-то причине у нее проблема с этим файлом.
Есть идеи?
решение1
Вы написали...
Я пытаюсь получить доступ к каталогу на моемFTP-сервер Filezillaиспользуякоманда ftp в Windowsс локального компьютера в сети, а затем поместить список всех этих файлов в каталоге в текстовый файл...
и:
Все настройки брандмауэра открыты для Filezilla, FTP-подключений, пассивных FTP-подключений и для всех передач файлов. Я обнаружил, что ftp.exe зависает и блокирует локальный файл, в который я пытаюсь записать...
Приведенный вами пример работает, когда я тестирую его в своей сети (но я пробовал с FTP-клиентом Windows), поэтому мне нужно задать еще несколько вопросов, чтобы сузить круг проблем. Очевидно, что вы подключаетесь к удаленному сайту и копируете листинг в локальный файл. Похоже, что вы также используете клиент FileZilla Server версии 0.9.44 beta из вашего примера. Я не использовал клиент FileZilla, но проблемы с доступом к файлам должны оставаться теми же, независимо от того, какой FTP-клиент вы используете, поскольку все сводится к операционной системе хоста (я предполагаю, что это Windows Server с загруженным на нем клиентом FileZilla — отсюда и ссылка на «FTP-сервер Filezilla» в вашем начальном абзаце —это Windows Server 2003/2008?). Мой другой вопрос к вам...Вы отслеживали блокировки файла Files.txt, чтобы увидеть, есть ли на файле больше одной блокировки, когда он зависает? Вы можете столкнуться с тупиковой ситуацией. Дайте мне знать, если вам нужна дополнительная информация о том, как этого добиться. Спасибо!