ftpd

Сервер протокола передачи файлов по сети Интернет (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-доступа (без возможности входа в систему) выполните следующие действия:
Это позволит выполнять вход в систему по FTP с учетными записями, для которых в качестве начального командного интерпретатора указан /sbin/ftplogin.