Самое прекрасное — это когда нужна поддержка сайта, а ты сидишь с телефоном
в руке и ЗНАЕШЬ, чей номер набрать! т. +7 831 4637611 моб. +7 910 3820622Айтишник РУ Нижний Новгород, Симферопольская, 21
A+ A A-

Настройка FTP сервера в Debian 5 (Lenny)

В этой статье я опишу настройку FTP сервера на базе Debian 5 (Lenny). Будем использовать vsftpd. VSFTPD (Very Secure FTP Daemon) — как следует из названия, очень защищённый демон FTP, с хорошей производительностью, поддерживаются: IPv6, SSL, виртуальные пользователи, есть контроль скорости полосы пропускания. На vsftpd работают ftp.debian.org, ftp.freebsd.org, ftp.suse.com, ftp.openbsd.org, ftp.gnu.org, ftp.kernel.org, ftp.gnome.org, ftp.gimp.org, ftp.rpmfind.net, ftp.linux.org.uk, ftp-stud.fht-esslingen.de, gd.tuwien.ac.at, ftp.sunet.se, ftp.ximian.com, ftp.engardelinux.org, ftp.sunsite.org.uk, ftp.isc.org, ftp.redhat.com.

В статье будут описаны несколько конфигураций:

  • Простая конфигурация. Анонимные пользователи имеют доступ только на чтение. Для записи информации на FTP сервер используется пользователь ftpuser. Разрешён доступ локальных пользователей к своим домашним каталогам.
  • Более сложная конфигурация. Анонимные пользователи всё так же имеют доступ только на чтение. Локальные пользователи не используются. Вместо них используются виртуальные пользователи, учётные записи которых хранятся в MySQL. Каждому виртуальному пользователю можно задать свои параметры работы с FTP. Используется PAM авторизация.
  • Более защищённая конфигурация. Анонимные пользователи не используются. Используются только виртуальные пользователи, учётные записи которых хранятся в MySQL. Для каждого пользователя можно задать свою конфигурацию. Используется SSL.

Простая конфигурация FTP сервера

#aptitude install vsftpd

При этом создаются:

  • Системный пользователь ftp, который добавляется в группу nogroup
  • Домашняя директория пользователя ftp - /home/ftp. Интересная особенность: при установке пакета выдаётся сообщение о том, что домашний каталог НЕ создаётся!
  • Создаётся файл /etc/ftpusers. В нём перечислены пользователи, которым запрещён доступ к FTP.

Пользователь ftp не будет работать с FTP сервером, но он нужен для его корректной работы. Так как директория FTP сервера будет располагаться в /var/ftp, то изменим домашнюю директорию для пользователя ftp:

# usermod -d /var/ftp ftp

Удалим прежнюю директорию этого пользователя:

# rmdir /home/ftp

Теперь настроим пользователя, у которого будут права записи в корневую директорию FTP сервера:

Cоздаём группу ftpuser

# addgroup ftpuser

Создаём пользователя ftpuser, добаляем его в группу ftpuser и устанавливаем домашним каталогом директорию FTP сервера, а так же меняем пароль

#useradd -d /var/ftp -g ftpuser ftpuser

#passwd ftpuser

Создаём директорию FTP сервера и устанавливаем права:

# mkdir /var/ftp

# chmod 555 /var/ftp

# chown root:ftpuser /var/ftp

Создаём публичный каталог.

# mkdir /var/ftp/pub

# chown ftpuser:ftpuser /var/ftp/pub

Конфигурационный файл vsftpd располагается в /etc/vsftpd.conf. Сделаем его резервную копию.

#cp /etc/vsftpd.conf /etc/vsftpd.conf_old

Теперь очистим /etc/vsftpd.conf, откроем текстовым редактором:

# cat /dev/null > /etc/vsftpd.conf

# vim /etc/vsftpd.conf

и напишем:

# Запускать vsftpd в независимом режиме

listen=YES

# Делаем анонимный доступ

anonymous_enable=YES

# Анонимные входят без пароля

no_anon_password=YES

# Анонимные будут попадать в публичную директорию

anon_root=/var/ftp/pub

anon_umask=022

# Разрешаем вход локальным пользователям с правом записи в домашних директориях

local_enable=YES

write_enable=YES

local_umask=022

# Локальные пользователи будут входить только в свои домашние каталоги

chroot_local_user=YES

chroot_list_enable=NO

# Сообщения будут записываться в собственный журнал

xferlog_enable=YES

xferlog_file=/var/log/vsftpd.log

Теперь перестартуем vsftpd:

/etc/init.d/vsftpd restart

Если всё работает как надо и сервер будет использоваться не только локально, то добавим ещё несколько строк после listen:

# Установки публичного FTP

max_clients=100

max_per_ip=10

hide_ids=YES

idle_session_timeout=600

data_connection_timeout=120

dirmessage_enable=YES

ftpd_banner=Welcome!

Скачать готовый конфигурационный файл можно по следующей ссылке.

 

Об авторе:

ZolkinМеня зовут Андрей Золкин. Из более, чем пятнадцати лет работы в сфере информационных технологий, десять лет работаю с системами, базирующимися на открытом исходном коде. На страницах сайта Aitishnik.Ru веду блоги по CMC Joomla и Debian GNU/Linux.

 

Ещё статьи о Debian

    • Управление пакетами с помощью aptitude в Debian...

      Управление пакетами с помощью aptitude в Debian...После того, как подключены репозитории и настроено обновление системы, самое время заняться установкой необходимого программного обеспечения. Программное обеспечение для Debian распространяется в виде пакетов и исходного кода. Причём используется собственный формат пакетов — т. н. deb -...

    • Как обновить Debian 4 Etch до Debian 5 (Lenny)

      Как обновить Debian 4 Etch до Debian 5 (Lenny)Вот чем мне нравится Debian, так тем что можно обновить установленную систему на ходу, без какой либо переустановки. На момент написания этой статьи произошла смена стабильного дистрибутива Debian. Вместо Debian 4 Etch, ставшей теперь...

    • Настройка DHCP в Debian 5 (Lenny)

      Настройка  DHCP в Debian 5 (Lenny)DHCP реализован в Debian в виде двух частей: серверной (dhcp3-server) и клиентской (dhcp3-client). Серверная часть отвечает за назначение и отзыв IP-адресов клиентам, при входе и выходе из сети. Клиентская часть запускается на стороне...

    • Настройка обновлений в Debian

      Настройка обновлений в DebianПосле установки Debian Linux и настройки сети я рекомендую приступить к настройке обновлений. Для обновления и установки пакетов в Debian используются утилиты apt и aptitude. Независимо от того, какой из этих утилит Вы будете пользоваться, следует настроить файл конфигурации ...

    • Настройка SSH в Debian

      Настройка SSH в DebianДовольно часто, администрирование сервера на базе Linux происходит посредством удалённого доступа. А основным способом удалённого администрирования является администрирование с помощью SSH. Об этом и пойдёт речь в этой статье. Данная...

    • Локальный хостинг на XAMPP в Debian

      Локальный хостинг на XAMPP в DebianЭта статья своим появлением обязана блогу о Joomla 3. В блоге о Joomla в числе прочего рассматривается возможность создания локального хостинга на домашнем компьютере под управлением операционной системы Windows. Организация домашнего хостинга производится с помощью пакета XAMPP. Этот...