The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

ftpd-BSD (8)
  • >> ftpd-BSD (8) ( Русские man: Команды системного администрирования )

  • BSD mandoc
     

    НАЗВАНИЕ

    ftpd - Сервер Internet File Transfer Protocol  

    СИНТАКСИС

    ftpd [-AdDhlMPSU ] [-T maxtimeout ] [-t timeout ] [-u mask ]  

    ОПИСАНИЕ

    Ftpd - это серверный процесс Internet File Transfer Protocol'а. Сервер использует протокол TCP и слушает порт, определённый спецификацией сервиса ``ftp'' ; смотри services(5).

    Доступные опции:

    -A
    Разрешает только анонимные ftp соединения или бюджеты, перечисленные в /etc/ftpchroot Другие попытки соединения будут отвергнуты.
    -d
    Информация отладки записывается в syslog с помощью LOG_FTP.
    -D
    Если указан этот параметр, то ftpd отделится от командной оболочки и станет демоном, принимая соединения на порту FTP и создавая наследующие процессы (child processes) для управления этими соединениями. Такой запуск создает меньшую нагрузку, чем запуск ftpd из inetd(8) и, следовательно, полезен на загруженных серверах для уменьшения нагрузки.
    -h
    Для пассивных соединений сервер будет использовать порты данных в верхнем диапазоне портов. Этот диапазон определяется в <netinet/in.h> переменными IPPORT_HIFIRSTAUTO и IPPORT_HILASTAUTO В Ox они установлены как 49152 и 65535 соответственно.
    -l
    Каждая успешная и прерванная ftp(1) сессия регистрируется с помощью syslog посредством LOG_FTP. Если этот параметр указан дважды, то также будут регистрироваться операции копирования, записи, добавления, удаления, создания каталога, удаления каталога и переименования вместе со своими аргументами - именами файлов.
    -M
    Разрешен режим multihomed (много домашних каталогов). Вместо простого использования ~ftp для анонимных передач, используется каталог, соответствующий полностью заданному имени IP-адреса, к которому подключился клиент, и расположенный внутри ~ftp
    -p
    Запретить ftp-соединения в пассивном режиме. Полезно, если вы находитесь за межсетевым экраном, который отвергает соединения на порты с произвольно высокими номерами. Многие ftp-клиенты пытаются соединиться с сервером сначала в пассивном режиме и не всегда корректно, что заставляет сервер отвергать соединения на порт к которому он просил клиента подключиться.
    -P
    Разрешает недопустимые номера портов или адреса для команды PORT, инициализирующей соединения. По умолчанию ftpd(8) нарушает RFC и, таким образом, выдает команду PORT на незарезервированные порты и требует, чтобы он использовал тот же адрес источника, с которого поступило соединение. Это предотвращает "FTP bounce attack" против сервисов на обеих машинах.
    -S
    При использовании данного параметра ftpd регистрирует все анонимные скачивания в файле /var/log/ftpd если этот файл существует.
    -U
    Каждая конкурирующая ftp(1) сессия регистрируется в файле /var/run/utmp позволяя увидеть их такой команде как who(1).
    -T maxtimeout
    Клиент также может требовать разные периоды таймаута; опцией -T можно установить максимально разрешенный период длительностью maxtimeout секунд. По умолчанию ограничение - 2 часа.
    -t timeout
    Длительность таймаута неактивности установить в timeout секунд (по умолчанию - 15 минут).
    -u mask
    Установить umask равную mask вместо 027 по умолчанию. Кроме этого, запрещается chmod.

    Для запрета ftp-доступа можно использовать файл /etc/nologin Если файл существует, выводит его и выходит. Если существует файл /etc/ftpwelcome то печатает его перед выводом сообщения ``ready'' Если существует файл /etc/motd то печатает его после успешной регистрации. Если в каталоге существует файл .message то выводит его при входе в каталог.

    В настоящее время ftp-сервер поддерживает следующие ftp-запросы. Регистр запросов игнорируется.

    Запрос Ta Описание
    ABOR Ta прервать предыдущую команду
    ACCT Ta задать бюджет пользователя (игнорируется)
    ALLO Ta разместить хранилище - allocate storage (бессмысленно)
    APPE Ta добавить в файл
    CDUP Ta перейти в каталог верхнего уровня
    CWD Ta сменить рабочий каталог
    DELE Ta удалить файл
    HELP Ta вывод справочной информации
    LIST Ta получить список файлов в каталоге (``ls -lgA '' )
    MKD Ta создать каталог
    MDTM Ta показать время последней модификации файла
    MODE Ta определить тип пересылки данных mode
    NLST Ta получить список имен файлов в каталоге
    NOOP Ta ничего не делать
    PASS Ta указать пароль
    PASV Ta приготовиться к пересылке сервер-серверу
    PORT Ta задать порт подключения данных
    PWD Ta сообщить текущий рабочий каталог
    QUIT Ta прервать сессию
    REST Ta продолжить незавершенную пересылку
    RETR Ta принять файл
    RMD Ta удалить каталог
    RNFR Ta указать имя файла rename-from
    RNTO Ta указать имя файла rename-to
    SITE Ta нестандартные команды (см. следующий раздел)
    SIZE Ta вернуть размер файла
    STAT Ta вернуть статус сервера
    STOR Ta сохранить файл
    STOU Ta сохранить файл с уникальным именем
    STRU Ta определить тип пересылки данных structure
    SYST Ta сообщить тип операционной системы сервера
    TYPE Ta определить тип пересылаемых данных type
    USER Ta указать имя пользователя
    XCUP Ta перейти в каталог верхнего уровня (deprecated)
    XCWD Ta сменить рабочий каталог (deprecated)
    XMKD Ta создать каталог (deprecated)
    XPWD Ta сообщить текущий рабочий каталог (deprecated)
    XRMD Ta удалить каталог (deprecated)

    Следующие нестандартные или UNIX-вые команды поддерживаются запросом SITE.

    Запрос Ta Описание
    UMASK Ta сменить, напр., ``SITE UMASK 002''
    IDLE Ta установить idle-timer, напр., ``SITE IDLE 60''
    CHMOD Ta сменить mode файла, напр., ``SITE CHMOD 755 filename''
    HELP Ta получить справочную информацию.

    Остальные ftp-запросы, определенные в Internet RFC 959, распознаются, но не реализованы. MDTM и SIZE в RFC 959 не определены, но появятся в следующих обновлениях FTP RFC.

    Ftp-сервер прервет активную передачу файла только если перед командой ABOR в командном потоке Telnet будет переданы сигналы Telnet "Interrupt Process" (IP) и Telnet "Synch", как описано в Internet RFC 959. Если во время передачи данных после Telnet IP и Synch получена команда STAT, будет возвращен статус передачи.

    Ftpd интерпретирует имена файлов в соответствии с соглашениями ``globbing'' используемыми csh(1). Это позволяет пользователям использовать метасимволы ``*?[]{}~ ''

    Ftpd аутентифицирует пользователей в соответствии с пятью правилами.

    1. Регистрационное имя должно быть в базе данных паролей, /etc/pwd.db и не должно иметь нулевой пароль. В этом случае пароль должен быть указан клиентом до того, как могут быть выполненые любые файловые операции. Если у пользователя имеется ключ S/Key, то ответ успешной команды USER будет содержать вызов S/Key. Клиент может в команде PASS ответить либо стандартным паролем, либо одноразовым паролем S/Key. Сервер автоматически определит тип полученного пароля и выполнит соответствующую аутентификацию. Подробнее по S/Key аутентификации смотрите в skey(1) S/Key является торговой маркой Bellcore.
    2. Регистрационное имя не должно быть указано в файле /etc/ftpusers
    3. Пользователь должен иметь стандартный shell, возвращаемый getusershell(3).
    4. Если имя пользователя указано в файле /etc/ftpchroot то корень сессии будет переключен в каталог пользователя с помощью chroot(2), как для бюджета пользователя ``anonymous'' или ``ftp'' (см. следующую тему). Однако пользователь все-равно должен ввести пароль. Эта особенность предназначена как компромис между полностью анонимным и полностью привилегированным бюджетами. Бюджет пользователя должен быть настроен также, как для анонимного пользователя.
    5. Если имя пользователя - ``anonymous'' или ``ftp'' то в файле паролей должен присутствовать бюджет анонимного ftp (пользователь ``ftp )'' В этом случае регистрация пользователя разрешена при указании любого пароля (по традиции в качестве пароля должен указываться email-адрес пользователя).

    В последнем случае ftpd предпринимает специальные действия для ограничения доступа клиенту. Сервер выполняет chroot(2) в домашний каталог пользователя ``ftp'' Для того, чтобы система не была взломана, рекомендуется тщательно разрабатывать поддерево ``ftp'' следуя таким правилам:

    ~ftp
    Установите владельцем домашнего каталога ``root'' и сделайте недоступным на запись для всех (mode 555).
    ~ftp/bin
    Установите владельцем этого каталога ``root'' и сделайте недоступным на запись для всех (mode 511). Этот каталог не обязательный, если у вас нет команд, которые мог бы выполнить анонимный ftp пользователь (команда ls(1) является встроенной). Все программы в этом каталоге должны иметь mode 111 (только выполнение).
    ~ftp/etc
    Установите владельцем этого каталога ``root'' и сделайте недоступным на запись для всех (mode 511). Файлы pwd.db (смотрите pwd_mkdb8) и group(5) должны присутствовать, чтобы команда ls могла выводить имена владельцем, а не номера. Поле пароля в pwd.db не используется и не должно содержать реальных паролей. При наличии файла motd он будет распечатываться после успешной регистрации. Эти файлы должны иметь mode 444.
    ~ftp/pub
    Установите для этого каталога mode 555 и владельца ``root'' Это традиционное место, где хранятся файлы, публично доступные для копирования.

    Если регистрация в файл /var/log/ftpd разрешена, информация будет записана в следующем виде:

    time
    Время и дата получения файлов в формате ctime(3).
    elapsed time
    Время копирования, в секундах.
    remote host
    Удаленная машина (или IP-адрес).
    bytes
    Количество переданных байт.
    path
    Полный путь (относительно ftp chroot каталога) переданного файла.
    type
    Тип передачи - либо ``a'' для ASCII, либо ``b'' для binary.
    unused
    Неиспользуемое поле, содержащее для совместимости ``*''
    unused
    Неиспользуемое поле, содержащее для совместимости ``o''
    user type
    Тип пользователя - либо ``a'' для anonymous, либо ``r'' для реального пользователя (всегда должен быть анонимным).
    name
    Либо регистрационное имя системы, либо значение ``email address'' если пользователь анонимный.
    unused
    Неиспользуемое поле, содержащее для совместимости ``0''
    real name
    Регистрационное имя в системе, если соединение не анонимное или ``*'' если анонимное.
    virtual host
    Виртуальная машина, с которой было выполнено соединение.

    Хотя имеются поля для регистрационной информации реальных пользователей, этот файл используется только для анонимных сеансов передачи. Неиспользуемые поля существуют только для совместимости с другими ftpd реализациями.  

    ФАЙЛЫ

    /etc/ftpusers
    Список нежелательных/запрещенных пользователей.
    /etc/ftpchroot
    Список обычных пользователей, для которых нужно выполнить chroot.
    /etc/ftpwelcome
    Приветствие.
    /etc/motd
    Приветствие после регистрации.
    /etc/nologin
    Наличие этого файла влечёт за собою отказ в доступе с одновременной распечаткой его содержимого.
    /var/run/utmp
    Список пользователей в системе.
    /var/run/ftpd.pid
    Id процесса, если запущен в режиме демона.
    /var/log/ftpd
    Файл журнала регистрации событий для анонимных пользователей.

     

    СМОТРИТЕ ТАКЖЕ

    ftp(1), skey(1), who(1), getusershell(3), syslogd(8)  

    ОШИБКИ

    Для создания подключений с привилегированными номерами портов сервер должен выполняться от имени суперпользователя. Он устанавливает действующий ID зарегистрированного пользователя, возвращаясь в режим суперпользователя только для привязки адресов к доменным подключениям. Возможные прорехи в безопасности были очень тщательно изучены, но, возможно, не полностью.  

    ИСТОРИЯ

    Команда появилась в BSD 4.2  

    ПРАВА

    Copyright (c) 1985, 1988, 1991, 1993

    The Regents of the University of California. All rights reserved. Fl P

    Перевод - Александр Саввин, savvin@mail.ru, (c) 2001


     

    Index

    НАЗВАНИЕ
    СИНТАКСИС
    ОПИСАНИЕ
    ФАЙЛЫ
    СМОТРИТЕ ТАКЖЕ
    ОШИБКИ
    ИСТОРИЯ
    ПРАВА


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру