Чтение онлайн

на главную

Жанры

Linux: Полное руководство

Аллен Питер В.

Шрифт:

15.2. Сервер ProFTP

15.2.1. Установка и запуск ProFTPD

Альтернативой, и, на мой взгляд, достаточно хорошей, серверу wu-ftpd является сервер ProFTPD. Он намного проще в конфигурировании, чем сервер wu-ftpd, и обладает достаточно гибкими возможностями. Для его установки достаточно установить пакет proftpd. Подобно серверу wu-ftpd, ProFTPD может запускаться автоматически при запуске системы или вызываться суперсервером при наличии запроса на установку соединения. Сервер ProFTPD может вызываться с ключами, указанными в табл. 15.4.

Параметры сервера ProFTPD Таблица 15.4

Ключ Назначение
– h Справочная информация
– n Запускает сервер в автономном режиме. Для этого в файле конфигурации нужно указать режим запуска standalone
– d уровень_отладки Устанавливает уровень отладки сервера (1-5)
– с файл_конфигурации Задает использование альтернативного файла конфигурации вместо стандартного
/etc/proftpd.conf
– p 0 | 1 Запрещает (0) или разрешает (1) использование постоянного пароля. Для получения более подробной информации смотрите документацию по серверу
– l Выводит список всех модулей, откомпилированных для использования сервером ProFTPD
– v Выводит версию

15.2.2. Настройка ProFTPD. Файл /etc/proftpd.conf

Сервер ProFTPD использует всего один файл конфигурации —

/etc/proftpd.conf
.

В листинге 15.7 представлен простейший файл конфигурации сервера ProFTPD.

Листинг 15.7. Пример файла конфигурации /etc/proftpd.conf

# Этот файл устанавливает один сервер и одну учетную запись

ServerName "My ProFTPD server"

ServerType standalone

DefaultServer on

# Используем стандартный порт

Port 21

Umask 022

MaxIstances 30

# Пользователь и группа, обслуживающие сервер

User nobody

Group nobody

# Параметры корневого каталога. Блочная директива Directory

<Directory /*>

 # Директива, определяющая параметр AllowOverwrite

 AllowOverwrite on

</Directory>

Директивы конфигурации делятся на две группы: директивы, определяющие параметры, и блочные директивы. Блочные директивы конфигурирования похожи на тэги языка HTML: конечная директива имеет то же имя, что и начальная, но с наклонной чертой в начале. Например, начальная директива <Directory /*>, а конечная — </Directory > (листинг 15.7).

Действия каждой пары директив распространяются только на блок, расположенный между ними. Директива <Directory> определяет свойства какого-нибудь каталога. В вышеприведенном листинге определяются свойства корневого каталога.

В таблице 15.5 представлены все директивы файла конфигурации сервера ProFTPD.

Директивы файла конфигурации сервера ProFTPD Таблица 15.5

Директива Описание
AccessGrantMsg сообщение Ответное сообщение, которое будет отправлено пользователю в случав его регистрации или получения анонимного доступа. Символы %u будут заменены на имя пользователя которое он ввел при регистрации
Allow from all | host | network [,host | network[, …]] Используется внутри блока Limit. Ограничивает доступ к серверу (а именно, разрешает доступ). По умолчанию allow from all
AllowAll Разрешает доступ к блокам Directory, Anonymous, Limit
AllowForeignAddress on | off Разрешает клиенту указывать при установке соединения адрес, который не соответствует ему. По умолчанию off. Может использоваться в блоках VirtualHost, Anonymous, <Global>
AllowGroup список_групп Разрешает доступ определенным группам. Используется в блоке Limit
AltowUser список_пользователей Разрешает доступ определенным пользователям. Используется в блоке Limit
AnonRequirePassword on | off Требует пароль при анонимной регистрации. Пароль должен совпадать с паролем того пользователя, который запустил демон. По умолчанию данная опция выключена
<Anonymous directory> Создает анонимную учетную запись, directory — корневой каталог анонимного сервера
AuthGroupFile путь Позволяет указать путь к альтернативному файлу group. По умолчанию используется файл /etc/group
AuthUserFile путь Указывает альтернативный файл passwd
Bind ip-адрес Разрешает привязку дополнительного IP-адреса к основному или виртуальному хосту
DefaultRoot каталог Задает корневой каталог по умолчанию
Deny from all | host | network Запрещает доступ к серверу. Используется в блоке Limit
DenyAll Запрещает анонимным пользователям доступ к объектам, указанным в блоке Limit
DenyUser список_пользователей Запрещает доступ определенным пользователям
<Directory> путь Используется в VirtualHost, Anonymous для того, чтобы определить особенные параметры доступа к каталогу и его подкаталогам
DisplayFirstChdir файл_сообщения Указанный текстовый файл будет выводиться, когда пользователь впервые за время сеанса войдет в данный каталог. Используется в VirtualHost, Directory, Anonymous
DisplayLogin файл_сообщения Этот файл будет отображен, когда пользователь зарегистрируется
<Global> Используется для задания параметров, которые будут использоваться как основным, так и всеми виртуальными серверами
<Limit command> Ограничение на выполнение данной FTP-команды, например, LOGIN, WRITE, READ, STOR
MaxClients number | none сообщение Ограничение на количество клиентов. Приведенное сообщение будет отображено, если пользователю будет отказано в доступе. Блоки Anonymous, Global
MaxLoginAttempts Максимальное количество попыток зарегистрироваться. По умолчанию 3. Блоки VirtualHost, Global
Order allow, deny | deny, allow Порядок выполнения директив Allow и Deny в блоке Limit
PersistentPassword on | off При значении on будут использованы системные файлы /etc/passwd и /etc/group, несмотря на то, что командой chroot корневой каталог был изменен
RequireValidShell on | off Разрешает или запрещает регистрацию при использовании оболочек (shells), которые не указаны в файле /etc/shells
ServerAdmin email Определяет email администратора сервера
ServerType Определяет режим работы сервера standalone (по умолчанию) или inetd. В первом случае сервер будет запускаться автоматически из стартовых сценариев системы, во втором — его будет запускать сервер inetd при попытке соединения
TimeoutIdle секунды Время в секундах, в течение которого пользователь имеет право не проявить активности. По умолчанию 60 (1 минута)
Umask маска Определяет права доступа для созданного файла. Маска — число в восьмеричной системе, определяющее набор прав доступа (см. главу 2)
User имя пользователя Имя пользователя, присвоенное демону ProFTP
UserAlias псевдоним пользователь Создает указанный псевдоним для указанного пользователя
<Virtual Host address> Создает виртуальный сервер

15.2.3. Разграничение доступа к серверу ProFTP

Я считаю необходимым подробно рассмотреть блочную директиву Limit. Эта директива определяет вид и параметры доступа к тому или иному каталогу. Рассмотрим листинг 15.8.

Листинг 15.8. Пример использования директивы Limit

<Directory incoming>

 <Limit WRITE>

AllowAll

 </Limit>

 <Limit READ>

DenyAll

 </Limit>

</Directory>

Директива Directory определяет свойства каталога

incoming
, а директива Limit задает вид доступа к этому каталогу. Команда WRITE директивы Limit вместе с директивой AllowAll разрешает всем пользователям записывать информацию в этот каталог. Команда READ директивы Limit задает ограничение на чтение этого каталога. В рассматриваемом случае чтение запрещено для всех пользователей.

Кроме команд WRITE и READ, в директиве Limit можно задавать команды STOR и LOGIN (таблица 15.6).

Команды директивы Limit, ограничивающие права доступа Таблица 15.6

Команда Назначение
LOGIN Ограничивает регистрацию
WRITE Ограничивает запись
HEAD Ограничивает чтение
STOR Ограничивает прием файлов

В блоке Limit можно задавать директивы Allow, AllowAll, AllowGroup, AllowUser, Deny, DenyAll, DenyUser. Например, в листинге 15.9 запрещается доступ всем пользователям, кроме den. Пользователь den может регистрироваться со всех компьютеров, кроме компьютера с IP-адресом 111.111.111.111. Также запрещена регистрация из сети 192.168.2.0

Листинг 15.9. Пример блока Limit

Поделиться:
Популярные книги

Гроза богов

Мазуров Дмитрий
10. Громовая поступь
Фантастика:
фэнтези
рпг
5.00
рейтинг книги
Гроза богов

Эпоха Опустошителя. Том V

Павлов Вел
5. Вечное Ристалище
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Эпоха Опустошителя. Том V

Эволюционер из трущоб. Том 7

Панарин Антон
7. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 7

Золотое руно (сборник)

Сойер Роберт Джеймс
Шедевры фантастики
Фантастика:
научная фантастика
5.00
рейтинг книги
Золотое руно (сборник)

Империум. Антология к 400-летию Дома Романовых

Злотников Роман Валерьевич
Фантастика:
фэнтези
социально-философская фантастика
героическая фантастика
научная фантастика
боевая фантастика
альтернативная история
6.71
рейтинг книги
Империум. Антология к 400-летию Дома Романовых

Дневники 1930-1931

Пришвин Михаил Михайлович
Документальная литература:
биографии и мемуары
4.75
рейтинг книги
Дневники 1930-1931

Бездна

Роллинс Джеймс
102. Книга-загадка, книга-бестселлер
Детективы:
триллеры
9.19
рейтинг книги
Бездна

Обрыв

Гончаров Иван Александрович
Проза:
классическая проза
русская классическая проза
8.93
рейтинг книги
Обрыв

Отряд

Валериев Игорь
5. Ермак
Фантастика:
альтернативная история
5.25
рейтинг книги
Отряд

Потомок бога

Решетов Евгений Валерьевич
1. Локки
Фантастика:
попаданцы
альтернативная история
аниме
сказочная фантастика
5.00
рейтинг книги
Потомок бога

Бассейн с крокодилами

Донцова Дарья
9. Любительница частного сыска Даша Васильева
Детективы:
иронические детективы
8.11
рейтинг книги
Бассейн с крокодилами

Статьи

Переслегин Сергей Борисович
Документальная литература:
публицистика
5.00
рейтинг книги
Статьи

Города красной ночи

Берроуз Уильям Сьюард
Фантастика:
социально-философская фантастика
4.67
рейтинг книги
Города красной ночи

#Бояръ-Аниме. Газлайтер. Том 37

Володин Григорий Григорьевич
37. История Телепата
Фантастика:
фэнтези
аниме
боевая фантастика
6.25
рейтинг книги
#Бояръ-Аниме. Газлайтер. Том 37