Руководство FreeBSD
Пред. | Глава 23. Сетевые серверы | След.

# 23.10. Протокол передачи файлов (FTP)

Предоставил Murray Stokely.

## 23.10.1. Обзор

Протокол передачи файлов (File Transfer Protocol, FTP) дает пользователям простой путь передачи файлов на и с FTP сервера. В FreeBSD серверная программа FTP, ftpd, включена в базовую систему. Это упрощает настройку и администрирование FTP сервера в FreeBSD.

## 23.10.2. Настройка

Наиболее важный шаг заключается в определении того, каким учетным записям будет позволено получать доступ к FTP серверу. В обычной системе FreeBSD есть множество системных учетных записей, используемых различными даемонами, но пользователям должно быть запрещен вход с использованием этих учетных записей. В файле `/etc/ftpusers` находится список пользователей, которым запрещен доступ по FTP. По умолчанию он включает упомянутые системные учетные записи, но в него можно добавить и определенных пользователей, которым будет запрещен доступ по FTP.

Вам может понадобиться ограничить доступ определенных пользователей без полного запрета использования FTP. Это можно сделать через файл `/etc/ftpchroot`. В нем находится список пользователей и групп, к которым применяется ограничение доступа. На странице справочника ftpchroot(5) дана подробная информация, и она не будет дублироваться здесь.

Если вы захотите разрешить анонимный FTP доступ на сервер, в системе FreeBSD необходимо создать пользователя `ftp`. Этот пользователь сможет входить на FTP сервер с именем пользователя `ftp` или `anonymous`, с любым паролем (существует соглашение об использовании почтового адреса пользователя в качестве пароля). FTP сервер выполнит chroot(2) при входе пользователя anonymous для ограничения доступа только домашним каталогом пользователя `ftp`.

Существуют два текстовых файла, определяющих сообщение, отправляемое FTP клиентам. Содержимое файла `/etc/ftpwelcome` будет выведено пользователям перед приглашением на вход. После успешного входа будет выведено содержимое файла `/etc/ftpmotd`. Обратите внимание, что путь к этому файлу задается относительно домашнего каталога пользователя, так что анонимным пользователям будет отправляться `~ftp/etc/ftpmotd`.

Как только FTP сервер был правильно настроен, он должен быть включен в `/etc/inetd.conf`. Все, что необходимо, это удалить символ комментария ''#'' из начала существующей строки ftpd:

    ftp    stream  tcp nowait  root    /usr/libexec/ftpd   ftpd -l

Как описано в Прим. 23-1, сигнал HangUP должен быть отправлен inetd после того, как этот файл настройки был изменен.

Теперь вы можете войти на FTP сервер, введя:

    % ftp localhost

## 23.10.3. Поддержка

Для протоколирования даемон ftpd использует сообщения syslog(3). По умолчанию, syslog(3) поместит сообщения, относящиеся к FTP, в файл `/var/log/xferlog`. Местоположение лог файла FTP может быть изменено путем изменения следующей строки в файле `/etc/syslog.conf`:

    ftp.info      /var/log/xferlog

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

Пред. | Начало | След.
Файл сервер и печать для Microsoft® Windows® клиентов (Samba) | Уровень выше | Синхронизация часов через NTP

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам связанными с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.