Назад | Перейти на главную страницу

Сервер OS X FTP

Я использую OS X Server со следующими включенными службами: Интернет, MySQL, DNS, AFP, Firewall. Я хотел бы также запустить FTP, и я сделал это, но, похоже, я не могу заставить его работать должным образом. Я уверен, что способ есть, но я не могу найти способ заставить его работать на меня.

Что я сделал до сих пор: - активировал службу FTP - открыл порт 20-21 в брандмауэре - перенаправил порты 20-21 с маршрутизатора на сервер

Я использую Coda для подключения к своим FTP (поскольку я много занимаюсь веб-разработкой). Когда я ввожу адрес этого сервера + учетные данные, он пытается подключиться в течение 2-3 минут, прежде чем на самом деле успешно, и когда он это делает, он перечисляет следующие каталоги: «Public» (со значком ярлыка), «Users» (с ярлыком icon) и файл с именем "???" который он пытается открыть сразу. Выполнение [cmd + k] в Finder также приводит к 2-3-минутному ожиданию.

Кроме того, я понятия не имею, где создавать новых пользователей для FTP (только для FTP) и как дать им разрешения на определенные каталоги (без бесполезных, таких как «Пользователи» или «Общедоступные»).

Я пришел к выводу, что встроенный FTP-сервер может быть не лучшим вариантом для меня, но я не знаю, что мне попробовать. Использование отдельного приложения - не лучший сценарий для меня, поскольку я стараюсь не оставлять на своем сервере открытыми дополнительные приложения.

Я добавлю свои голоса к голосам всех остальных, чтобы использовать что-нибудь получше FTP. Помимо проблем с безопасностью (пароли в виде открытого текста!), У него много проблем с межсетевыми экранами и маршрутизаторами с трансляцией сетевых адресов (NAT). Как правило, FTP в активном режиме будет работать с NAT и / или брандмауэрами на стороне сервера, а FTP в пассивном режиме будет работать с NAT и / или брандмауэрами на стороне клиента, и если у вас есть NAT и / или брандмауэры на обоих концах (очень распространено в наши дни) FTP, вероятно, не будет работать ни в каком режиме.

На самом деле, это немного преувеличение, поскольку некоторые маршрутизаторы NAT достаточно умны, чтобы переписывать FTP-соединения на лету, чтобы избежать проблем (естественно, эта функция, как правило, нигде не документируется, поэтому вы не можете определить, работает ли ваш маршрутизатор, не попробовав it), и обычно можно настроить брандмауэр с фильтрацией пакетов на стороне сервера, чтобы он не создавал проблем ...

Чтобы настроить брандмауэр сервера, см. KB # HT4000 от Apple для получения инструкций по настройке диапазона пассивных портов сервера и настройке брандмауэра, чтобы эти порты проходили через (примечание: предлагаемый диапазон портов довольно велик. Вполне разумно использовать меньший диапазон, если только служба FTP и брандмауэр настроены для тот же диапазон).

Если ваш маршрутизатор не поддерживает перезапись FTP, вы можете подделать его с помощью некоторой дополнительной конфигурации: настройте маршрутизатор на перенаправление всего диапазона пассивных портов на сервер (вы определенно захотите использовать меньший диапазон портов, если вы делаете это). Затем определите свой общедоступный IP-адрес (адрес на стороне WAN вашего маршрутизатора) и диапазон адресов во внутренней сети (в Обозначение CIDR) и добавьте соответствующие директивы «пассивного адреса» в / Library / FTPServer / Configuration / ftpaccess. Например, если публичный IP-адрес вашего маршрутизатора - 203.0.113.117, внутренний диапазон - 192.168.1.0/24, а внутренний адрес сервера - 192.168.1.10, это будет выглядеть так:

passive address 192.168.1.10 192.168.1.0/24
passive address 203.0.113.117 0.0.0.0/0

Наконец, если вы хотите разрешить загрузку на FTP-сервер, вам необходимо добавить директивы «upload» для папок, в которые вы хотите разрешить загрузку (по умолчанию они разрешены только в / Library / FTPServer / FTPRoot / uploads , который не существует, пока вы его не создадите).

Кстати, хотя приведенные выше детали реализации (например, директивы ftpaccess) относятся к серверу wuftpd, который использует Apple, проблемы NAT и брандмауэра (и возможные решения) будут одинаковыми для любого другого FTP-сервера, который вы, возможно, захотите использовать. По сути, сам протокол FTP не предназначен для работы с современными сетевыми настройками, и реализация не может многое исправить / смягчить.

Я бы рекомендовал использовать SFTP (протокол передачи файлов SSH). FTP - очень небезопасный протокол. Coda поддерживает SFTP, и если у вас настроен SSH, в большинстве случаев SFTP уже настроен.

FTP - это определенно служба, которую вы не хотите запускать. Если вам это действительно нужно, установите ProFTPd вместо встроенной службы wuftpd. Это позволяет иметь отдельную учетную запись от других служб OSX, виртуальных хостов и т. Д.