Мы будем рассматривать настройку FTP-сервера ProFTPD. На мой взгляд,
данный сервер наиболее гибкий в настройке. Установите два пакета:
proftpd и gproftpd. Первый содержит FTP-сервер, а второй — графическую
программу для его настройки. После установки сервер практически
готов к работе. Его нужно только запустить (по умолчанию он добавляется
в автозапуск, поэтому после перезагрузки данная команда не потребуется):
sudo /etc/init.d/proftpd start
Попробуем подключиться к вашему серверу:
ftp <имя_вашего_компыотера>
FTP-сервер
запросит имя пользователя и пароль. Нужно вводить имя пользователя,
зарегистрированное на вашем компьютере (на FTP-сервере). После этого вы
получите доступ к домашнему каталогу пользователя, который будет для
вас корневым, т. е. за пределы этого каталога выйти не получится. Это
сделано из соображений безопасности, чтобы никто не мог получить доступ
к файловой системе сервера. Данная конфигурация сервера не очень
удобна. Когда нужно предоставить доступ пользователям к их домашним
каталогам — все просто прекрасно. Но предположим, что вы хотите сделать
свою коллекцию фильмов доступной всем пользователям сети. Можно,
конечно, записать их в ваш домашний каталог, а потом всем предоставить
имя пользователя и пароль, но такая конфигурация нежелательна с точки
зрения безопасности — все смогут прочитать ваши файлы, причем не только
прочитать, а изменить и даже удалить. Поэтому намного рациональнее
предоставить всем пользователям анонимный доступ к вашей коллекции
фильмов. Каждый желающий сможет скачать фильм, но никто не сможет
ничего удалить. Основной файл конфигурации сервера ProFTPD
называется /etc/proftpdV proftpd.conf. По умолчанию в конфигурационном
файле указываются далеко не все опции, которые доступны, поэтому для
создания полноценного конфигурационного файла нужно запустить программу
gproftpd:
gksudo gproftpd
При
первом запуске программа сообщит вам, что в конфигурационном файле не
хватает многих опций, и предложит создать полноценный конфигурационный
файл. В верхней части окна программы настройки FTP-сервера расположены кнопки управления сервером: □ Online/Offline — информируют о статусе сервера (зеленая кнопка говорит о том, что сервер запущен); □ Shutdown — завершает работу сервера; □ RcRcad — заставляет сервер перечитать конфигурационный файл.
На
вкладке Servers можно управлять разными серверами, если у вас их
несколько, точнее, редактировать их файлы конфигурации. У нас будет
только один сервер, поэтому я не думаю, что кнопки Add Server и Delete
server вам пригодятся. Ознакомимся с другими вкладками программы настройки: □ Users — позволяет управлять пользователями выбранного сервера; □ Transfers — информация об использовании выбранного сервера; □ Disk — информация об использовании дискового пространства локального компьютера; □ Files — позволяет сгенерировать файлы статистики сервера; □ Conf— позволяет редактировать конфигурационный файл сервера; □ Security — информация, касающаяся безопасности сервера.
Group nogroup # Определяем стандартный псевдоним anonymous UserAlias anonymous ftp # Отключает проверку командного интерпретатора пользователя - это лишнее RequireValidShell off # Максимальное количество анонимных клиентов MaxClients 10 # Запрещаем записывать файлы в каталог /var/ftp/pub
<Limit WRITE> DenyAll </Limit> </Directory>
</Anonymous>
Теперь
любой пользователь сможет подключиться к вашему серверу, используя имя
пользователя anonymous и любой e-mail в качестве пароля. Они получат
доступ к файлам в каталоге /var/ftp/pub. Файлы можно будет только
скачивать, все остальные действия (изменение, удаление) запрещены,
запрещена и загрузка файлов на сервер. Если нужно разрешить загрузку
файлов на сервер, тогда в конце секции Anonymous (перед ) добавьте следующую секцию:
Пользователи смогут просматривать каталог /var/ftp/pub/incoming и загружать в него новые файлы. После внесения изменений в конфигурационный файл нужно нажать кнопку ReRead, чтобы сервер перечитал конфигурационный файл.