KnigaRead.com/

Родерик Смит - Сетевые средства Linux

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Родерик Смит, "Сетевые средства Linux" бесплатно, без регистрации.
Перейти на страницу:

Большинство директив может присутствовать в одном или нескольких блоках. Кроме того, ряд директив указывается за пределами всех блоков; они рассматриваются как глобальные опции. Некоторые директивы могут встречаться как за пределами, так и в составе блока. Возможно также присутствие директивы в двух блоках, один из которого входит в состав другого. В этом случае директива с наибольшей степенью вложенности имеет наивысший приоритет. При настройке FTP-сервера чаще всего приходится изменять значения приведенных ниже директив.

• Allow [from] идентификаторы_узлов. Данная директива используется в составе блока <Limit> и указывает, какие клиенты имеют право доступа к ресурсу. В качестве идентификаторов узлов задается список IP-адресов, имен узлов, имен доменов (имя домена должно начинаться с точки) или блоков IP-адресов. Пункты списка отделяются друг от друга запятыми. Для идентификации узлов сети могут также использоваться ключевые слова all и none. После Allow может стоять ключевое слово from, но оно никак не изменяет действия, выполняемые данной директивой.

Совет

Вместо имен узлов и доменов рекомендуется использовать блоки IP-адресов. Это уменьшает зависимость FTP-сервера от работы DNS-сервера.

• AllowAll. По умолчанию ProFTPd разрешает доступ к каталогам, но существуют различные способы ограничить доступ. Поместив директиву AllowAll в состав блока <Directory>, <Limit> или <Anonymous>, вы можете восстановить соглашения, принятые по умолчанию.

• AllowGroup список_групп. Данная опция разрешает доступ для пользователей, которым в блоке <Limit> запрещено обращаться к ресурсу. В качестве значения этой опции указываются имена групп, разделенные запятыми. Чтобы получить доступ к ресурсу, пользователь должен принадлежать всем указанным группам. Если имени группы предшествует символ учитываются лишь пользователи, не принадлежащие данной группе. Эта опция чаще всего используется для того, чтобы отменить для некоторых пользователей ограничения, наложенные такими опциями, как DenyAll.

• AllowOverwrite [on|off]. Эта опция определяет, может ли пользователь заменять файлы на сервере. По умолчанию принимается значение которое запрещает замену файлов.

• AllowUser список_пользователей. Директива AllowUser предоставляет пользователю или группе пользователей доступ к ресурсу, закрытому для остальных. Если имени пользователя предшествует символ !, право доступа получают все пользователи, кроме указанного.

• DefaultRoot имя_каталога [список_групп]. С помощью данной опции вы можете ограничить сферу деятельности пользователей подкаталогами определенного каталога. Для этого надо указать в качестве значения имя соответствующего каталога. Имя каталога может начинаться с символа /, в этом случае предполагается абсолютное имя. Символ ~ определяет рабочий каталог пользователя. Если директива DefaultRoot должна иметь отношение лишь к некоторым из пользователей, надо указать их в списке групп. Список групп составляется по тем же правилам, что и для директивы AllowGroup.

Совет

Указав глобальную опцию DefaultRoot ~, вы запретите пользователям доступ к системным каталогам, а также к рабочим каталогам других пользователей. Настроенный подобным образом, сервер ProFTPd разрешает пользователям обращаться только к своим рабочим каталогам.

• DefaultTransferMode [ascii|binary]. FTP-сервер поддерживает два режима передачи файлов. В двоичном режиме (binary) содержимое файла передается без изменений, а в символьном режиме (ascii) выполняется преобразование некоторых символов. Символьный режим удобен для передачи текстовых файлов, но недопустим для работы с двоичными файлами, например, файлами, содержащими код программ. Директива DefaultTransferMode устанавливает режим передачи, используемый по умолчанию. При инсталляции сервера задается значение ascii данной директивы.

• Deny [from] идентификаторы_узлов. Данная директива выполняет действия, противоположные директиве Allow. Она используется в составе блока <Limit> и запрещает клиентам доступ к ресурсу.

• DenyAll. Данную директиву можно использовать в составе блоков <Limit>, <Anonymous> или <Directory>. Она запрещает всем пользователям доступ к ресурсу. При необходимости вы можете указать в том же блоке одну из директив, отменяющих для некоторых пользователей ограничения, наложенные посредством DenyAll.

• DenyGroup список_групп. Эта директива позволяет определять группы, которым запрещен доступ к ресурсу в блоке <Limit>. Список групп формируется так же, как и для директивы AllowGroup.

• DenyUser список_пользователей. Данная директива противоположна AllowUser. Она запрещает доступ к ресурсу в блоке <Limit>.

• DisplayConnect имя_файла. Если в конфигурационном файле указана данная опция, ProFTPd передает клиенту текст, содержащийся в указанном файле. Это происходит после установления соединения, но до завершения процедуры регистрации.

• DisplayFirstChdir имя_файла. Данная директива указывает ProFTPd на то, что содержимое заданного файла должно быть передано пользователю в тот момент, когда он впервые сделает каталог текущим. Чаще всего для данной директивы задается файл .message, в результате чего пользователю передается файл .message, содержащийся в том каталоге, к которому он обращается в первый раз.

• DisplayLogin имя_файла. Эта директива действует подобно директиве DisplayConnect, но сообщение передается пользователю после успешного завершения процедуры регистрации.

• Group идентификатор_группы. Сервер ProFTPd запускается от имени пользователя root, но сразу после запуска переходит на выполнение с ограниченными полномочиями. Это снижает незаконного проникновения в систему извне. С помощью данной директивы указывается группа, полномочия которой получает ProFTPd. При инсталляции сервера в качестве значения данной директивы обычно задается nogroup, ftp или другая подобная группа.

• MaxClients число | none. Данная директива позволяет ограничить количество клиентов, которые могут работать с сервером. Числовое значение (например, 30) определяет максимальное количество клиентов, значение none снимает данное ограничение.

• MaxInstances число. Эта директива действует подобно MaxClients, но если MaxClients задает максимальное количество успешно зарегистрировавшихся пользователей, то MaxInstances ограничивает число соединений, устанавливаемых сервером. Директива MaxInstances неэффективна при запуске ProFTPd посредством суперсервера, но подобные ограничения можно задать при настройке самого суперсервера.

• Order allow, deny|deny, allow. Если в блоке <Limit> присутствуют и запрещающие, и разрешающие директивы, ProFTPd сначала выполняет проверку на соответствие разрешающим, а лишь затем запрещающим директивам. В результате разрешающие директивы имеют более высокий приоритет, чем запрещающие. Кроме того, если отсутствует запрещающая директива, доступ по умолчанию разрешается. Поведение сервера можно изменить с помощью опции Order deny, allow. В этом случае запрещающие директивы получают более высокий приоритет, чем разрешающие, а доступ, не разрешенный явно, не предоставляется.

• RootLogin on|off. По умолчанию ProFTPd отказывает в регистрации пользователю root. Если в конфигурационном файле присутствует опция RootLogin on, root получает право работать на FTP-сервере. (Для этого вам, возможно, придется предпринять и другие действия, например, удалить пользователя root из файла /etc/ftpusers.)

• ServerIdent on|off ["строка-идентификатор"]. Данная директива определяет, должен ли ProFTPd при установлении соединения предоставлять клиенту сведения о себе. Задавая значение on данной директивы, вы можете также указать строку-идентификатор. По умолчанию сервер сообщает пользователю, что для реализации функций FTP-сервера используется продукт ProFTPd. Если вы не собираетесь объявлять тип программы, вам надо явно указать строку, которая должна передаваться клиенту.

• ServerName "строка-идентификатор". С помощью данной директивы вы можете задать имя сервера, которое будет включаться в состав строки, используемой ServerIdent. Директива ServerIdent позволяет переопределить все сообщение, но если вы хотите изменить лишь имя сервера, вы можете использовать для этого опцию ServerName.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*