FreeBSD: man ftpd |
![]() |
Добавил(а) microsin |
Здесь приведен перевод английской справки man ftpd от FreeBSD 6.2. ftpd [-468ADdEhMmOoRrSUvW] [-l [-l]] [-a address] [-P port] [-p file] ОПИСАНИЕ Доступные опции: -4 Когда указана опция -D, принимать соединения через сокет AF_INET. -6 Когда указана опция -D, принимать соединения через сокет AF_INET6. -8 Разрешить прозрачный режим UTF-8. Клиенты, совместимые со стандартом RFC 2640 оповещаются об использовании сервером символов в кодировке UTF-8. Эта опция не включает любые перекодировки имен файлов сервера; это работает для имен файлов сервера, закодированных в UTF-8. При выкачке (upload) файлов на FTP включается для клиентов, совместимых с RFC 2640, перекодировка из локальной кодировки клиента в UTF-8. FTP команды и собственные сообщения ftpd в любом случае кодируются в ASCII, который является подмножеством UTF-8. Следовательно, здесь не нужна перекодировка на сервере. -A Разрешается только анонимный доступ к ftp. -a Когда указана опция -D, соединения принимаются только от указанного адреса. -D Когда указана эта опция, ftpd отсоединяется от консоли и становится демоном, принимающим соединения через порт FTP и порождающим (forking) дочерние процессы для поддержки запросов. Это обеспечивает меньшие траты ресурсов в сравнении с запуском ftpd через inetd(8) и полезно для применения на нагруженных серверах для уменьшения нагрузки. -d Отладочная информация будет записываться в лог с изпользованием LOG_FTP. -E Запретить команду EPSV. Это хорошо применять для серверов за файерволом. -h Запрет вывода в сообщениях сервера информации, специфичной для хоста, такой как версия ПО сервера или имя хоста. -l Каждая успешная и ошибочная ftp(1) сессия записывается через syslog LOG_FTP. Если эта опция указана дважды, то записываются команды retrieve (get), store (put), append, delete, make directory, remove directory и операции rename вместе с именами файлов и аргументами. По умолчанию, syslogd(8) записывает эти сообщения в /var/log/xferlog. -M Предотвращает создание анонимными (anonymous) пользователями директорий. -m Разрешает анонимным пользователям перезаписывать или модифицировать существующие файлы, если это разрешено правами файловой системы. По умолчанию anonymous не может модифицировать существующие файлы; в частности, файлы для выгрузки на сервер (upload) должны создаваться с уникальными именами. -O Переводит сервер а режим write-only только для anonymous. Команда RETR запрещена для anonymous, что предотвращает анонимные загрузки (downloads) с сервера. Не дает эффекта, если также указана опция -o. -o Переводит сервер а режим write-only. Команда RETR запрещена для всех, что предотвращает загрузку информации с сервера. -P Когда указана опция -D, принимает соединения на указанном порту, указанном как числовая величина или имя сервиса, вместо порта ``ftp'' по умолчанию. -p Когда указана опция -D, записывает файл process ID в указанный файл вместо pid-файла по умолчанию /var/run/ftpd.pid. -R Когда указана эта опция, ftpd возвращается к историческому поведению по отношения к проверкам безопасности операций пользователей и ограничениям по запросам PORT. В настоящий момент ftpd поддерживает только команды PORT, направленные на непривилегированные порты для удаленных пользователей хоста (которые нарушают спецификацию протокола FTP, однако закрывают некоторые дыры в безопасности). -r Переводит сервер с режим read-only (только для чтения). Все команды, которые могут модифицировать файловую систему, запрещены. -S Когда указана эта опция, ftpd пишет в лог /var/log/ftpd все загрузки файлов anonymous, если этот файл лога существует. -T Клиент может также запрашивать отличающийся период таймаута; максимально разрешенный период таймаута, который может быть установлен, задается опцией -T в секундах. Лимит по умолчанию 2 часа. -t Таймаут неактивности в секундах (по умолчанию 15 минут). -U Эта опция инструктирует ftpd использовать порты данных в диапазоне IP_PORTRANGE_DEFAULT вместо IP_PORTRANGE_HIGH. Это изменение полезно для некоторых специфичных конфигураций файервола; см. ip(4) для дополнительной информации. Примите к сведению, что эта опция является виртуальной и не работает на FreeBSD 5.0 выше; оба диапазона портов на них по умолчанию идентичны. -u Маска создания режима файла по умолчанию (file creation mode mask) устанавливается в umask, которая ожидается в восьмеричной числовой величине. См. umask(2) для деталей. Эта опция может быть переустановлена (запрещена) через login.conf(5). -v Синоним -d. -W Не записывать в лог /var/log/wtmp сессии FTP. Файл /var/run/nologin может использоваться для запрета доступа по ftp. Если файл существует, то ftpd показывает его и завершается. Если файл /etc/ftpwelcome существует, то ftpd выводит его перед выдачей сообщения ``ready''. Если файл /etc/ftpmotd существует, ftpd выводит его после успешного логина. Примите к сведению, что файл motd используется относительно окружения логина. Это означает, например, что в случае пользователя anonymous он будет браться из папки ~ftp/etc. Сервер ftp в настоящий момент поддерживает следующие запросы (регистр не имеет значения). Запросы, помеченные [RW] запрещены, если указана опция -r. Следующие нестандартные UNIX-команды поддерживаются запросом SITE. Запрос Описание Внимание: запросы SITE запрещены для логинов anonymous. Остальные запросы ftp, указанные в стандарте Internet RFC 959, распознаются, но не реализованы. MDTM и SIZE не указаны в RFC 959, однако появятся в следующем обновленном FTP RFC. Для предотвращения denial-of-service (DOS, отказ от обслуживания) атак, запросы SIZE к файлам размером более чем 10240 байт будут запрещены, если текущий тип передачи ASCII. Сервер ftp прерывает активную передачу файла только по команде ABOR вслед за Telnet "Interrupt Process" (IP) сигналом и Telnet "Synch" сигналом в потоке команд Telnet, как описано в стандарте Internet RFC 959. Если команда STAT принята во время передачи данных вместе с Telnet IP Synch, то будет возвращен статус передачи. Ftpd интерпретирует имена фалов в соответствии с конвенции ‘‘globbing’’, используемой csh(1). Это разрешает пользователям задействовать метасимволы ‘‘*?[]{}~’’. Ftpd использует аутентификацию пользователей по следующим 6 правилам: 1. Имя пользователя должно быть в базе данных паролей /etc/passwd и не иметь нулевой (пустой) пароль. В этом случае пароль должен быть предоставлен клиентом перед любыми выполняемыми операциями с файлами. Если пользователь имеет ключ OPIE, ответ на успешную команду USER будет включать OPIE вызов (challenge). Клиент может выбрать ответ с командой PASS и указанием стандартного пароля или одноразовый пароль OPIE. Сервер будет автоматически определять тип предоставленного пароля и аутентифицировать пользователя соответственно. См. opie(4) для большей информации по поводу аутентификации OPIE. 2. Имя пользователя (логин) не должно быть указано в файле /etc/ftpusers. 3. Логин не должен быть членом группы, указанной в /etc/ftpusers. Записи в этом файле интерпретируются как группы, если они имеют префикс "at" `@'. 4. Пользователь должен иметь стандартный шелл, значение которого получено по запросу getusershell(3). 5. Если имя файла присутствует в /etc/ftpchroot, или пользователь является членом группы, которая присутствует в этом файле (имя группы имеет префикс `@'), сессия root будет изменена на каталог, указанный в этом файле или на каталог пользователя с помощью вызова chroot(2), как для аккаунта ``anonymous'' или ``ftp'' (см. следующий пункт). См. ftpchroot(5) для детального описания формата этого файла. Эта возможность может быть также переключена разрешением boolean "ftp-chroot" возможности в login.conf(5). Однако пользователь должен все также предоставить пароль. Эта возможность предназначена в качестве компромисса между полным анонимным аккаунтом и полнопривилегированным аккаунтом. Аккаунт должен также быть настроен для anonymous. 6. Если имя пользователя ‘‘anonymous’’ или ‘‘ftp’’, должен существовать anonymous аккаунт ftp в файле паролей (пользователь ‘‘ftp’’). В этом случае пользователю разрешен логин путем указания любого пароля (по соглашению это имя почтового ящика пользователя). Когда установлена опция -S, все передачи будут записываться в лог. В последнем случае ftpd вводит специальные ограничения для привилегий доступа клиента. Сервер выполняет команду chroot(2) в домашнюю директорию пользователя ‘‘ftp’’. В специальном случае, если домашняя папка пользователя ``ftp'' содержит в пути разделитель /./, ftpd использует левую сторону имени директории для chroot(2), и правую сторону для изменения текущей директории впоследствии. Типичный пример /usr/local/ftp/./pub. Чтобы не нарушить защиту системы, рекомендуется поддерево ``ftp'' сконструировать по следующим правилам: ~ftp Сделать пользователя root владельцем домашней директории пользователя ‘‘ftp’’, и сделать невозможной для запись в эту директорию кем бы то ни было. ~ftp/etc Сделать для этой директории владельцем ``root'' и сделать эту папку невозможной для записи кем бы то ни было (режим 555). Файлы pwd.db (см. passwd(5)) group(5) должны быть доступны для команды ls(1) для возможности предоставить имена пользователей ранее, чем номера. Поле пароля в passwd(5) не используется, и не должно содержать реальных паролей. Если присутствует файл ftpmotd, то он будет успешно напечатан после успешного логина. Файлы должны иметь режим доступа 444. ~ftp/pub Эта папка и подпапки должны иметь владельцами пользователей и групп, которым разрешено помещать файлы в них, доступны на запись только для них (режим 755 или 775). Они не должны иметь владельца ``ftp'' или записываемыми из его группы, иначе гоствые пользователи могут переполнить диск нежелательными файлами. Если у системы несколько IP адресов, ftpd поддерживает идею виртуальных хостов, которые обеспечивают возможность определить несколько анонимных anonymous регионов ftp, каждая со своим адресом internet. Файл /etc/ftphosts содержит информацию, относящуюся к каждому виртуальному хосту. Каждый хост задается отдельной строкой, содержащей следующие поля, отделенные пробелами: hostname Содержит имя или IP адрес виртуального хоста. user Содержит запись пользователя в системном файле паролей. Для нормальной работы анонимного ftp, у этих пользователей access uid, gid и членство в группе определяют файловый доступ для анонимного региона ftp. Этот регион, на который любой пользователь переключается (chrooted) при логине, определяется домашней директорией для этого аккаунта. Пользовательский id и группа для любого аккаунта ftp должны быть теми же, как и для стандартного пользователя ftp. statfile Файл, с который будет писаться лог всех передач файлов (по умолчанию это файл /var/log/ftpd). welcome Этот файл содержит приветствие пользователя, которое отображается перед приглашением "server ready". Файл по умолчанию /etc/ftpwelcome. motd Этот файл отображается после логина пользователя. Файл по умолчанию /etc/ftpmotd. Строки, начинающиеся с '#' игнорируются и могут использоваться для добавления комментариев. Назначение виртуального хоста для главного IP адреса или имени хоста меняют умолчание для ftp логина на этот адрес. 'user', 'statfile', 'welcome' и 'motd' поля могут быть пустыми или содержать одиночный дефис '-', что показывает использование величины по умолчанию. С любой анонимной конфигурацией логина необходимо производить тщательные настройки для защиты и предотвращения проблем с безопасностью. Утилита ftpd имеет внутреннюю поддержку удаленных запросов для предоставления списка файлов, и не будет вызывать /bin/ls для измененного (chrooted) или (non-chrooted) окружения. Исполняемые файлы ~/bin/ls не нужно размещать в chrooted-дерево, и не требуется существование каталога ~/bin. ФАЙЛЫ СМ. ТАКЖЕ ИСТОРИЯ БАГИ |