Колисниченко Д.Н. - Linux-сервер своими руками (1077324), страница 65
Текст из файла (страница 65)
По умолчанию 60 (1 минута)Определяет права доступа для созданного файла. Маска — число в восьмеричной системе, определяющее набор прав доступа (см. главу 4)Имя пользователя, присвоенное демону ProFTPСоздает указанный псевдоним для указанного пользователяСоздает виртуальный сервер11.2.2. Ограничение доступаЯ считаю необходимым подробно рассмотреть блочную директиву Limit.Эта. директива определяет вид и параметры доступа к тому или иномукаталогу. Рассмотрим листинг 11.9.Листинг 11.9.
Пример использования директивы 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 (см. табл. 11.6).В блоке Limit можно задавать директивы Allow, AllowAll, AllowGroup,AllowUser, Deny, DenyAll, DenyUser (см. табл. 11.5). Например, в листинге11.10 запрещается доступ всем пользователям, кроме den.
Пользователь denможет регистрироваться со всех компьютеров, кроме компьютера с IPадресом 111.111.111.111. Также запрещена регистрация из сети 192.168.2.0Команды директивы Limit, ограничивающие права доступаКомандаLOGINWRITEREADSTOR274ОписаниеОграничивает регистрациюОграничивает записьОграничивает чтениеОграничивает прием файловТаблица 11.6Настройка FTPЛистинг 11.10.
Пример блока Limit<Limit LOGIN>DenyAllAllowUser denDeny from 111.111.111.111Deny from 192.168.2.</Limit>11.2.3. Файл .ftpaccessДля конфигурирования отдельного каталога может также использоватьсяфайл .ftpaccess, который расположен в этом каталоге. В нем содержатсятакие же директивы, что и в файле p r o f t p d . c o n f , но файл .ftpaccessимеет приоритет перед файлом p r o f t p d . c o n f .11.3. Организация анонимного РТР-сервераАнонимный FTP-сервер можно построить с помощью wu-ftpd, установивпакет anonftp.
Этот пакет нельзя использовать вместе с сервером ProFTPD.Пакет anonoftp поставляется в составе большинства дистрибутивов.Сейчас рассмотрим, как организовать анонимный FTP-сервер с помощьюсервера ProFTPD. Для организации анонимного доступа сервер ProFTPDимеет директиву Anonymous. При этом в блок Anonymous нужно поместитьдирективы, конфигурирующие анонимную службу. В самой же директивеAnonymous необходимо указать каталог, который будет использоваться в качестве корневого для анонимной службы. Сервер ProFTPD выполнит для этогокаталога команду enroot, превращая этот каталог в корневой для удаленногопользователя.
Перед тем, как сделать это, сервер ProFTPD прочитает всенеобходимые ему файлы конфигурации из реального каталога /etc.При анонимной регистрации, по умолчанию в качестве имени пользователя указывается anonymous, а вместо пароля — адрес электронной почтыпользователя. Вы же можете изменить параметры анонимного доступа, добавив проверку пароля для анонимного пользователя с помощью директивыAnonRequirePassword (см. табл 11.5).
В следующем примере представлентипичный блок Anonymous, подходящий для большинства анонимных серверов (см. листинг 11.11.)Листинг 11.11. Типичный блок Anonymous<Anonymous / v a r / f t p >User f t pGroup ftpUserAlias anonymous ftpRequireValidShell o f f<Directory *><Limit WRITE>DenyAll</Limit><Limit STOR>275Настройка FTPAllowAll</Limit></Directory></Anonymous>Директивы User и Group задают имя пользователя для анонимного доступа.
В обоих случаях применяется имя ftp. Для имени ftp определяется псевдоним anonymous. Вместо пароля нужно указать адрес электронной почты.Директива RequireValidShell отключает проверку командного интерпретатора пользователя. По умолчанию сервер ProFTPD ищет список допустимыхинтерпретаторов в файле / e t c / s h e l l s . Если используемый пользователеминтерпретатор не указан в файле /etc/shells, то соединение будет разорвано. Директива RequireValidShell off отключает такую проверку.Директива <Directory *> определяет свойства для всех каталогов.
Приэтом всем пользователям запрещено записывать файлы на сервер, но разрешено сохранять файлы сервера на свой локальный компьютер.Желательно также добавить в блок Anonymous директиву MaxClients,которая указывает максимальное число клиентов. Нужно учитывать нагрузкуна сервер и пропускной канал для определения максимального числа анонимных клиентов. Настоящих пользователей сервера FTP по возможностине следует ограничивать, в отличие от анонимных. При малоскоростномканале связи, например, 33 Кбит/с, установите маленькое максимальноеколичество анонимных клиентов, например, 5 или даже 3. Конечно, числоклиентов также зависит от объема информации, расположенной на сервере.Если размеры файлов небольшие, например, документация, число клиентовможно установить несколько большим (10...15)..11.4. Вспомогательные программыПри работе с серверами wu-ftpd и ProFTPD вы можете использоватьпрограммы ftpshut, ftpwho, ftpcount. Инструментальные средства обоих серверов имеют похожие опции, но вспомогательные программы для ProFTPDвыводят больше полезной информации.Программа ftpshut останавливает сервер.
Программа ftpwho выводит информацию о пользователях, подключенных к вашему серверу. Программаftpcount сообщает о количестве установленных соединений.Я рекомендую использовать расширенный вывод программы ftpwho. Вэтом режиме предоставляется больше информации (см. листинг 11.12).Листинг 11.12. Результат работы программы ftpwho# ftpwho -vMaster proftpd process 759:1113 2m55s proftpd: ftp — localhost.localdomain: anonymous/den@den.com: IDLE(host: localhost.localdomain [127.0.0.1])(cwd: /)1150 Om20s276proftpd: den -- localhost.localdomain: IDLEНастройка FTP(host: localhost.localdomain [ 1 2 7 .
0 . 0 . 1 ] )(cwd: /home/den)Service class2 usersПрограмма ftpcount только сообщает об общем количестве пользователей(см. листинг 11.13).Листинг 11.13. Результат работы программы ftpcountMaster proftpd process 759:Service class2 users77.5. Виртуальный узел FTPВ этом разделе книги пойдет речь о конфигурировании виртуальногоFTP-сервера.
Создание виртуального FTP-сервера будет происходить с использованием сервера РгоБТР.Для начала определимся, что такое виртуальный сервер? Как и подразумевает слово «виртуальный», такой сервер не будет существовать физически,но пользователь будет считать, что он работает с реальным сервером. ОСLinux может поддерживать несколько IP-адресов, благодаря чему имеетсявозможность создать виртуальные узлы.
Если вы располагаете дополнительными IP-адресами, то они как раз могут использоваться для созданиявиртуальных узлов. При конфигурировании виртуальных FTP-узлов каждому из них нужно присвоить отдельный IP-адрес.Виртуальные FTP-узлы нужны, если вы, например, хотите организоватьнесколько узлов FTP, один — для одной рабочей группы, другой — длявторой, третий может быть анонимным и так далее. Обслуживать сразунесколько FTP-узлов позволяет все тот же демон proftpd.Настройка виртуального FTP-узла очень похожа на настройку виртуального Web-сервера, настройка которого будет рассмотрена в следующей главе. Даже используется одна и та же директива VirtualHost. При этом, дляконфигурирования виртуального FTP-сервера, в файл proftpd.conf нужнодобавить директиву VirtualHost, содержащую IP-адрес (см.
листинг 11.14).Листинг 11.14. Директива VirtualHost<VirtualHost 192.168.1.5>ServerName " V i r t u a l FTP Server"</VirtualHost>В блоке VirtualHost можно использовать другие директивы, например,директиву Anonymous, которая создаст гостевой узел. Можно также задатькаталог или порт (см. листинг 11.15).Листинг 11.15. Пример использования директивы VirtualHost<VirtualHost ftp.library.com>ServerName "Online l i b r a r y "MaxClients 15MaxLoginAttempts1DeferWelcomeon<Limit LOGIN>Allowfrom192.168.1277Настройка FTPDenyfromall</Limit><Limit WRITE>A l l o w U s e r libadminDenyAll</Limit><Anonymous/var/ftp/library/books>UserlibraryGrouplibraryAnonRequirePassword on</Anonymous><Anonymous / v a r / f t p / l i b r a r y >UserftpGroupftpUserAliasanonymousftp</Anonymous></VirtualHost>В листинге 11.15 приведена конфигурация виртуального сервераftp.library.com.
В директиве VirtualHost используется доменное имя, котороедолжно быть прописано в сервере DNS. IP-адрес должен указывать на узелсети, на котором запущен демон ProFTPD. В листинге 11.15 также конфигурируются две анонимных учетных записи — library и ftp. Причем учетнаязапись library требует ввода пароля при регистрации.
Пароль должен совпадать с паролем того пользователя, который запустил демон. Доступ к виртуальному серверу разрешен только для подсети 192.168.1.0. Записывать данные на сервер может только пользователь libadmin.В качестве FTP-клиента для X Window я рекомендую использоватьпрограмму gFTP, которая обладает довольно удобным интерфейсом и богатыми функциями. Использование gFTP настолько простое, что я не будуостанавливаться на его рассмотрении (см.