Установка и настройка FTP-сервера

(перенаправлено с «FTP Server HOWTO»)
Перейти к: навигация, поиск

Выбор FTP-сервера в openSUSE

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

pure-ftpd

Возможности

  • использование сервера как отдельное приложение (без xinetd)
  • использование сервера вместе с xinetd
  • такие возможности, как поддержка PAM , IPv6, изолированные домашние директории (chroot), виртуальные домены, система защиты от нелегального ПО, встроенная команда ls, механизмы ограничения полосы пропускания, протокол FXP, запрещенные порты для пассивной загрузки, лог-файлы формата Apache и другие.

Файлы конфигурации

  • /etc/pam.d/pure-ftpd
  • /etc/pure-ftpd/pure-ftpd.conf
  • /etc/xinetd.d/pure-ftpd

Так же смотрите

vsftpd

Быстрая установка

  • Установите vsftpd используя программу установки Yast
  • Включите vsftpd в xinetd. Это можно сделать вручную отредактировав /etc/xinetd.d/vsftpd и изменив строку disabled = yes на disabled = no или можно возпользоваться следующей командой:
chkconfig vsftpd on
  • Запустите xinetd, если он еще не запущен:
/etc/init.d/xinetd start
  • Убедитесь, что xinetd будет запускаться при включении компьютера:
chkconfig xinetd on
  • Проверьте, работает ли ftp-сервер корректно. По умолчанию только анонимные пользователи могут зайти на ftp. Данные в директории /srv/ftp/ доступны для всех.

Быстрая настройка

Для настройки vsftpd отредактируйте файл /etc/vsftpd.conf.

  • Для включения возможности записывать файлы на сервер раскомментируйте строку
write_enable=YES
  • Для разрешения входа на ftp-сервер пользователям компьютера раскомментируйте строку
local_enable=YES
  • По умолчанию пользователи не могут просматривать файлы за пределами своей домашней директории. Чтобы дать им эту возможность, раскомментируйте строку
chroot_local_user=NO
  • Чтобы запретить анонимным пользователям входить на ftp-сервер:
anonymous_enable=NO

Возможности

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

Файлы конфигурации

  • /etc/logrotate.d/vsftpd
  • /etc/pam.d/vsftpd
  • /etc/vsftpd.conf
  • /etc/vsftpd.chroot_list
Данный файл описывает имена пользователей, которые имеют доступ просмотра всего дерева директорий, начиная от корня. Для всех остальных пользователей корневой директорией является их домашняя директория (chroot).
  • /etc/shells
Перед тем, как сервер позволить пользователю войти, система проверит корректность указанной оболочки для пользователя (shell). PAM аутентификация недоступна.
  • /etc/ftpusers
Данный файл описывает имена пользователей, которые _*НЕ СМОГУТ*_ войти в систему используя ftp-сервер. В файле обычно указаны такие пользователи, как "root", "uucp", "news" и подобные, потому что права этих пользователей в системе слишком высоки, чтобы использовать их для доступа через ftp-сервер.

proftpd

Быстрая установка

  • Если вы хотите установить сервер proftpd, вам потребуется добавить репозиторий contrib ( как это сделать, вы можете найти на странице http://en.opensuse.org/Contrib )
  • для установки модуля mysql воспользуйтесь командой
zypper in proftpd-sql-mysql
  • для установки модуля postgresql воспользуйтесь командой
zypper in proftpd-sql-postgresql

Быстрая настройка

  • для включения доступа к директории для загрузки файлов анонимными пользователями раскоментируйте весь раздел <Directory uploads/*> и от пользователя root выполните команды :
mkdir /srv/ftp/uploads #создать директорию для загрузки
chown ftp:ftp /srv/ftp/uploads #сменить владельца директории
/etc/init.d/proftpd restart #перезапустить ftp-сервер

Настройки фаервола для использования FTP

При использовании ftp-сервера на компьютере с фаерволом (что очень рекомендуется) необходимо открыть некоторые порты и добавить модули ядра для поддержки пассивного режима ftp. Данный раздел описывает, как разрешить доступ к серверу, который защищается локальным SuSEfirewall2.

  • Измените следующие строки в файле /etc/sysconfig/SuSEfirewall2" вручную (проверено в openSUSE 11.0):
FW_LOAD_MODULES=ip_conntrack_ftp
FW_SERVICES_ACCEPT_RELATED_EXT="0/0,tcp"
  • Используйте YaST_Firewall чтобы разрешить доступ к pure-ftpd или vsftpd с внешнего сетевого интерфейса. Сохраните настройки и перезапустите фаервол.