В мире Ubuntu кажется, что вы либо всегда используете FTP-сервер, либо никогда не запускаете . Возможно, я первый сетевой аналитик, которому необходимо прошить образ Cisco, Checkpoint или Nokia с помощью Ubuntu ... Мне нужен FTP-сервер на 5 минут, не более того.
Я ищу простой FTP-сервер, инициированный пользователем. Я понимаю, что, скорее всего, придется работать с sudo. Это нормально - но я хочу запустить / остановить его как обычную программу.
На платформе Windows таких инструментов - десятки - я годами использовал 3CDaemon и недавно нашел CoreFTP. Оба отлично. Вы настраиваете пользователя, указываете на каталог, затем нажимаете кнопку «Пуск». Пару минут спустя, как правило, вы сделали, и вы нажали кнопку «Стоп». Дело сделано.
Такие инструменты, похоже, не существуют в Ubuntu. Я нашел проект Google Code, который довольно неплохо создает экземпляр TFTP (при условии, что он все еще работает - я не использовал его около года, а python перешел), но как насчет FTP? Что-нибудь там?
Ответы:
Вы можете запустить FTP-сервер так же просто, как один-два-три, используя pyftpdlib :
pip install --user pyftpdlib
python -m pyftpdlib
, добавьте,-w
если вы тоже хотите доступ для записи.Теперь у вас есть ftp-сервер, на который вы можете войти, чтобы анонимно поделиться своим домашним каталогом. Это больше относится к тестированию модуля, но он делает то, что говорит на жестяной банке.
Эта команда:
будет работать без прав root на порту 2121 и предоставлять доступ на запись анонимным пользователям. Он также будет использовать каталог
FTP
в текущем рабочем каталоге вместо вашего дома. Введите,python ftpserver.py --help
чтобы получить информацию обо всех вариантах.anonymous@localhost:2121/
Обратите внимание, что это программное обеспечение выпущено в соответствии с условиями Лицензии MIT , что означает, что вы можете делать с ним все, что пожелаете. Прочитайте текст лицензии, это всего лишь несколько строк, и знайте свои права.
Теперь этот скрипт не поддерживает имя пользователя и пароль как часть его автономной функциональности (из соображений безопасности, я думаю).
Итак, я добавил эту функцию:
Теперь у вас есть, помимо всех упомянутых мной опций, параметры командной строки
--username=USERNAME
и--password=PASSWORD
:Опять же, используйте,
--help
чтобы увидеть их всех.Это должно быть так просто, как только можно.
Я также написал небольшой графический интерфейс для этого:
Загрузите его здесь (обновлено на ред. 6)
Я сожалею, что это 3999 строк, но он сделает все, что делает оригинал. И я хотел сохранить все это в одном файле. Когда он запускается без каких-либо параметров (т. Е. Сделать его исполняемым и дважды щелкнуть по нему или создать для него панель запуска ), он запускает небольшой графический интерфейс для настройки вашего сервера. Вы все еще можете импортировать его как модуль Python или использовать приведенную выше командную строку fu.
Известные проблемы:
Я не беспокоился ни о чем, кроме порта 2121. Это должно быть просто, для настройки настраиваемого порта требуется сложная обработка ошибок, с которой я не хочу, чтобы пользователь беспокоился. 2121 всегда должен работать нормально.
Как и командная строка, она не предупредит вас об использовании небезопасной конфигурации. Т.е. не устанавливать пароль или что-то в этом роде.
РЕДАКТИРОВАТЬ: с тех пор API
pyftpdlib
иftpserver.py
изменилось (и ссылки на Ubuntu pastebin ушли); большая часть вышеупомянутого поста больше не работает. Для версии (2014)pyftpdlib
, используйте этот скрипт (ftpserver-cli.py
) для достижения того же, что и выше:позвонить с:
источник
Вы можете использовать чистый ftpd
Вы можете использовать scp, если у вас есть ssh-сервер.
источник
postinst
сценарием в пакете.)Для тех, кто копирует файлы на маршрутизаторы и обратно, вы можете попробовать этот инструмент: tftpgui
Он работал для меня и очень прост в настройке. Это также скрипт на Python, но он делает tftp вместо ftp. Все, что вам нужно сделать, это установить python-tk и скачать скрипт
Единственное, о чем нужно знать, это то, что Ubunutu по умолчанию использует Phython2, поэтому лучший способ запустить скрипт:
Затем вы можете настроить его в графическом интерфейсе. когда вы закончите, вы нажимаете выход, и это все.
филиал
источник