Сервер
протокола передачи файлов по сети Интернет (NetBSD)
Синтаксис:
ftpd
[-46DdHlnQqrsUuWwX]
[-a anondir]
[-C пользователь]
[-c confdir]
[-e адрес_электронной_почты]
[-h имя_хоста]
[-L xferlogfile]
[-P порт_данных]
[-V версия]
Поддерживаемые платформы:
Neutrino
Опции:
В дополнение к опциям, описанным в документации NetBSD,
ftpd
также поддерживает следующие опции:
-n
Запретить
преобразование IP-адресов в имена хостов.
Описание:
Сервис ftpd – это сервер
протокола передачи файлов по сети Интернет (Internet File
Transfer Protocol). Он работает по протоколу TCP. Для
получения дополнительной информации см. документацию NetBSD: http://netbsd.gw.com/cgi-bin/man-cgi?ftpd++NetBSD-4.0.
Настройка ограниченного
поддерева ftp
При
создании поддерева ftp рекомендуется
соблюдать следующие правила для обеспечения безопасности
системы:
~ftp
Назначить
суперпользователя владельцем основного каталога и запретить
запись в этот каталог всем остальным пользователям.
~ftp/bin
Назначить
суперпользователя владельцем этого каталога и запретить запись
в этот каталог всем остальным пользователям. В общем случае
требуется установить команды преобразования. Для утилиты ls, которая
обязательно должна присутствовать для поддержки команды LIST,
должен быть задан режим 111.
~ftp/usr/lib
Каталог
для разделяемых библиотек. В этом примере используется /usr/lib,
поскольку это имя обычно является частью строки _CS_LIBPATH
(см. getconf
_CS_LIBPATH); однако оно может
варьироваться в зависимости от конкретной пользовательской
конфигурации. Если двоичные файлы в ~ftp/bin
не обращаются к разделяемым библиотекам (все скомпонованы
статически), то этот каталог не требуется; однако утилита ls обычно
связана с разделяемой библиотекой libc.
В такой ситуации:
# cd ~ftp
# mkdir
-m0555 usr
# chown
root:root usr
# mkdir
-m0555 usr/lib
# chown
root:root usr/lib
# cd
usr/lib
# cp
/lib/libc.so.3 .
# chmod
0555 libc.so.3
# chown
root:root libc.so.3
# ln -s
libc.so.3 ldqnx.so.2
~ftp/etc
Назначить
суперпользователя владельцем этого каталога и запретить запись
в этот каталог всем остальным пользователям. Для обеспечения
вывода имен владельцев, а не номеров, команде LIST
должны быть доступны файлы /etc/passwd и /etc/group.
Поле пароля в /etc/passwd не
используется и не должно содержать реальный зашифрованный
пароль. Если существует файл /etc/motd,
после успешного входа в систему выводится содержимое этого
файла. Для файлов /etc/passwd и /etc/group
должен быть задан режим 444.
~ftp/pub
Для
этого каталога задайте режим 777 и владельца ftp.
Пользователь помещает в этот каталог файлы, которые должны
быть доступными при использовании учетной записи anonymous.
~ftp/incoming
Определить
этот каталог для загрузки файлов анонимными пользователями.
Владельцами должны быть пользователь ftp с
соответствующей группой. Члены этой группы – это единственные
пользователи, которым разрешен доступ к загруженным файлам.
Соответственно, эти пользователи должны знать, как обращаться
с этими файлами. Если необходимо разрешить анонимным
пользователям FTP просматривать имена файлов в этом каталоге,
установите права доступа 770; в противном случае установите
права доступа 370.
Анонимные
пользователи могут загружать файлы в этот каталог, но не могут
загружать их оттуда, удалять или перезаписывать файлы,
поскольку установлена маска (umask) и выключены вышеупомянутые
команды.
~ftp/tmp
Этот
каталог используется для создания временных файлов с
сообщениями об ошибках, сгенерированными командой
преобразования или командой LIST. Владельцем должен
быть пользователь ftp. Необходимо
установить права доступа 300.
Не
следует создавать этот каталог, если не предполагается
включить команды преобразования или разрешить загрузку файлов
в этот каталог анонимными пользователями (см. ~ftp/incoming
выше). Сообщения об ошибках от команд преобразования или LIST
пользователю не возвращаются. (Это обычное поведение.)
Запретить загрузку файлов в этот каталог пользователями можно
с помощью директивы /etc/ftpd.conf upload.
Для
настройки учетных записей "ftp-only" только для FTP-доступа
(без возможности входа в систему) выполните следующие
действия:
-
Создайте
файл /sbin/nologin.
-
Скопируйте
или скомпонуйте /sbin/nologin в /sbin/ftplogin.
-
Добавьте
/sbin/ftplogin в файл /etc/shells.
Это
позволит выполнять вход в систему по FTP с учетными записями,
для которых в качестве начального командного интерпретатора
указан /sbin/ftplogin.
