Как запустить FTP-сервер на macOS?

Вопрос или проблема

Я попытался запустить FTP-сервер на своем MacBook с High Sierra (версия 10.14.16)

Но у меня не получилось. Мои шаги были следующими:

Настроить FTP-сервер локально, запустив pure-ftpd:

brew install pure-ftpd
brew services start pure-ftpd
sudo /usr/local/sbin/pure-ftpd

Настроить FTP-клиент для подключения к локальному FTP-серверу:

brew install tnftp

Настроить pure-ftpd по этой ссылке: https://wiki.archlinux.org/index.php/Pure-FTPd (обновить файл /usr/local/etc/pure-ftpd.conf) содержит:

Раскомментируйте следующие две строки:

NoAnonymous yes
PureDB /usr/local/etc/pureftpd.pdb

Установите параметр MinUID в /usr/local/etc/pure-ftpd.conf на 98 (я получил это, когда запустил: sudo pure-pw show username) [UID : 98 (_ftp)]

Укажите оболочку пользователя FTP-системы в /etc/shells: echo “/bin/false” >> /etc/shells (я добавил ‘/bin/false’ в конец этого файла вручную)
Создайте пользователей (виртуального или реального пользователя на моем Mac — все равно не работает):

mkdir ~/ftpuser/test3
sudo pure-pw useradd test3 -u ftp -D /Users/macbook/ftpuser/test3
sudo pure-pw mkdb

Но когда я попытался подключиться к FTP-серверу, результат был таким:

Macbooks-MacBook-Pro:marketing macbook$ ftp localhost
Trying ::1...
Connected to localhost.
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 23:06. Server port: 21.
220 You will be disconnected after 15 minutes of inactivity.
Name (localhost:macbook): test3
331 User test3 OK. Password required
Password:
530 Login authentication failed
ftp: Login failed
ftp> quit
221-Goodbye. You uploaded 0 and downloaded 0 kbytes.
221 Logout.
brew install pure-ftpd
brew install inetutils
sudo brew services start pure-ftpd
su root

Обновление:

vi  /usr/local/etc/pure-ftpd.conf

Измените:

NoAnonymous no 

На:

NoAnonymous yes

И раскомментируйте:

PureDB /usr/local/etc/pureftpd.pdb

Сохраните и выйдите.

Я создал /etc/pam.d/pure-ftpd со следующими строками, используя привилегии суперпользователя:

# pure-ftpd: auth account password session
auth       required       pam_opendirectory.so
account    required       pam_permit.so
password   required       pam_deny.so
session    required       pam_permit.so

Сохраните и выйдите, и выйдите из учетной записи root.

mkdir /Users/you-username/ftpshare 
chmod 777 /Users/you-username/ftpshare

Создайте пользователя и пароль для доступа к ftp-директории:

sudo pure-pw useradd userftp -u ftp -D /Users/you-username/ftpshare

Создайте базу данных:

sudo pure-pw mkdb
sudo brew services restart pure-ftpd

Проверить:

ftp 127.0.0.1

Ответ или решение

Запуск FTP-сервера на macOS может быть сложной задачей, особенно если вы сталкиваетесь с трудностями в процессе настройки. Рассмотрим шаги, которые вы предприняли, чтобы запустить FTP-сервер с использованием Pure-FTPd на MacBook, работающем под управлением macOS High Sierra (Версия 10.14.16), и выявим возможные проблемы, а также представим решения для их устранения.

Теория: Основы и принципы работы FTP-сервера

FTP (File Transfer Protocol) представляет собой один из старейших протоколов, используемых для передачи файлов через сеть. Основным компонентом является FTP-сервер, который хранит файлы и обеспечивает их доступ через сетевые подключения. В случае macOS, особенно после версии Lion, встроенная поддержка FTP-сервера была удалена, и пользователю необходимо установить и настроить сторонний сервер, такой как Pure-FTPd.

Пример: Шаги по установке и настройке Pure-FTPd

Шаги, которые вы предприняли, включают установку Pure-FTPd через Homebrew и настройку конфигурационных файлов для обеспечения доступа пользователей. Рассмотрим ваш подход более детально:

  1. Установка Pure-FTPd:

    brew install pure-ftpd

    Homebrew — это популярный менеджер пакетов для macOS, который облегчает установку и управление программным обеспечением. Через него вы успешно установили Pure-FTPd.

  2. Запуск службы:

    brew services start pure-ftpd
    sudo /usr/local/sbin/pure-ftpd

    Обратите внимание, что служба может быть запущена вручную или управляться через brew services. Это позволяет сервису автоматически запускаться при старте системы.

  3. Настройка конфигурационного файла:
    Вы изменили файл /usr/local/etc/pure-ftpd.conf, включая параметры:

    NoAnonymous yes
    PureDB /usr/local/etc/pureftpd.pdb

    Отказ от анонимного доступа и использование базы данных пользователей (PureDB) — это рекомендованные меры для обеспечения безопасности.

  4. Создание пользователя и базы данных:

    sudo pure-pw useradd test3 -u ftp -D /Users/macbook/ftpuser/test3
    sudo pure-pw mkdb

    Вы создали виртуального пользователя и назначили домашний каталог, после чего обновили базу данных пользователей.

Применение: Устранение проблем и рекомендации

Судя по приведенному вами логу, проблема заключалась в неудачной аутентификации пользователя "test3". Давайте разберем возможные причины и шаги для их устранения:

  1. Проверка правильности ввода данных:
    Убедитесь, что вы вводите правильные учетные данные (имя пользователя и пароль), которые были заданы при создании пользователя через pure-pw useradd.

  2. Проверка базы данных пользователей:
    Убедитесь, что база данных пользователей была сгенерирована корректно. Команда sudo pure-pw mkdb должна запускаться после каждого изменения в списке пользователей.

  3. Правильное назначение прав:
    Проверьте права доступа к каталогу, назначенному пользователю. В командном примере они были выставлены как 777, что позволяет любой учетной записи выполнять операции чтения, записи и исполнения. Это подходит для тестирования, но для реальной эксплуатации рекомендуются более строгие настройки.

  4. Проверка состояния службы:
    Перезапустите службу после изменений конфигурации:

    sudo brew services restart pure-ftpd

    Это гарантирует, что все последние изменения вступят в силу.

  5. Логи и отладка:
    В случае, если проблемы сохраняются, просмотрите логи Pure-FTPd, которые могут предоставить дополнительную информацию о неудачных попытках входа.

  6. Обновление конфигурации PAM:
    Вы упомянули создание файла /etc/pam.d/pure-ftpd. Убедитесь в его правильной настройке, так как проблемы с PAM могут также вызывать ошибки при аутентификации.

Эти рекомендации помогут вам устранить проблемы с запуском FTP-сервера на вашем устройстве. Если проблема все еще не решена, можно дополнительно обратиться к документации Pure-FTPd или специализированным форумам для подробного обсуждения ваших настроек. Учитывая все описанные шаги, настройка FTP-сервера на macOS, хотя и требует определенных технических знаний, может стать вполне осуществимой задачей при тщательном выполнении всех инструкций.

Оцените материал
Добавить комментарий

Капча загружается...