ProFTPD: установка и настройка анонимного доступа
Многие, наверно, в курсе, что протокол FTP (File Transfer Protocol) используется для обмена файлами между компьютерами сети. Если установить FTP-сервер на определенном компьютере, то все пользователи сети смогут скачать размещенные на нем файлы (не все — только те, что находятся в отведенном для сервера специальном каталоге), а некоторые пользователи (которые будут обладать определенными правами) смогут даже закачать файлы на сервер.
Почему необходим FTP-сервер, если есть Samba? Дело в том, что Samba по сравнению с FTP-сервером работает медленнее. И еще: FTP-сервер позволяет использовать программы для закачки файлов вроде Downloader for X, FlashGet (Windows), Download Master (Windows), которые разбивают файл на несколько частей и запускают несколько потоков — каждый поток скачивает свою часть файла, что позволяет значительно уменьшить время загрузки файлов. Для Samba тоже есть подобные программы, но они какие-то «стремные» и «висячие». Кроме этого использование FTP-сервера оправдано тем, что можно обмениваться большими файлами (от 300 Мбайт), если качать или заливать видео, например.
Быстрая настройка FTP—сервера
Мы будем рассматривать настройку FTP-сервера ProFTPD. По мнению специалистов данный сервер наиболее гибкий в настройке. Устанавливать будем два пакета: proftpd и gproftpd, т.е. FTP-сервер и графическую оболочку для настройки. Делать это я буду через загрузчик Ubuntu:
sudo apt-get install proftpd |
В консоли появится выбор конфигурации.
GTK через APT установить не удалось, его нет в репозитории, нужно отдельно добавлять источник, поэтому я не парился, а скачал его через Центр приложений Ubuntu.
После установки сервер практически готов к работе. Его нужно только запустить (по умолчанию он добавляется в автозапуск, поэтому после перезагрузки данная команда не потребуется):
sudo /etc/init.d/proftpd start |
Способ подключения к нашему серверу:
ftp имя_нашего_компьютера |
FTP-сервер запросит имя пользователя и пароль. Нужно вводить имя пользователя, зарегистрированное на соответствующем компьютере (вернее на FTP-сервере). После этого появится возможность получения доступа к домашнему каталогу пользователя, который будет для нас корневым, т. е. за пределы этого каталога выйти не получится. Это сделано из соображений безопасности, чтобы никто не мог получить доступ к файловой системе сервера.
Данная конфигурация сервера не очень удобна. Когда нужно предоставить доступ пользователям к их домашним каталогам — все просто прекрасно. Но предположим, что мы хотим сделать свою коллекцию фильмов доступной всем пользователям сети. Можно, конечно, записать их в домашний каталог, а потом всем предоставить имя пользователя и пароль, но такая конфигурация нежелательна с точки зрения безопасности — все смогут прочитать эти файлы, причем не только прочитать, а изменить и даже удалить. Поэтому намного рациональнее предоставить всем пользователям анонимный доступ к коллекции фильмов. Каждый желающий сможет скачать фильм, но никто не сможет ничего удалить.
Основной файл конфигурации сервера ProFTPD называется /etc/proftpd/ proftpd.conf. По умолчанию в конфигурационном файле указываются далеко не все опции, которые доступны, поэтому для создания полноценного конфигурационного файла нужно запустить программу gproftpd:
gksudo gproftpd |
Или через меню Приложения → Системные утилиты → GADMIN-PROFTPD. При первом запуске программа сообщит нам, что в конфигурационном файле не хватает многих опций, и предложит создать полноценный конфигурационный файл.
Вверху окна программы настройки FTP-сервера расположены кнопки управления сервером.
Activate/Deactivate — информируют о статусе сервера (зеленая кнопка говорит о том, что сервер запущен);
Shutdown — завершает работу сервера;
На вкладке Servers можно управлять разными серверами, если их несколько, точнее, редактировать их файлы конфигурации. У меня, допустим, будет только один сервер.
Разберемся с другими вкладками программы настройки:
- Users — позволяет управлять пользователями выбранного сервера;
- Transfers — информация об использовании выбранного сервера;
- Disk — информация об использовании дискового пространства локального компьютера;
- Files — позволяет сгенерировать файлы статистики сервера;
- Configuration— позволяет редактировать конфигурационный файл сервера;
- Security — информация, касающаяся безопасности сервера.
Предоставление анонимного доступа
Предположим, что коллекция с фильмами и другими огромными файлами будет размещаться в каталоге /var/ftp/pub. Тогда секция Anonymous конфигурационного файла proftpd.conf будет выглядеть так (ее можно добавить в конец конф. файла):
< Anonymous /var/ftp/put>; # Имя пользователя и группы # (пользователь ftp создается при установке FTP-сервера) User ftp Group nogroup # Определяем стандартный псевдоним anonymous UserAlias anonymous ftp # Отключает проверку командного интерпретатора пользователя - это лишнее RequireValidShell off # Максимальное количество анонимных клиентов MaxClients 10 # Запрещаем записывать файлы в каталог /var/ftp/pub < Directory *>; < Limit WRITE>; DenyAll < /Limit> < /Directory> < /Anonymous>; |
Теперь любой пользователь сможет подключиться к вашему серверу, используя имя пользователя anonymous и любой e—mail в качестве пароля. Они получат доступ к файлам в каталоге /var/ftp/pub. Файлы можно будет только скачивать, все остальные действия (изменение, удаление) запрещены, запрещена и загрузка файлов на сервер. Если нужно разрешить загрузку файлов на сервер, тогда в конце секции Anonymous (перед </Anonymous>) нужно добавить следующую секцию:
< Directory incoming> Umask 022 < Limit WRITE> DenyAll < /Limit> < Limit STOR> AllowAll < /Limit> < /Directory> |
Пользователи смогут просматривать каталог /var/ftp/pub/incoming и загружать в него новые файлы.
После внесения изменений в конфигурационный файл нужно нажать кнопку Save и перезапустить сервер:
sudo /etc/init.d/proftpd restart |
думаю в принципе что тема интересная но уже заезженная