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

на главную - закладки

Жанры

Linux-сервер своими руками

Колисниченко Денис Николаевич

Шрифт:

Сервер wu-ftp использует пять файлов конфигурации: ftpaccess, ftphosts, ftpusers, ftpgroups, ftpconversions. В этой главе мы подробно рассмотрим каждый из них.

11.1.1. Файл ftpaccess

Основным файлом конфигурации является ftpaccess. Как и другие файлы конфигурации, он располагается в каталоге /etc. Пример файла /etc/ftpaccess приведен в листинге 11.3.

Листинг 11.3. Пример файла ftpaccess

class all real,guest,anonymous *

email rootdlocalhost loginfails 3

readme README* login

readme README* cwd=*

message /welcome.msg login

message .message cwd=*

compress yes all

tar yes all

chmod no guest,anonymous

delete no guest,anonymous

overwrite no guest, anonymous

rename no guest, anonymous

log transfers anonymous,real inbound,outbound

shutdown /etc/shutmsg

passwd-check rfc822 warn

Файл ftpaccess определяет возможности доступа к FTP-серверу, которые будут иметь различные группы пользователей.

В этом файле задаются параметры доступа, разрешенные операции, виды регистрируемых событий.

Директива class определяет класс пользователей, которые будут иметь доступ к серверу FTP. В листинге 11.3 задан класс all, который состоит из следующих типов пользователей: настоящие (real), гости (guest), анонимные (anonymous). Под настоящими пользователями подразумеваются те, которые зарегистрированы на сервере, то есть их учетные записи хранятся в файле /etc/passwd.

С помощью директивы email можно указать адрес администратора сервера.

Директива loginfails задает максимальное количество попыток регистрации. Если это количество превышено, пользователь автоматически будет отключен. Значение по умолчанию для этой директивы равно 5.

Директива message определяет файл и событие, когда он должен быть отображен. Например, можно создать несколько файлов, один из которых будет отображаться при регистрации пользователя, а другой — при входе его в определенный каталог.

Директивы chmod и delete определяют, могут ли пользователи использовать одноименные команды FTP. А директивы overwrite или delete разрешают или запрещают определенным пользователям перезаписывать или удалять файлы на сервере. В приведенном примере (см. листинг 11.3) пользователи классов guest и anonymous не могут выполнять ни одну из упомянутых операций. Общие директивы сервера wu-ftpd перечислены в табл. 11.2.

Директивы сервера wu-ftpd Таблица 11.2

Директива Описание
autogroup имя_группы имя_класса […] Разрешает доступ анонимным пользователям определенных классов к файлам, которые принадлежат к указанной группе
alias псевдоним каталог Создает псевдоним для каталога на FTP-сервере. Псевдоним позволяет быстро (указав только псевдоним) перейти в соответствующий ему каталог из любого другого каталога на сервере
anonymous-root каталог [имя_класса] Указывает каталог, который будет использоваться в качестве корневого для заданного класса пользователей. После успешной регистрации пользователя на FTP-сервере он автоматически попадет в соответствующий его классу каталог. Если имя класса не указано, то данная директива будет задавать корневой каталог для анонимных пользователей, для которых корневой каталог не определен явно
banner файл Перед регистрацией клиента ему будет показано сообщение из указанного файла. В качестве параметра файла задается полное (абсолютное) имя файла
bit-limit [raw] in|out|total макс_кол_байт [имя_класса] Устанавливает ограничение на количество пересылаемой информации в байтах для пользователей указанного класса. Если имя класса не указать, то данное ограничение будет применяться ко всем пользователям, для которых нет явных указаний по этому поводу. Необязательный параметр raw позволяет ограничить весь объем пересылаемой информации (в том числе и служебной), а не только пересылаемых файлов. Значения in, out, total указывают поток данных (на сервер, от сервера или и тот, и другой одновременно), подлежащий учету
class имя_класса типы_пользователей адреса_хостов Создает класс пользователей с указанным именем. В качестве типа пользователей используются ключевые слова anonymous (анонимные пользователи), guest (гостевые пользователи) и real (зарегистрированные пользователи). Если указывается несколько типов, то они перечисляются через запятую без пробелов. В поле адреса_хостов указываются адреса хостов, только пользователи которых будут принадлежать данному классу. Символ звездочка «*» означает все хосты (см. листинг 11.3). Адреса хостов могут указываться в виде одного из следующих форматов: IP-адрес — отдельный IP-адрес. IP-адрес: маска_сети — IP-адрес с маской сети. IP-адрес/cidr — IP-адрес с информацией CIDR. !nameserved — указание этого идентификатора приводит к запрету доступа со всех хостов, имена которых не удается получить от DNS-сервера. /имя_файла — Указывается абсолютное имя текстового файла, в котором содержится список IP-адресов (по одному в каждой строке)
cdpath каталог Определяет для директивы cdpath выражение, с помощью которого задается путь поиска при переходе в указанный каталог
compress yes|no имя_класса Разрешает или запрещает сжатие данных перед отправкой (команда compress) для указанного класса пользователей
defaultserver private Запрещает анонимный доступ к серверу
deny адреса_хостов файл_сообщения Запрещает доступ к серверу для хостов с указанными адресами. При этом будет отображено сообщение из файла_сообщения. При указании файла необходимо использовать полное (абсолютное) имя. Адреса хостов могут указываться в виде одного из следующих форматов: IP-адрес — отдельный IP-адрес. IP-адрес: маска_сети — IP-адрес с маской сети. IP-aflpec/cidr — IP-адрес с информацией CIDR. !nameserved — указание этого идентификатора приводит к запрету доступа со всех хостов, имена которых не удается получить от DNS-сервера. /имя_файла — указывается абсолютное имя текстового файла, в котором содержится список IP-адресов (по одному в каждой строке)
email адрес почты Почтовый адрес администратора сервера
file-limit [raw] in|out|total количество_файлов [имя_класса] Устанавливает ограничение на количество пересылаемых файлов для пользователей указанного класса. Параметр количество_файлов как раз и задает максимально допустимое количество файлов. Значение остальных параметров такое же как и для директивы bit-limit
guestgroup имя_группы [имя_группы…] Всем пользователям, входящим в группу с указанным именем, будет разрешен гостевой доступ к серверу FTP
limit имя_класса максимум периоды файл_сообщения Ограничивает число одновременно работающих пользователей, принадлежащих указанному классу, в определенное время суток. Параметр максимум задает максимально допустимое количество одновременно работающих пользователей. Параметр периоды задает временные интервалы. Клиенту, которому запрещается доступ к FTP-серверу в результате действия данной директивы, будет показано сообщение из файла файл_сообщения
loginfails количество Определяет максимальное число неудачных попыток регистрации пользователя, после которых он будет отключен. По умолчанию количество попыток равно 5
log commands типы_пользователей Регистрирует
в журнале команды, которые вводились пользователями указанных типов. В качестве типов пользователей указываются ключевые слова anonymous, guest, real (см. описание опции class)
log transfers тип_пользователей список_направлений Регистрирует в журнале акты передачи файлов пользователями указанных типов. В качестве типов пользователей указываются ключевые слова anonymous, guest, real (см. описание опции class). В поле список_направлений задается направление передачи, подлежащее протоколированию: inbound (входящие файлы), outbound (исходящие). Если указываются оба направления, то они должны быть разделены запятой без пробела (см. листинг 11.3)
message файл_сообщения действие Отображает файл_сообщения во время регистрации или при переходе в другой каталог. Соответственно значение в поле действие может быть либо LOGIN (регистрация) или CWD=каталог (переход в каталог). Запись cwd=* задает любой каталог (см. листинг 11.3)
noretrieve [class=имя_класса] список_файлов Запрещает получение указанных в списке файлов. Если указан параметр class, то этот запрет распространяется только на пользователей заданного класса
readme файл действие Во время регистрации или при смене каталога пользователь получит сообщение о существовании и времени модификации указанного файла. Параметр действие определяется так же, как и в директиве message
tar yes|no имя_класса Разрешает или запрещает использование команды tar для указанного класса пользователей, то есть разрешает или запрещает архивирование файлов архиватором tar перед их пересылкой
virtual адрес Разрешает использование виртуального FTP-узла

Кроме общих директив, сервер wu-ftp имеет директивы, которые управляют правами доступа. Директивы прав доступа определяют, какие операции могут выполнять пользователи того или иного типа. Эти директивы указаны в табл. 11.3.

Директивы прав доступа Таблица 11.3

Директива Описание
chmod yes|no типы_пользователей Разрешает или запрещает выполнять команду chmod для пользователей указанных типов. В качестве типов пользователей указываются ключевые слова anonymous, guest, real (см. описание опции class)
delete yes|no типы_пользователей Разрешает или запрещает выполнять команду delete для пользователей указанных типов. В качестве типов пользователей указываются ключевые слова anonymous, guest, real (см. описание опции class)
overwrite yes|no типы_пользователей Разрешает или запрещает пользователям указанных типов перезаписывать файлы на сервере. В качестве типов пользователей указываются ключевые слова anonymous, guest, real (см. описание опции class)
rename yes|no типы_пользователей Разрешает или запрещает пользователям указанных типов переименовывать файлы на сервере. В качестве типов пользователей указываются ключевые слова anonymous, guest, real (см. описание опции class)
password-check rfc822|trivial|none enforce|warn Задает уровень проверки пароля. При этом в качестве первого параметра указывается метод проверки пароля: none — отключает проверку паролей; trivial — все пароли должны обязательно содержать символ '@'; rfs822 — в качестве паролей должны указываться адреса электронной почты, задаваемые согласно стандарту RFC822 (рекомендую использовать именно это значение). Вторым параметром задается действие, которое должно производиться в тех случаях, когда пользователь введет неправильный пароль. Значение warm говорит о том, что пользователь просто будет проинформирован об ошибке в пароле и далее ему будет позволено заново зарегистрироваться на FTP-сервере. Если указать значение enforce, то пользователю будет выдано сообщение о неправильном пароле и ему в дальнейшем будет запрещен доступ к серверу
upload yes|no типы_пользователей Разрешает или запрещает выгрузку файлов на сервер пользователям указанных типов. В качестве типов пользователей указываются ключевые слова anonymous, guest, real (см. описание опции class)

11.1.2. Файл ftphosts

Файл ftphosts используется для разрешения или запрещения доступа определенных пользователей с указанных узлов. Например, вы можете разрешить доступ пользователю admin только с компьютера admm.domain.ru и запретить со всех остальных. А для других пользователей разрешить доступ со всех компьютеров. Таким образом, в файле могут быть записи двух видов: разрешающие и запрещающие. Формат записей в файле ftphosts следующий:

allow|deny user hosts [host…]

Разрешающая запись allow разрешает пользователю регистрироваться с хостов, указанных в списке hosts, но запрещает регистрацию со всех остальных. Запись deny, наоборот, запрещает доступ с определенных хостов, но разрешает со всех остальных. В листинге 11.4 приведен пример файла ftphosts.

Листинг 11.4. Пример файла ftphosts

allow admin 192.168.1.1

deny user 192.168.1.2 192.168.1.3

В приведенном примере пользователь admin может регистрироваться на сервере только с компьютера с IP-адресом 192.168.1.1. Если этот пользователь попробует зарегистрироваться с другого компьютера, то ему будет отказано в доступе. Пользователю user запрещено регистрироваться с компьютеров 192.168.1.2 и 192.168.1.3, но он может зарегистрироваться с любого другого компьютера сети.

11.1.3. Файл ftpusers

Файл ftpusers содержит список пользователей, которым запрещено использовать команду ftp. Эти пользователи не могут зарегистрироваться на сервере. При попытке регистрации будет выведено сообщение об ошибке Login Incorrect, даже если пользователь ввел правильный пароль. Из соображений безопасности этот файл должен содержать хотя бы имена пользователей root, bin, news, uucp. Пустые строки, а также строки, начинающиеся с символа #, игнорируются. Полностью корректный с точки зрения безопасности файл представлен в листинге 11.5.

Листинг 11.5. Файл ftpusers

root

bin

daemon

adm

IP

sync

shutdown

halt

mail

news

uucp

operator

games

nobody

11.1.4. Файл ftpgroups

Файл ftpgroups содержит специальные пароли, с помощью которых пользователи FTP будут рассматриваться как пользователи определенной группы. Такое разрешение получит пользователь, для которого запись в файле ftpgroups содержит выражение yes. Более подробную информацию об этом файле вы можете получить в справочной системе, введя команду man ftpgroups.

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

Отмороженный

Гарцевич Евгений Александрович
1. Отмороженный
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Отмороженный

Падение Твердыни

Распопов Дмитрий Викторович
6. Венецианский купец
Фантастика:
попаданцы
альтернативная история
5.33
рейтинг книги
Падение Твердыни

Все ведьмы – стервы, или Ректору больше (не) наливать

Цвик Катерина Александровна
1. Все ведьмы - стервы
Фантастика:
юмористическая фантастика
5.00
рейтинг книги
Все ведьмы – стервы, или Ректору больше (не) наливать

Мастер 2

Чащин Валерий
2. Мастер
Фантастика:
фэнтези
городское фэнтези
попаданцы
технофэнтези
4.50
рейтинг книги
Мастер 2

Proxy bellum

Ланцов Михаил Алексеевич
5. Фрунзе
Фантастика:
попаданцы
альтернативная история
4.25
рейтинг книги
Proxy bellum

Романов. Том 1 и Том 2

Кощеев Владимир
1. Романов
Фантастика:
фэнтези
попаданцы
альтернативная история
5.25
рейтинг книги
Романов. Том 1 и Том 2

Законы Рода. Том 2

Flow Ascold
2. Граф Берестьев
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 2

Имя нам Легион. Том 1

Дорничев Дмитрий
1. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 1

Барон устанавливает правила

Ренгач Евгений
6. Закон сильного
Старинная литература:
прочая старинная литература
5.00
рейтинг книги
Барон устанавливает правила

Повелитель механического легиона. Том I

Лисицин Евгений
1. Повелитель механического легиона
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Повелитель механического легиона. Том I

Как я строил магическую империю

Зубов Константин
1. Как я строил магическую империю
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Как я строил магическую империю

(Не)свободные, или Фиктивная жена драконьего военачальника

Найт Алекс
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
(Не)свободные, или Фиктивная жена драконьего военачальника

Кодекс Охотника. Книга X

Винокуров Юрий
10. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
6.25
рейтинг книги
Кодекс Охотника. Книга X

На изломе чувств

Юнина Наталья
Любовные романы:
современные любовные романы
6.83
рейтинг книги
На изломе чувств