howtoНастройка ftp - сервера на примере proftpd

Дело было вечером, хм… надоела samba под управлением Ubuntu 9.04 и вечно глюканутая Windows 7 которая стоит у соседа и не дает мне спокойный доступ к нему в сеть. :(
Недолго думая решил поднять у себя ftp-сервер для обмена файлами. В качестве пациента был выбран proftpd

В результате я хотел добиться анонимного входа на ftp — сервер и двух папок в корне, одна для хранения моих файлов без возможности записи извне (pub), а другая для обмена файлами (incoming). Приступим…
Установка предельна проста:
sudo apt-get install proftpd

Во время установки proftpd просит нас выбрать тип запуска по умолчанию: вручную, через init.d или как самостоятельный сервер (standalone). Также он создает корень нашего ftp-севера в /home/ftp

Вторым и самым ответственным шагом является настройка конфиг файл: /etc/proftpd/proftpd.conf
Сделаем его backup, на всякий пожарный :)
sudo cp /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf.bak

Открываем его любимым вами текстовым редактором и правим
sudo gedit /etc/proftpd/proftpd.conf



#
# Конфиг proftpd - r0z1k (open-life.org)
#

# Отключаем IPv6
UseIPv6				off

# Название ftp-сервера
ServerName			"Debian"
# Тип запуска
ServerType			standalone

MultilineRFC2228		on
DefaultServer			on
ShowSymlinks			on

TimeoutNoTransfer		600
TimeoutStalled			600
TimeoutIdle			1200

# Запрещаем пользователю заходить за пределы домашней папки
DefaultRoot			~

# Порт по умолчанию
Port				21

# Установка пользователей и групп
User				proftpd
Group				nogroup

Umask				022  022
# Разрешить перезаписывать существующие файлы
AllowOverwrite			on

# Логи
TransferLog /var/log/proftpd/xferlog
SystemLog   /var/log/proftpd/proftpd.log

<Anonymous ~ftp>
User				ftp
Group				nogroup
# Делаем алиас, для анонимного входа
UserAlias			anonymous ftp

# Максимум подключенных пользователей
MaxClients			10

# Запрещаем запись на корень
<Directory *>
     <Limit WRITE>
       DenyAll
     </Limit>
</Directory>
 
# Описание папки incoming
<Directory incoming>
Umask				022  022
# Разрешаем скачивание, загрузку и удаление
         <Limit READ WRITE>
         	AllowAll
         </Limit>
</Directory>

# Описание папки pub
<Directory pub>
# Разрешаем скачивание
	<Limit READ>
		AllowAll
	</Limit>
</Directory>

</Anonymous>


В созданной во время установки папке /home/ftp создаем каталоги incoming и pub:
sudo mkdir /home/ftp/incoming
sudo mkdir /home/ftp/pub


Следующим шагом является расстановка прав на эти каталоги:
sudo chown -R ftp:nogroup /home/ftp/incoming
sudo chown -R ftp:nogroup /home/ftp/pub


Все настройка окончена, реботим ftp-сервер:
sudo /etc/init.d/proftpd restart


Вот и вся настройка простецкого ftp-сервера для домашних условий :)

Update:
Связка proftpd + MySQL
www.lissyara.su/?id=1144
www.opennet.ru/base/net/virtual_proftpd_2.txt.html
  • +11
  • r0z1k
  • 10 июня 2009, 01:26

Комментарии (8)

  • avatar
  • SPU
  • 10 июня 2009, 10:15
  • #
  • 3
тип запуска по умолчанию: вручную через initd

init.d или inetd? и при чем тут вручную? или там запятой не хватает перед «через».

И еще хорошо бы конкретизировать комментарии к Umask. Это не маска файлов и не маска для записи, это маска, mode & !umask, т.е. она запрещает в режимах файла биты, установленные в umask.
Отлично! очень вовремя)) вчера как раз решил у себя ftp поднять.
Рад стараться, если, что пиши поможем ;)
Хе-хе, а я блог создал, а потом засомневался в целесообразности размещения сдесь таких руководств к действию…
Завтра тогда что-то выложу, раз пользуется спросом)
Вот и я подумал, что пустовать это не хорошо и написал небольщой фаг :)
Гораздо интереснее использовать Proftpd с хранением пользователей в БД, к примеру в MySQL:
ссылки по теме:
www.lissyara.su/?id=1144
www.opennet.ru/base/net/virtual_proftpd_2.txt.html
Это конечно все хорошо, но моя задача была показать как поднять самый простецкий ftp сервер. Мускул в домашней локалке где ~10 машин лишняя примочка. Добавлю ссылки в шапку.
На самом деле да… немного лишнее, но на самом деле может понадобиться во многих ситуациях. Я прикручивал такую связку только потому что я веб-мастер и мне нужен и мускул и постгрес.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.