Документация по ОС FreeBSD
Понедельник, 26.01.2026, 11:17
Главная
Регистрация
Вход
Приветствую Вас
Гость
|
RSS
Меню сайта
Главная страница
Новости в мире Unix
NEW
Каталог файлов
NEW
Установка и настройка
Ports & Packages
cvs
Безопасность
Работа с железом
X Window
Multimedia
Man pages
Net
Apache
DNS
FTP
Mail
Samba
Squid
SSH
VPN
РРР
Shell
IPFW
Tips'n'tricks
RFC
Книги по FreeBSD
Темы экзамена BSDA
Гостевая книга
Форум на bsdportal.ru
Каталог сайтов
Самый свежий софт
Каталог ссылок
Категории каталога
Apache
[58]
DNS
[25]
FTP
[27]
Mail
[74]
Samba
[24]
Squid
[46]
SSH
[23]
VPN
[35]
РРР
[20]
Net
[173]
Главная
»
Статьи
»
Сеть
»
FTP
Быстрая настройка ProFTPD [2008]
FTP сервер ProFTPD вполне оправдывает его название. Этот демон довольно стабильный, может работать как "самостоятельно", так и в составе супер-сервера inted, поддерживает вируальные хосты, учетные записи и многое другое.
Плюс ко всему имеет конфиги в стиле Apache, что делает его настройку весьма удобной и понятной.
В данной статье мы вкратце рассмотрим установку proftpd, т.к. он имеется в портах и, следовательно, в установке нет ничего интересного.
Подробно остановимся на настройке.
Итак, первый шаг — Установка.
Как было написано выше, ставится сервер очень просто – из коллекции портов.
Пишем:
Листинг :
Установка ProFTPd из портов
# cd /usr/ports/ftp/proftpd
# make
# make install
# make clean
На этом установка закончена.
Конфиг будет лежать как /usr/local/etc/proftpd.conf,
а скрипт как /usr/local/etc/rc.d/proftpd
Теперь переходим к настройке.
Сначала рассмотрим "скелет" конфига. Он будет содержать базовые настройки.
В дальнейшем этот конфиг можно дополнять в соотвествии с задачей.
Листинг :
Заготовка конфига
# Тип сервера. standalone означает отедльный демон, а inetd – в составе супер-сервера
ServerType standalone
# Сообщение при подключении клиента.
ServerIdent on "FTP Server Ready."
# Имя сервера
ServerName "My FTP Server"
# Контактная информация админа
ServerAdmin admin@myhost.ru
# Порт, на котором будет слушать сервер (21 - стандартный)
Port 21
# Маска прав доступа для новых (згружаемых) файлов.
# При этом реальные права доступа будут как (777 - mask), т.е. маска 022 будет
# устанавливать права 755.
# Можно указывать свою маску для каждого каталога.
Umask 022
# Настройки производительности
# Чем больше числа, тем больше клиентов одновременно сможет обслужить сервер, однако установка
# большого числа на слабом железе повышает вероятность DDoS атаки.
MaxInstances 30
MaxLoginAttempts 3
MaxClients 128
# "таймауты", по истечению которых сервер будет закрывать соединение
TimeoutLogin 120
TimeoutIdle 600
TimeoutNoTransfer 900
TimeoutStalled 300
# Показывать сообщения приветвия только после прохождения авторизации.
# Актуально для "закрытых" FTP-серверов в целях безопасности.
DeferWelcome on
# Секция, действия которой распространяются на все сервера, описанные в конфиге
<Global>
# Файл, сеодержащий сообщения привествия при подключении
DisplayLogin .welcome
# Разрешает перезапись файлов
AllowOverwrite on
</Global>
# Настройка ограничения по умолчанию
# Запрещаем всё и для всех =)
<Limit ALL>
DenyAll
</Limit>
Основа конфига готова.
В дальнейшем будем дописывать к нему необходимые нам настройки.
Простой публичный FTP сервер
Задача очень проста:
Необходимо настроить общедоступный "анонимный" FPT сервер, с которого пользователи смогут скачивать файлы без ввода логина и пароля.
Также необходимо позволить пользователям загружать файлы в папку с именем "incoming"
Предположим, что физически корневая папка расположена по адресу /usr/ftp.
Называется "конрневая папка", т.к. для пользователей она будет просто /
Всё, что находится в этой папке, будет доступно по FTP.
Папка для загрузки файлов раcположена непосредственно в корневой папке.
Листинг :
Простой публичный FTP
# Опеределяет анонимный FTP сервер c корнем в /usr/ftp
<Anonymous /usr/ftp>
# Пользователь и группа от которых будет работать сервер
User ftp
Group ftp
# Алиас имени пользователя.
# По стандарту принято имя anonymous. Именно на него и ставим алиас.
UserAlias anonymous ftp
# Разрешить авторизацию только по алиасу
# это значит что
AuthAliasOnly on
# Отключаем требования валидного шелла пользователя
# позволяет "пускать" в систему юзером без доступа по SSH (nologin)
RequireValidShell no
# Скрывать файлы и папки пользователя root
HideUser root
# Права по умолчанию для сервера
# Разрешаем авторизацию, чтение файлов и перемещение по папкам
<Limit LOGIN READ DIRS>
AllowAll
</Limit>
# Права на папку incoming и все её вложенные папки
# Разрешаем запись
<Directory incoming/*>
<Limit WRITE>
AllowAll
</Limit>
<Directory>
</Anonymous>
Проверяем владельца корневой папки, он должен быть "ftp:ftp".
Теперь можно запускать сервер.
Доступ по логину / паролю
Задача состоит в следующем:
Дать полный доступ пользователю к его домашней папке с авторизацией по логину/паролю данного пользователя.
Конфиг в будет следующим:
Листинг :
Авторизация по логину и паролю
# Объявляем анонимный сервер с корнем в домашем каталоге пользователя myuser
<Anonymous ~myuser>
# От кого будет работать демон
User myuser
Group myuser
# Установка владельца на новые файлы
UserOwner myuser
GroupOwner myuser
# Включаем запрос пароля
AnonRequirePassword on
# Скрываем файлы пользователя root
HideUser root
# Разрешаем все для нашего пользователя
<Limit ALL>
Order Allow, Deny
AllowUser myuser
</Limit>
</Anonymous>
Заключение
В статье рассмотрены только простые примеры, при помощи которых можно быстро поднять FTP сервер.
ProFTPD позволяет производить очень гибкую настройку, поэтому вариантов конфигураций очень много. Приводить хотя бы часть из них в статье считаю бессмысленым.
Источник:
http://av-school.ru/article/a-47.html
Категория:
FTP
| Добавил:
oleg
(06.10.2009)
Просмотров:
1667
| Рейтинг:
0.0
/
0
|
- Оценить -
Отлично
Хорошо
Неплохо
Плохо
Ужасно
Всего комментариев:
0
Добавлять комментарии могут только зарегистрированные пользователи.
[
Регистрация
|
Вход
]
Форма входа
Друзья сайта
Google+
Copyright MyCorp © 2026