Установка и настройка 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 с внешнего сетевого интерфейса. Сохраните настройки и перезапустите фаервол.