Средства поддержки FTP в LINUX

Программы, реализующие FTP-сервер в Linux. Конфигурационные файлы и опции, используемые для настройки анонимного FTP-сервера. Настройка бюджета пользователя без командного процессора. Административные утилиты, установка пользовательского окружения.

Рубрика Программирование, компьютеры и кибернетика
Вид лекция
Язык русский
Дата добавления 27.11.2013
Размер файла 68,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

В большинстве случаев в составе поддерева FTP задаются следующие подкаталоги:

* pub. В этом каталоге размещаются файлы, предназначенные для копирования на пользовательские компьютеры. Вы можете создавать в каталоге pub любую структуру подкаталогов и помещать в них любые файлы. Необходимо лишь обеспечить, чтобы пользователь ftp имел право чтения этих файлов.

* bin. Для выполнения некоторых действий FTP-сервер обращается к другим программам. Эти программы должны находиться в каталоге /bin (путь к каталогу определяется относительно корневого каталога, заданного с помощью функции chroot ()). Чаще всего серверу требуется утилита Is, кроме того, в процессе работы ему могут понадобиться программы tar, gzip и zcat (последний файл представляет собой символьную ссылку на gzip). Установив FTP-сервер, вы, возможно, обнаружите, что в каталоге bin уже находятся некоторые программы, причем размер их превышает размер соответствующих программ, находящихся в каталоге /bin системы. Причина в том, что при установке FTP-сервера в состав исполняемого файла помещаются все необходимые коды, в результате чего исключается необходимость в библиотечных файлах. Убедитесь, что для файлов, находящихся в этом каталоге, установлен бит исполняемой программы.

* lib. В этом каталоге содержатся динамические библиотеки, используемые при работе программ в /bin. Если вы скопируете в каталог /bin поддерева FTP утилиты из каталога /bin операционной системы, вам надо выяснить, какие библиотеки требуются для работы каждой из них. Это позволяет сделать команда ldd. Так, например, чтобы определить, какие библиотеки нужны для программы Is, надо выполнить команду

ldd /bin/Is

* etc. Для работы FTP-сервера требуются два файла, содержащихся в каталоге /etc:

passwd и group. Вам нет необходимости копировать соответствующие файлы из каталога /etc системы. Вам нужна лишь запись для пользователя ftp (либо другого пользователя, учетную запись которого вы используете для организации анонимного доступа).

После того как вы создадите перечисленные выше каталоги и поместите в них требуемые файлы, можете приступать к дальнейшей настройке анонимного FTP-сервера. Возможно, впоследствии вы внесете некоторые изменения в структуру поддерева FTP, например, включите новые файлы или модифицируете существующие. Например, не исключено, что вы захотите, чтобы перед передачей производилось сжатие файла посредством утилиты gzip. В этом случае вам придется скопировать соответствующий исполняемый файл в каталог /bin поддерева FTP.

3.6 Опции WU-FTPD, используемые при создании анонимного FTP-сервера

Наиболее важные опции, используемые для создания анонимного FTP-сервера на базе продукта WU-FTPD, находятся в файле /etc/ftpaccess. В процессе настройки вам может потребоваться изменить значения следующих опций.

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

* compress, tar, hmod, delete, overwrite и write. Эти опции разрешают или запрещают пользователю выполнять соответствующие команды. Запретив анонимному пользователю вызывать команды, определяемые последними четырьмя опциями, вы лишите его возможности изменять файлы, расположенные на сервере.

Эти опции могут показаться излишними, однако некоторая избыточность позволяет сохранить контроль над сервером, если при установке конфигурации была допущена ошибка или если некоторые функции сервера выполняются некорректно.

* anonymous-root. В качестве значения данной опции надо задать корневой каталог поддерева chroot, в пределах которого выполняется сервер WU-FTPD.

В большинстве систем WU-FTPD запускается посредством суперсервера с привилегиями root. Когда сервер принимает запрос от анонимного пользователя, он порождает процесс от имени пользователя ftp. Таким образом, WU-FTPD может реализовать анонимный FTP-сервер, даже при запуске посредством суперсервера.

3.7 Опции ProFTPd, используемые при создании анонимного FTP-сервера

Основные опции ProFTPd, используемые для настройки анонимного FTP-сервера, находятся в файле proftpd.conf. Фрагмент конфигурационного файла, реализующий простой анонимный сервер, приведен ниже.

<Anonymous /home/ftp>

User ftp

Group ftp

# При регистрации пользователь может указывать имя anonymous

# либо ftp

UserAlias anonymous ftp

# В пределах поддерева chroot запись данных запрещена

<Limit WRITE>

DenyAll </Limit> </Anonymous>

* Директива <Апопуmous> создает блок, в который помещаются остальные опции, применяемые для формирования конфигурации анонимного сервера. При наличии этой директивы ProFTPd изменяет процедуру регистрации, в данном примере сервер создает поддерево chroot, корневой каталог которого размещается в каталоге /home /ftp.

* Директивы User и Group сообщают ProFTPd о том, какое имя пользователя и группы должно использоваться для работы с анонимным сервером. ProFTPd порождает процесс с полномочиями указанного пользователя и группы. Необходимо убедиться в том, что каталоги поддерева FTP и расположенные в них файлы доступны для указанных пользователя и группы.

* Директива UserAlias обеспечивает обслуживание пользователей, которые указывают при регистрации имя anonymous.

* В блоке, созданном с помощью директивы <Limit WRITE>, содержится директива DenyAll. Этот блок запрещает всем пользователям запись в каталоги. Если вы корректно задали права доступа в поддереве FTP, этот блок можно считать излишним. Однако, как было сказано ранее, некоторая избыточность поможет в том случае, если при настройке сервера была допущена ошибка или если в его системе защиты есть недостатки.

* Если вы хотите создать псевдоанонимный сервер, который регистрирует пользователей посредством имени anonymous, но требует ввода пароля, вы должны использовать опцию AnonRequiresPassword on. В этом случае вам также следует задать пароль в файле /etc/passwd или /etc/shadow. (Сервер ProFTPd выполняет аутентификацию пользователя перед тем, как ограничить сферу своих действий поддеревом chroot, поэтому соответствующий пароль задается в системном файле /etc/passwd или /etc/shadow.)

Если вы хотите, чтобы FTP-сервер работал только как анонимный сервер, вам надо принять меры для того, чтобы запретить доступ обычным пользователям. По возможности разместите FTP-сервер на том компьютере, на котором имеется как можно меньше учетных записей администраторов, и запретите доступ этим пользователям, включив их имена в файл /etc/ftpusers.

3.8 Резюме

Ранее FTP-серверы представляли собой чрезвычайно важный компонент Internet, но в настоящее время некоторые их функции взяли на себя Web-серверы. Однако и сейчас FTP-серверы широко используются как средства для обеспечения удаленного доступа пользователей к своим файлам (в этом случае поддерживается двунаправленный обмен информацией) и поддержки анонимных обращений (при этом чаще всего осуществляется передача данных с сервера на клиентские машины). Наибольшей популярностью в Linux пользуются FTP-серверы WU-FTPD и ProFTPd. Обе программы предоставляют широкий набор возможностей и обслуживают как пользователей, регистрирующихся на сервере, так и анонимных пользователей. Настраиваются эти программы по-разному. Структура конфигурационных файлов ProFTPd напоминает структуру файлов Apache. При установке большинство серверов настраивается для регистрации пользователей. Незначительно изменив содержимое конфигурационных файлов, вы можете настроить их для работы в качестве анонимных FTP-серверов.

4. Приложение. Пример конфигурирования FTP-сервера (wu-ftpd версии 2.6.0) на Red Hat Linux 6.1

Конфигурация, которую мы охватываем здесь, предоставляет FTP полубезопасную область файловой системы (chroot гостевой FTP доступ). Она позволит пользователю получить доступ к каталогу FTP сервера, при этом он не сможет перейти на более высокий уровень. Это наиболее безопасная конфигурация для FTP сервера.

Эти инструкции предполагают. Unix-совместимые команды. Путь к исходным кодам ?/var/tmp (возможны другие варианты). Инсталляция была проверена на Red Hat Linux 6.1 и 6.2. Все шаги инсталляции осуществляются суперпользователем root.

wu-ftpd версии 2.6.0

4.1 Пакеты

Домашняя страница Wu-ftpd: http://www.wu-ftpd.org/ FTP сервер Wu-ftpd: 205.133.13.68

Вы должны скачать: wu-ftpd-2.6.0.tar.gz

Раскройте тарбол:

[root@deep /]# cp wu-ftpd-version.tar.gz /var/tmp

[root@deep /]# cd /var/tmp [root@deep tmp]# tar xzpf wu-ftpd-version.tar.gz

4.2 Компиляция и оптмизация

Перейдите в новый каталог Wu-ftpd и введите следующие команды на вашем терминале:

Шаг 1

Редактируйте файл ftpcount.c (vi +241 src/ftpcount.c) и измените строку:

#if defined (LINUX) на: #if defined (LINUX_BUT_NOT_REDHAT_6_0)

Шаг 2

Редактируйте файл pathnames.h.in (vi +42 src/pathnames.h.in) и измените строку:

#define _PATH_EXECPATH "/bin/ftp-exec" на: #define _PATH_EXECPATH "/usr/bin/ftp-exec"

Мы изменили каталог /bin/ftp-exec на /usr/bin/ftp-exec, для Red Hat Linux.

Шаг 3

Введите следующие команды на вашем терминале для конфигурирования Wu-ftpd:

CC="egcs" \

CFLAGS="-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions" \

./configure \

--prefix=/usr \

--sysconfdir=/etc \

--localstatedir=/var \

--disable-dnsretry \

--enable-quota \

--enable-pam \

--disable-daemon \

--disable-newlines \

--disable-virtual \

--disable-plsm \

--disable-pasvip \

--disable-anonymous \

--enable-ls \

--enable-numericuid

Эти опции означают следующее:

Не повторять ошибочный DNS lookups для улучшения производительности.

Добавить поддержку квот для большей безопасности (только если ваша OS поддерживает это).

Добавить поддержку PAM для большей безопасности.

Не разрешать запускать, как автономный демон, позволять контролировать FTPD при помощи TCP-Wrappers.

Подавлять некоторые дополнительные пустые строки.

Не поддерживать виртуальные сервера.

Отключить блокирование PID ожидания сообщений (для загруженных серверов).

Не требовать идентичного IP для пассивного соединения.

Не разрешать анонимный ftp доступ для лучшей безопасности.

Использовать новую внутреннюю команду ls из Wu-ftpd вместо системной ls из Linux для большей безопасности.

Внутренняя ls выводит UID вместо имен пользователей для лучшей производительности.

Шаг 4

Сейчас, мы должны инсталлировать Wu-ftpd на Linux сервер:

[root@deep wu-ftpd-2.6.0]# make

[root@deep wu-ftpd-2.6.0]# make install

[root@deep wu-ftpd-2.6.0]# install -m 755 util/xferstats /usr/sbin/

[root@deep wu-ftpd-2.6.0]# touch /var/log/xferlog

[root@deep wu-ftpd-2.6.0]# chmod 600 /var/log/xferlog

[root@deep wu-ftpd-2.6.0]# cd /usr/sbin/

[root@deep sbin]# ln -sf in.ftpd /usr/sbin/wu.ftpd

[root@deep sbin]# ln -sf in.ftpd /usr/sbin/in.wuftpd

[root@deep sbin]# strip /usr/bin/ftpcount

[root@deep sbin]# strip /usr/bin/ftpwho

[root@deep sbin]# strip /usr/sbin/in.ftpd

[root@deep sbin]# strip /usr/sbin/ftpshut

[root@deep sbin]# strip /usr/sbin/ckconfig

[root@deep sbin]# strip /usr/sbin/ftprestart

Команды make и make install настроят программное обеспечение под вашу систему и проверят ее функциональность на наличие необходимых библиотек, скомпилируют все файлы с исходными кодами в исполняемые двоичные программы и проинсталлируют их вместе с сопутствующими файлами в необходимые места.

Команда install -m будет инсталлировать программу xferstats, используемую для просмотра информации о переданных файлах.

Команда touch создаст файл регистрации для xferstats в каталоге /var/log.

chmod изменит права доступа к файлу xferlog на чтение-запись только пользователю root. Затем, мы создаем символическую ссылку для исполняемого файла in.ftpd, и, в заключении, удаляем отладочную информацию из всех исполняемых файлов, относящихся к Wu-ftpd.

Очистка после работы.

[root@deep /]# cd /var/tmp

[root@deep tmp]# rm -rf wu-ftpd-version/ wu-ftpd-version.tar.gz

Команды rm будет удалять все файлы с исходными кодами, которые мы использовали при компиляции и инсталляции Wu-ftpd. Также будет удален сжатый архив Wu-ftpd из каталога /var/tmp.

4.3 Настройка бюджета пользователя FTP без командного процессора (shell)

Чрезвычайно важно, чтобы ваши пользователи FTP не имели реального командного процессора. В этом случае, если они по каким-либо причинам смогут покинуть chroot окружение FTP, то не смогут выполнить никаких задач, так как не имеют командного процессора.

Первое, создайте нового пользователя, которому вы планируете разрешить подключаться к вашему FTP серверу. Это должна быть учетная запись независимая от регулярно используемых, в связи с особенностями работы "chroot" окружения. Chroot создаст пользователю ощущение, будто каталог в который его поместили находится на самом верху файловой системы.

Шаг 1

Используйте следующие команды для создания пользователя в файле /etc/passwd. Этот шаг должен выполняться для каждого пользователя, кому нужен доступ к FTP серверу.

[root@deep /]# mkdir /home/ftp

[root@deep /]# useradd -d /home/ftp/ftpadmin/ -s /dev/null ftpadmin > /dev/null 2>&1

[root@deep /]# passwd ftpadmin

Changing password for user ftpadmin

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully

Команда mkdir создаст каталог ftp в /home для хранения всех домашних каталогов FTP пользователей. Команда useradd добавит нового пользователя с именем ftpadmin в вашей системе. В заключении, команда passwd установит пароль для него. После того, как каталог /home/ftp/ создан, вам не нужно будет создавать его для каждого нового пользователя.

Шаг 2

Редактируйте файл /etc/shells (vi /etc/shells) и добавьте в него несуществующий командный процессор, например null. Этот ложный shell ограничит доступ FTP пользователям к системе.

[root@deep /]# vi /etc/shells

/bin/bash

/bin/sh

/bin/ash

/bin/bsh

/bin/tcsh

/bin/csh

/dev/null (это ваш несуществующий командный процессор)

ЗАМЕЧАНИЕ. В Red Hat Linux, специальное имя устройства (/dev/null) существует для подобных целей.

Шаг 3

Сейчас, редактируйте ваш файл /etc/passwd и вручную добавьте подстроку

/./, разделяющую каталоги /home/ftp и /ftpadmin, где ftpadmin должен автоматически изменить каталог. Этот шаг должен быть выполнен для каждого FTP пользователя, добавляемого в файл passwd.

Редактируйте файл passwd (vi /etc/passwd) и добавьте/измените строку для пользователя ftpadmin:

ftpadmin:x:502:502::/home/ftp/ftpadmin/:/dev/null

на:

ftpadmin:x:502:502::/home/ftp/./ftpadmin/:/dev/null

Обратите внимание, что путь к домашнему каталогу пользователя ftpadmin немного нечеткий. Первая часть /home/ftp/ показывает файловую систему, которая должна стать новым корневым каталогом. Разделяющая точка / . /говорит, что из текущего каталога необходимо автоматически переходить в /ftpadmin/. Еще раз отметим, что часть /dev/null отключает вход в систему, как регулярного пользователя. С этим изменением, пользователь ftpadmin имеет ложный командный процессор вместо реального, тем самым имея ограничения в доступе к системе.

4.4 Установка пользовательского окружения chroot

Далее вы должны создать основу корневой файловой системы с достаточным количеством необходимых компонентов (исполняемые файлы, файлы парлей и т.д.), чтобы позволить Unix выполнить chroot, когда пользователь входит в систему. Заметим, что если вы использовали опцию --enable-ls во время компиляции, как мы предлагали выше, то каталоги /home/ftp/bin и /home/ftp/lib не нужны, так как Wu-ftpd будет использовать собственную функцию ls. Мы остановимся на демонстрации старого метода, при котором люди копируют /bin/ls в chroot FTP каталог (/home/ftp/bin) и создают соответствующие библиотеки, связанные с ls.

Необходимо выполнить следующие шаги, чтобы запустить Wu-ftpd в chroot окружении:

Шаг 1

Создадим все необходимые каталоги chroot окружения:

[root@deep /]# mkdir /home/ftp/dev

[root@deep /]# mkdir /home/ftp/etc

[root@deep /]# mkdir /home/ftp/bin (требуется, если вы не использовали опцию --enable-ls)

[root@deep /]# mkdir /home/ftp/lib (требуется, если вы не использовали опцию --enable-ls)

Шаг 2

Измените права доступа к новым каталогам на 0511 из соображений безопасности:

[root@deep /]# chmod 0511 /home/ftp/dev/

[root@deep /]# chmod 0511 /home/ftp/etc/

[root@deep /]# chmod 0511 /home/ftp/bin (требуется, если вы не использовали опцию --enable-ls)

[root@deep /]# chmod 0511 /home/ftp/lib (требуется, если вы не использовали опцию --enable-ls)

Команда chmod изменит права доступа к chroot каталогам dev, etc, bin и lib на чтение и исполнения для root и исполнение для группы и всех остальных пользователей.

Шаг 3

Копируйте исполняемый файл "/bin/ls" в каталог "/home/ftp/bin" и изменим права доступа к нему на 0111. (Вы не хотите позволять пользователям модифицировать этот файл):

[root@deep /]# cp /bin/ls /home/ftp/bin (требуется, если вы не использовали опцию --enable-ls)

[root@deep /]# chmod 0111 /bin/ls /home/ftp/bin/ls (требуется, если вы не использовали опцию --enable-ls)

ЗАМЕЧАНИЕ. Этот шаг необходим только если вы не использовали при конфигурировании опцию --enable-ls. Смотрите секцию «Компиляция и оптимизация» в этой главе.

Шаг 4

Найдите разделяемые библиотеки от которых зависит программа ls:

[root@deep /]# ldd /bin/ls (требуется, если вы не использовали опцию --enable- ls)

libc.so.6 => /lib/libc.so.6 (0x00125000)

/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00110000)

Копируйте их в новый каталог lib, расположенный в /home/ftp:

[root@deep /]# cp /lib/libc.so.6 /home/ftp/lib(требуется, если вы не использовали опцию --enable-ls)

[root@deep /]# cp /lib/ld-linux.so.2 /home/ftp/lib/ (требуется, если вы не использовали опцию --enable-ls)

ЗАМЕЧНИЕ. Эти библиотеки нужны для работы команды ls. Также, как и шаг 3, это необходимо сделать, если вы во время конфигурирования Wu-ftpd не указали опцию --enable-ls для использования внутренней команды ls.

Шаг 5

Создайте файл ?/home/ftp/dev/null:

[root@deep /]# mknod /home/ftp/dev/null c 1 3 [root@deep /]# chmod 666 /home/ftp/dev/null

Шаг 6

Копируйте файлы group и passwd в каталог /home/ftp/etc. Они не должны быть такими же, как оригиналы. Мы удалим из них всех не FTP пользователей, исключая root.

[root@deep /]# cp /etc/passwd /home/ftp/etc/

[root@deep /]# cp /etc/group /home/ftp/etc/

Редактируйте файл passwd (vi /home/ftp/etc/passwd) и удалите из него все элементы, кроме root и ваших FTP пользователей. Файл должен иметь следующий вид:

root:x:0:0:root:/:/dev/null

ftpadmin:x:502:502::/ftpadmin/:/dev/null

ЗАМЕЧАНИЕ. Мы отметим здесь две вещи: первое, домашний каталог всех пользователей был изменен (например, /home/ftp/./ftpadmin/ на /ftpadmin/), и второе, командный процессор для пользователя root был изменен на /dev/null.

Редактируйте файл group (vi /home/ftp/etc/group) и удалите все элементы, исключая root и всех FTP пользователей. Файл group должен соответствовать вашему нормальному файлу групп:

root:x:0:root

ftpadmin:x:502

Шаг 7

Сейчас, мы должны иммунизировать файлы passwd и group, находящиеся в chroot окружении.

Установим бит постоянства на файл passwd:

[root@deep /]# cd /home/ftp/etc/

[root@deep /]# chattr +i passwd

Установим бит постоянства¦ на файл group:

[root@deep /]# cd /home/ftp/etc/

[root@deep /]# chattr +i group

4.5 Конфигурации

Все программное обеспечение, описанное в книге, имеет определенный каталог и подкаталог в архиве floppy.tgz, включающей все конфигурационные файлы для всех программ. Если вы скачаете этот файл, то вам не нужно будет вручную воспроизводить файлы из книги, чтобы создать свои файлы конфигурации. Скопируйте файлы связанные с Wu-ftpd из архива, измените их под свои требования и поместите в нужное место так, как это описано ниже. Файл с конфигурациями вы можете скачать с адреса: http://www.openna.com/books/floppy.tgz

Для запуска ftp сервера следующие файлы должны быть созданы или скопированы на ваш сервер.

Копируйте файлы ftpaccess в каталог /etc/.

Копируйте файлы ftpusers в каталог /etc/.

Копируйте файлы ftphosts в каталог /etc/.

Копируйте файлы ftpgroups в каталог /etc/.

Копируйте файлы ftpconversion в каталог /etc/.

Копируйте ftpd в каталог /etc/logrotate.d/.

Копируйте ftp в каталог /etc/pam.d/.

Вы можете взять эти файлы из нашего архива floppy.tgz.

Конфигурация файла /etc/ftpaccess

/etc/ftpaccess это основной конфигурационный файл, используемый для конфигурирования сервера Wu-ftpd. Этот файл первоначально предназначен для определения какие пользователи, сколько пользователей, могут получить доступ к вашему серверу, и прочих важных элементов настройки безопасности сервера.

Шаг 1

Редактируйте файл ftpaccess (vi /etc/ftpaccess) и добавьте/измените в нем следующие строки:

class openna guest 208.164.186.*

limit openna 20 MoTuWeTh,Fr0000-1800 /home/ftp/.too_many.msg

email admin@openna.com

loginfails 3

readme README* login

readme README* cwd=*

message /home/ftp/.welcome.msg login

message .message cwd=*

compress yes all

tar yes all

chmod yes guest

delete yes guest

overwrite yes guest

rename yes guest

log commands real,guest

log transfers real,guest inbound,outbound

guestgroup ftpadmin

guestgroup webmaster

# We don't want users being able to upload into these areas.

upload /home/ftp/* / no

upload /home/ftp/* /etc no

upload /home/ftp/* /dev no

# We'll prevent downloads with noretrieve.

noretrieve /home/ftp/etc

noretrieve /home/ftp/dev

log security real,guest

guest-root /home/ftp ftpadmin webmaster

restricted-uid ftpadmin webmaster

restricted-gid ftpadmin webmaster

greeting terse

keepalive yes

noretrieve .notar

Шаг 2

Сейчас мы должны изменить права доступа на 600:

[root@deep /]# chmod 600 /etc/ftpaccess

Эти параметры конфигурационного файла говорят следующее:

class openna guest 208.164.186.*

Опция class определяет классы пользователей, которые имеют доступ к вашему FTP серверу. Вы можете определить столько классов, сколько хотите. В нашем случае, например, мы определяем класс с именем <openna>, и позволяем пользователю <guest> с учетными записями на ftp сервере доступ к их домашним каталогам через FTP, если они заходят с адреса 208.164.186.*. Важно заметить, что существует три различных типа пользователей: anonymous, guest, и real. Пользователи Anonymous это любой пользователь сети, который подключается к серверу и пересылает файлы не имея учетной записи на нем. Пользователь Guest это реальный пользователь системы для которых сессии настроены также, как и для анонимных пользователей FTP (это то, что мы определили в нашем примере), и пользователь Real должен иметь учетную запись и командный процессор (shell) (это может приводить к риску для безопасности) на сервере для доступа к нему.

limit openna 20 MoTuWeTh,Fr0000-1800 /home/ftp/.too_many.msg

Опция limit определяет число пользователей данного класса, которым разрешается подключаться к серверу, и разрешенное время суток. В нашем примере, к FTP серверу из класса <openna> может подключаться максимум 20 пользователей, в понедельник, вторник, среда, четверг целый день, а в пятницу с полуночи до 6:00 вечера <Fr0000-1800>. Также, если количество пользователей достигло предела (20), то вновь подключаемым пользователям будет выдаваться сообщение </home/ftp/.too_many.msg>. Это очень полезный параметр для контроля за ресурсами сервера.

loginfails 3

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

readme README* login

readme README* cwd=*

Опция readme определяет сообщение выдаваемое клиенту во время регистрации на сервере, или во время использования команды смены каталога, которая определяет файлы в текущем каталоге измененные в последнее время. В нашем примере, мы устанавливаем имя файла <README*> относительно каталога FTP, и условия вывода сообщения: при успешном входе в систему <login> или входе в новый каталог <cwd=*>.

message /home/ftp/.welcome.msg login

message .message cwd=*

Опция message определяет специальные сообщения, отображаемые клиентам, когда они либо вошли в систему, либо используют команду смены рабочего каталога. В нашем примере, мы показываем месторасположение и имя файлов выводимых файлов </home/ftp/.welcome.msg или .message>, и условия при которых они выводятся: при успешной регистрации в системе <login>, или когда клиент входит в новый каталог <cwd=*>. Для опций readme и message, когда вы определяете путь для анонимных пользователей, вы должны использовать абсолютный путь относительно анонимного FTP каталога.

compress yes all

tar yes all

chmod yes guest

delete yes guest

overwrite yes guest

rename yes guest

Опции (compress, tar, chmod, delete, overwrite и rename) определяют права, которые вы хотите дать вашим пользователям на выполнение этих команд. В нашем примере, мы даем права группе <guest> на команды chmod, delete, overwrite и rename, и позволяем всем <all> использовать команды compress и tar. Если вы не определите следующие директивы, они по умолчанию будут выставлены в yes для всех.

log commands real,guest

Опция (log commands) включает регистрацию команд пользователей из соображений безопасности. В нашем примере, мы регистрируем все индивидуальные команды пользователей real и guest <real,guest>. Результаты регистрации сохраняются в файле /var/log/message.

log transfers real,guest inbound,outbound

Опция log transfers включает регистрацию всех FTP пересылок из соображения безопасности. В нашем примере, мы регистрируем все пересылки пользователей real и guest <real,guest>, inbound и outbound <inbound,outbound> определяют направления пересылки, в нашем случае входящие и исходящие. Результаты сохраняются в файле /var/log/xferlog.

guestgroup ftpadmin

guestgroup webmaster

Опция guestgroup определяет всех реальных пользователей относящихся к группе гостей, сессии которых настроены также, как и в анонимном FTP <ftpadmin и webmaster>. Файл "/home/ftp/etc/group" имеет входы для каждой из этих групп, каждая из которых имеет только одного члена. Важно, что в конфигурационном файле в одной строке должна быть записана одна гостевая группа.

log security real,guest

Опция log security включает регистрацию нарушений правил безопасности для реальных, гостевых и/или анонимных FTP клиентов. В нашем примере, мы разрешаем регистрацию нарушений для пользователей использующих FTP сервер для доступа с реальных учетных записей и гостевых бюджетов <real,guest>.

guest-root /home/ftp ftpadmin webmaster

restricted-uid ftpadmin webmaster

restricted-gid ftpadmin webmaster

Эти опции, guest-root, restricted-uid, restricted-gid, определяют и контролируют могут или нет пользователи guest получить доступ в области FTP сервера вне их домашних каталогов (это важная функция повышения безопасности). В нашем примере, мы определяем chroot() путь для пользователей <ftpadmin и webmaster> в </home/ftp>, и они не могут получить доступа к другим файлам, потому что ограничены своими домашними каталогами <restricted-uid ftpadmin webmaster>, <restricted-gid ftpadmin webmaster>. Несколько диапазонов UID может задаваться в этой строке. Если для пользователя выбран guest-root, то домашний каталог пользователя из файла <root-dir>/etc/passwd используется для определения начального каталога, и их домашний каталог в масштабе всей системы из файла /etc/passwd не используется.

greeting terse

Опция greeting определяет, как много системной информации будет выводится до того, как удаленный пользователь войдет в систему. Здесь вы можете использовать три значения: <full> - используется по умолчанию, показывает имя хоста и версию демона, <brief> - только имя хоста, <terse> - просто сообщает "FTP server ready".

keepalive yes

Опция (keepalive) определяет должна ли система сообщения keep alive на удаленный FTP сервер. Если установлена в (yes), то сервер получит необходимое предупреждение о разрыве соединения или падении удаленной машины.

Конфигурация файла /etc/ftphosts.

Файл /etc/ftphosts используется для определения следующего: может ли пользователь входить в систему с определенной машины или ему будет запрещен доступ.

Шаг 1

Создайте файл ftphosts (touch /etc/ftphosts) и добавьте, например, в него следующие строки:

# Пример файла host access

#

# Все, что после '#' это комментарии,

# пустые строки игнорируются

allow ftpadmin 208.164.186.1 208.164.186.2 208.164.186.4

deny ftpadmin 208.164.186.5

В нашем примере, мы разрешаем пользователю <ftpadmin> соединяться с FTP сервером из явно заданного списка адресов <208.164.186.1 208.164.186.2 208.164.186.4>, и запрещаем пользователю <ftpadmin> соединяться с сервера <208.164.186.5>.

Шаг 2

Измените права доступа на 600:

[root@deep /]# chmod 600 /etc/ftphosts

Конфигурация файла /etc/ftpusers

Файл /etc/ftpusers определяет пользователей, которым не разрешен доступ на FTP сервер.

Шаг 1

Создайте файл ftpusers (touch /etc/ftpusers) и добавьте в него следующих пользователей:

Root

Bin

Daemon

Adm

Lp

Sync

Shutdown

Halt

Mail

News

Uucp

Operator

Games

Nobody

Шаг 2

Изменим права доступа к этому файлу на 600:

[root@deep /]# chmod 600 /etc/ftpusers

Конфигурация файла /etc/ftpconversions

Файл /etc/ftpconversions содержит инструкции, которые разрешают вам по требованию сжимать файлы перед пересылкой.

Шаг 1

Редактируйте файл ftpconversions (vi /etc/ftpconversions) и добавьте в него следующие строки:

:.Z : : :/bin/compress -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS

: : :.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS

:.gz: : :/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP

: : :.gz:/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP

: : :.tar:/bin/tar -c -f - %s:T_REG|T_DIR:O_TAR:TAR

: : :.tar.Z:/bin/tar -c -Z -f -

%s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+COMPRESS

: : :.tar.gz:/bin/tar -c -z -f -

%s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+GZIP

: : :.crc:/bin/cksum %s:T_REG::CKSUM

: : :.md5:/bin/md5sum %s:T_REG::MD5SUM

Шаг 2

Измените права доступа на 600:

[root@deep /]# chmod 600 /etc/ftpconversions

Конфигурация файла /etc/pam.d/ftp

Сконфигурируйте ваш файл /etc/pam.d/ftp для использования pam аутентификации.

Создайте файл ftp (touch /etc/pam.d/ftp) и добавьте в него следующие строки:

#%PAM-1.0

auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

auth required /lib/security/pam_pwdb.so shadow nullok

auth required /lib/security/pam_shells.so

account required /lib/security/pam_pwdb.so

session required /lib/security/pam_pwdb.so

Конфигурация файла /etc/logrotate.d/ftpd

Настройте ваш файл /etc/logrotate.d/ftpd на автоматическую ротацию файлов регистраций каждую неделю.

Создайте файл ftpd (touch /etc/logrotate.d/ftpd) и добавьте в него следующие строки:

/var/log/xferlog {

# ftpd должным образом не обрабатывает SIGHUP

nocompress

}

4.6 Настройка ftpd на использование tcp-wrappers из супер сервера inetd

Tcp-wrappers должен быть включен на запуск и остановку ftpd сервера. inetd читает настроечную информацию из своего конфигурационного файла /etc/inetd.conf. Для каждого поля этого файла должно обязательно присутствовать его значение, поля разделяются пробелами или символами табуляции.

Шаг 1

Редактируйте файл inetd.conf (vi /etc/inetd.conf) и добавьте или проверьте на наличие следующие строки:

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a

Чтобы изменения вступили в силу, пошлите демону inetd сигнал SIGHUP, используя следующую команду:

[root@deep /]# killall -HUP inetd

Шаг 2

Редактируйте файл hosts.allow (vi /etc/hosts.allow) и добавьте, например, следующую строку:

in.ftpd: 192.168.1.4 win.openna.com

Которая говорит, что клиенту с IP адресом 192.168.1.4 и именем хоста win.openna.com разрешен FTP доступ на сервер.

4.7 Административные утилиты FTP

ftpwho

Программа ftpwho выводит всех активных пользователей ftp, и их текущие процессы в системе. Выходные данные выдаются в формате напоминающем команду /bin/ps.

[root@deep /]# ftpwho

Service class openna:

5443 ? S 0:00 ftpd: win.openna.com: ftpadmin: IDLE

- 1 users ( 20 maximum)

Здесь вы видите, что к системе подключен один пользователь с именем ftpadmin и пришедший с win.openna.com. Всего к серверу может подключиться 20 пользователей.

ftpcount

Утилита ftpcount это упрощенная версия ftpwho. Она показывает только количество пользователей подключенных к системе в данный момент и общее количество, которое может подключиться:

[root@deep /]# ftpcount

Service class openna - 1 users ( 20 maximum)

4.8 Организация защиты FTP

Файл ftpusers

Важно удостовериться, что вы настроили файл /etc/ftpusers. В нем определяются пользователи, которым не разрешено соединяться с вашим FTP сервером. В него должны быть включены, как минимум, следующие пользователи: root, bin, daemon, adm, lp, sync, shutdown, halt, mail, news, uucp, operator, games, nobody и ВСЕ другие определенные по умолчанию пользователи, доступные в вашем файле /etc/passwd.

Анонимный FTP

Для отключения анонимного FTP, удалите пользователя ftp из вашего файла паролей и проверьте, что пакет anonftp-version.i386.rpm не инсталлирован. Для удаления пользователя ftp выполните следующую команду:

[root@deep /]# userdel ftp

Для проверки, что RPM пакет анонимного FTP не инсталлирован у вас на системе выполните следующую команду:

[root@deep /]# rpm -q anonftp

package anonftp is not installed

Команда upload

По умолчанию, Wu-ftpd сервер разрешает upload всем пользователям. Параметр upload позволяет удаленным пользователям загружать и размещать файлы на FTP сервере. Для оптимальной безопасности, мы не хотим разрешать пользователям загружать файлы в подкаталоги bin, etc, dev и lib каталога /home/ftp. В нашем файле /etc/ftpaccess мы уже сменили корневой каталог (chroot) пользователей на /home/ftp, и поэтому они не имеют доступ к другим областям файловой системы.

Редактируйте файл ftpaccess (vi /etc/ftpaccess) и добавьте следующие строки, которые запретят upload в определенные области.

# Мы не хотим, чтобы пользователи могли закачивать файлы в эти области.

upload /home/ftp/* / no

upload /home/ftp/* /etc no

upload /home/ftp/* /dev no

upload /home/ftp/* /bin no (требуется только если вы не использовали опцию -- enable-ls)

upload /home/ftp/* /lib no (требуется только если вы не использовали опцию --enable-ls)

Вышеприведенные строки запрещают upload в подкаталоги (/, /etc, /dev, /bin и /lib) chroot каталога /home/ftp.

Специальный файл .notar

Хотите ли вы разрешать таррить каталоги или нет, вы должны сделать так, чтобы нельзя было выполнить команду tar в областях, где запрещен upload.

Шаг 1

Чтобы сделать это, создайте специальный файл '.notar' в каждом каталоге и каталоге FTP.

[root@deep /]# touch /home/ftp/.notar

[root@deep /]# touch /home/ftp/etc/.notar

[root@deep /]# touch /home/ftp/dev/.notar

[root@deep /]# touch /home/ftp/bin/.notar (требуется только если вы не использовали опцию --enable-ls)

[root@deep /]# touch /home/ftp/lib/.notar (требуется только если вы не использовали опцию --enable-ls)

[root@deep /]# chmod 0 /home/ftp/.notar

[root@deep /]# chmod 0 /home/ftp/etc/.notar

[root@deep /]# chmod 0 /home/ftp/dev/.notar

[root@deep /]# chmod 0 /home/ftp/bin/.notar (требуется только если вы не использовали опцию --enable-ls)

[root@deep /]# chmod 0 /home/ftp/lib/.notar (требуется только если вы не использовали опцию --enable-ls)

Шаг 2

Файл нулевой длины .notar может привести в замешательство некоторые веб клиенты и FTP прокси, чтобы решить эту проблему, надо запретить пересылку этого файла.

Редактируйте файл ftpaccess (vi /etc/ftpaccess) и добавьте следующую строку, чтобы маркировать файл .notar как непересылаемый.

noretrieve .notar

Команда noretrieve.

Параметр noretrieve сервера Wu-ftpd позволяет вам запретить пересылку выбранных каталогов или файлов. Хорошей идеей будет предотвращение передачи некоторых подкаталогов (bin, etc, dev, and lib) из каталога /home/ftp при помощи команды noretrieve в файле /etc/ftpaccess file. Редактируйте файл ftpaccess (vi /etc/ftpaccess) и добавьте следующие строки для предотвращения передачи ряда каталогов.

# Мы предотвращаем перекачку при помощи noretrieve.

noretrieve /home/ftp/etc

noretrieve /home/ftp/dev

noretrieve /home/ftp/bin (требуется только если вы не использовали опцию (-- enable-ls)

noretrieve /home/ftp/lib (требуется только если вы не использовали опцию (--enable-ls)

4.9 Инсталлированные файлы

> /etc/pam.d/ftp

> /etc/logrotate.d/ftpd

> /etc/ftpaccess

> /etc/ftpconversions

> /etc/ftpgroups

> /etc/ftphosts

> /etc/ftpusers

> /home/ftp/

> /usr/man/man5/ftpconversions.5

> /usr/man/man5/xferlog.5

> /usr/man/man8/ftpd.8

> /usr/man/man8/ftpshut.8

> /usr/man/man8/ftprestart.8

> /usr/sbin/in.ftpd

> /usr/sbin/ftpshut

> /usr/sbin/ckconfig

> /usr/bin/ftpcount

> /usr/bin/ftpwho

> /usr/man/man1/ftpcount.1

> /usr/man/man1/ftpwho.1

> /usr/man/man5/ftpaccess.5

> /usr/man/man5/ftphosts.5

> /usr/sbin/ftprestart

> /usr/sbin/xferstats

> /usr/sbin/wu.ftpd

> /usr/sbin/in.wuftpd

> /var/log/xferlog

5. Администрирование сервера vsftpd

5.1 Введение

File Transfer Protocol (FTP) предназначен для передачи данных в интернете независимо от платформы на которой он установлен, он основан на клиент/сервер архитектуре. RFC 959[1] определяет FTP разделив его на 2 различных канала. Один служит для отправки данных (через TCP-порт 20), а другой для передачи комманд (TCP-порт 21). Этим каналом управляют клиент и сервер, обмениваясь друг с другом информацией о передаваемых данных.

FTP соединение происходит в несколько этапов:

Авторизация пользователя

Установление соединения на 21 порт

Установка соединения на 20 порт

Закрытие соединения

Контроль над передачей данных выполняет протокол TCP (Transmission Control Protocol), который гарантирует получателю доставку сообщения, поэтому FTP нет необходимости проверять были ли пакеты потеряны и произошли ли какие-нибудь ошибки во время их передачи. TCP гарантирует, пришли ли они без ошибок и в правильной последовательности.

Передача данных происходит тремя различными способами маркировки потока, которые могут означать конец файла (EOF) или двумя другими, использующими маркировку конца записи (EOR).

Поток

Блок

Сжатие

Определяют еще два различных режима:

ASCII-режим

Binary-режим

ASCII-режим используется для передачи текстовой информации, а бинарный - для передачи других данных, обычно программ. Пользователю не нужно менять режимы при передачи своих данных, обычно функции определения их типа выполняет FTP-клиент.

Каждый пользователь должен понять, что пароли, передаваемые при авторизации, не шифруются, и на это нужно особо обратить внимание. Над этим стоит серьезно призадуматься. В октябре 1997 в RFC 2228[2] были опубликованы некоторые поправки, касающиеся безопасности FTP.

5.2 vsftpd

vsftpd - представляет собой сервер для Linux-подобных операционных систем, он запускается на таких платформах как Linux, *BSD, Solaris, HP-UX и IRIX. Он включает в себя множество полезных функций, которых нет в других FTP-серверах. Такие как:

высокие требования к безопасности

контроль над полосой пропускания канала

хорошая расширяемость

возможность создавать виртуальных пользователей

поддержка IPnG

высокая производительность

возможность устанавливать виртуальные IP-адреса

высокая скорость работы

Название vsftpd произошло от "very secure FTP deamon" (чрезвычайно безопасный FTP-демон) который разрабатывается под руководством Chris Evans. С самого начала этапа разработки FTP-сервера, безопасности уделялось особое внимание.

К примеру, vsftpd можно запустить в chroot-среде. Это означает, что программа ( vsftpd)создает для нее новую корневую директорию, к которой не будут иметь доступ внешние программы или файлы. Поэтому, если FTP-сервер будет скомпрометирован злоумышленником, он не сможет выйти за пределы этой директории и нанести вред системе.

Среди многих требований предъявляемых к FTP-серверу, безопасность имеет наибольший приоритет, и в этом плане vsftpd значительно превосходит другие FTP-сервера. Достаточно упомянуть WU-FTPD в котором было выявлено огромное количество ошибок за последние несколько лет.

5.3 Инсталляция vsftpd

Установку vsftpd можно легко произвести из rpm-пакета, который входит во многие дистрибутивы.

Также его можно установить из исходников. После того как вы скачали и распаковали архив с исходниками, зайдите в созданную распаковщиком директорию и запустите make. Ниже показан один из способов, как можно это сделать:

neo5k@phobos> tar xzvf vsftpd-x.x.x.tar.gz

neo5k@phobos> cd vsftpd-x.x.x

neo5k@phobos> make

Настоятельно рекомендуется проверить существует ли пользователь "nobody", а также проверить наличие директории "/usr/share/empty" и если ее нет, то создать ее. Если планирутся предоставить доступ анонимным пользователям, то также потребуется создать пользователя"ftp" и предоставить ему домашнюю директорию "/var/ftp". Это можно сделать при помощи следующих комманд: neo5k@phobos> mkdir /var/ftp

neo5k@phobos> useradd -d /var/ftp ftp

Для обеспечения безопасности директория"/var/ftp" не должна принадлежать пользователю"ftp" с правами записи. Следующие две команды позволяют сменить владельца папки и отобрать у него эти привелегия.

neo5k@phobos> chown root.root /var/ftp

neo5k@phobos> chmod og-w /var/ftp

После всего этого мы можем приступить к установке vsftp-демона:

neo5k@phobos> make install

Man-страницы, а также сама программа должны быть скопированы в надлежащие директории. В случае каких-нибудь проблем сделайте это самостоятельно. neo5k@phobos> cp vsftpd /usr/sbin/vsftpd

neo5k@phobos> cp vsftpd.conf.5 /usr/share/man/man5

neo5k@phobos> cp vsftpd.8 /usr/share/man/man8

5.4 Конфигурирование

Файл конфигурации может быть найден в директории "/etc" под именем "vsftpd.conf".

neo5k@phobos> cp vsftpd.conf /etc

Как и в большинствах конфигурационных файлах комментарий обозначается знаком #("решетка"). # Это - комментарий

Простейшая конфигурация демона может выглядеть примерно вот так:

# Разрешать ли анонимный доступ ? YES/NO

anonymous_enable=NO

# Разршать ли загрузку файлов анонимному пользователю? YES/NO

anon_upload_enable=NO

# Разрешать ли анонимному пользователю создавать свои директории ? YES/NO

anon_mkdir_write_enable=NO

# Разрешать ли пользователю производить операции с записью, такие как перименование или удаление ? YES/NO

anon_other_write_enable=NO

# Регистрировать ли сообщения локальных пользователей ? YES/NO

local_enable=YES

# Должны ли пользователи находится только в своих директориях ? YES/NO

chroot_local_user=YES

# Максимальная скорость передачи данных для зарегистрированных пользователей. По-умолчанию = 0 (неограниченная).

local_max_rate=7200

# Разрешать ли запись в каталог ? YES/NO

write_enable=YES

# Включать сообщения при смене директории ? YES/NO

dirmessage_enable=YES

# Показ баннера при регистрации пользователя.

ftpd_banner="Welcome to neo5k's FTP service."

# Включить регистрацию событий ? YES/NO

xferlog_enable=YES

# Регистрировать все активные FTP-соединения ? YES/NO

# Осторожно! Возможно на экране будет огромное количество информации.

log_ftp_protocol=NO

# Разрешать соединения только на порт 20 (ftp data) ? YES/NO

connect_from_port_20=YES

# Таймаут сессии

idle_session_timeout=600

# Таймаут передачи данных

data_connection_timeout=120

# Предоставлять вход через Pluggable Authentication Modules (PAM)

pam_service_name=vsftpd

# Запускать вручную ? YES/NO - зависит от режима (inetd, xinetd, Standalone).

# В данном примере FTP-сервис запускается через xinetd, поэтому NO.

listen=NO

5.5 Запуск FTP-службы vsftpd

vsftpd может быть запущен тремя различными способами. Первый способ - запуск через inetd , второй - через xinetd, третий - запускать сервер вручную.

- запуск через inetd

Если FTP-сервис должен запускаться через inetd, то следует поместить следующие строчки в конфигурационный файл "/etc/inetd.conf" :

neo5k@phobos> vi /etc/inetd.conf

Далее, надо найти строку, в которой упоминается FTP, раскомментировать ее, и в конце строки вписать vsftpd . Затем следует перезапустить inetd. У вас должно получиться примерно так, как показано ниже:

# ftp stream tcp nowait root /usr/sbin/tcpd in.ftpdftp stream tcp nowait root /usr/sbin/tcpd vsftpd

запуск через xinetd

Рекомендуется запускать vsftp именно таким способом, так как xinetd намного новее, чем inetd. В нем есть такие вещи как регистрация запросов, контроль доступа, привязка сервиса к определенному сетевому интерфейсу и т.д. После изменений в конфигурационном файле перезапустите xinetd . Этот файл может выглядеть примерно вот так:

# vsftp daemon.service ftp{ disable = no socket_type = stream wait = no user = root server = /usr/sbin/vsftpd per_source = 5 instances = 200 no_access = 192.168.1.3 banner_fail = /etc/vsftpd.busy_banner log_on_success += PID HOST DURATION log_on_failure += HOST nice = 10}

Ручной способ

Существует также возможность запуска vsftp вручную. Для этого откройте его конфиг и внесите следующие изменения: # Должен ли vsftpd-демон запускаться вручную? YES/NO

listen=YES

После этого можно запустить сервер: neo5k@phobos> /usr/sbin/vsftpd &

А если было правильно указано, в какой папке искать в первую очередь, то просто: neo5k@phobos> vsftpd &

Просмотреть, является ли эта папка проверяемой по-умолчанию можно вот так: neo5k@phobos> echo $PATH

/usr/sbin:/bin:/usr/bin:/sbin:/usr/X11R6/bin

Естественно, если мы запускаем сервер вручную, мы должны убедиться, что сервер не запущен при помощи inetd или xinetd.

5.6 Проверка работы vsftpd

После удачной инсталляции и конфигурирования давайте проверим доступ к FTP-серверу:

neo5k@phobos> ftp phobos

Connected to phobos220 "Welcome to neo5k's FTP service."Name (phobos:neo5k): testuser331 Please specify the password.

Password:230

Login successfulRemote system type is UNIX.Using binary mode to transfer files.

ftp> ls -l

229 Entering Extended Passive Mode150 Here comes the directory listing

drwxr-xr-x 11 500 100 400 May 07 16:22 docs

drwxr-xr-x 9 500 100 464 Feb 01 23:05 hlds

drwxr-xr-x 39 500 100 4168 May 10 09:15 projects226 Directory send OK.

ftp>

Вывод

Как вы наверно уже убедились, vsftp не является сложным ни в инсталляции, ни в конфигурировании. Однако он является достаточно функциональным средством и предоставляет высокий уровень безопасности.

Размещено на Allbest.ru

...

Подобные документы

  • Компоновка и конфигурирование Linux сервера. Общая информация об ALT Linux Server 5, его подвиды и основные функциональные возможности. Установка дистрибутива ALT Linux 5.0 "Ковчег" и Apache2+php+MySQL. Пример настройки работы сайта на web-сервере.

    курсовая работа [6,0 M], добавлен 24.10.2012

  • Общие сведения об операционной системе Linux. Анализ информации о серверах. Основные прикладные клиент-серверные технологии Windows. Сведения о SQL-сервере. Общая информация о MySQL–сервере. Установка и специфика конфигурирования MYSQL-сервера на LINUX.

    курсовая работа [1,3 M], добавлен 16.12.2015

  • Виртуальная файловая система. Файловая система Ext2fs (Linux ext2 File System). Использование операционной системы Linux. Настройка веб-сервера Apache. Управление Web-сервером. Комплекс системных программных средств, реализующих управление файлами.

    курсовая работа [167,4 K], добавлен 25.12.2013

  • Установка и настройка локального web–сервера и его компонентов. Конфигурационные файлы сервера Apache и их натройка. Настройка PHP, MySQL и Sendmail. Проверка работоспособности виртуальных серверов. Создание виртуальных хостов. Тест Server Side Includes.

    учебное пособие [6,2 M], добавлен 27.04.2009

  • Организация корпоративного файлового сервера, выполняющего функции прокси-сервера на базе ОС Linux. Процесс его реализации. Выбор оптимальной аппаратно-программной платформы. Расчёт сметы затрат на выполнение объёма работ по созданию FTP-сервера.

    дипломная работа [2,0 M], добавлен 06.07.2012

  • Linux – одна из наиболее популярных распространяемых бесплатно операционных систем. Работа с базовым ограниченным набором программ по умолчанию. Характеристика основных программ, которые расширяют возможности операционной системы Linux для пользователя.

    презентация [486,5 K], добавлен 09.10.2013

  • Анализ серверных операционных систем на базе ядра Linux. Подходы к построению маршрутизации и оценка полученных результатов. Установка операционной системы CentOS 6.6 и закономерности ее настройки. Принципы и основные этапы тестирования созданного шлюза.

    курсовая работа [2,9 M], добавлен 19.11.2015

  • Исследование IT-структуры Егорьевского филиала МГГУ им. М.А. Шолохова и определение концепций организации сервера. Выбор и обоснование оптимальной аппаратно-программной платформы. Экономическое обоснование эффективности данного программного обеспечения.

    дипломная работа [1,6 M], добавлен 28.06.2010

  • SUSE Linux Enterprise Server для System z: обзор возможностей, техническая информация. Web-сервер Apache: описание, инсталляция, конфигурирование. Настройка виртуальных хостов, авторизации и аутентификации. Меры безопасности при работе на компьютере.

    дипломная работа [687,7 K], добавлен 11.02.2012

  • Механизмы шифрования данных в ОС LINUX MINT. Реализация FDE в интерфейсе инсталлятора. Одно из главных достоинств утилиты CryptKeeper. Создание учётной записи через терминал. Графический интерфейс прав доступа. Резервное копирование данных программы.

    курсовая работа [2,9 M], добавлен 11.12.2014

  • Многопоточный веб-сервер с входным и обрабатывающими модулями. HTTP—протокол передачи гипертекста. Установка и настройка локального веб-сервера "OpenServer". Установка phpMyAdmin, конфигурация PHP. Настройка веб-сервера и виртуальных хостов, модулей.

    курсовая работа [3,2 M], добавлен 08.12.2013

  • Пример окна входа в систему Linux (графический режим). Простейшие команды Linux. Основные задачи при управлении пользователями. Сведения, которые нужно указать для вновь создаваемого пользователя. Содержимое файла/etc/shadow (в котором содержатся пароли).

    лекция [603,7 K], добавлен 20.12.2013

  • Особенности операционных систем Linux. Аппаратно-программные требования для работы с лабораторным практикумом. Настройка виртуальной машины. Аналоги программ WINDOWS в Mandriva. Разграничение прав доступа. Настройка безопасности и политика паролей.

    курсовая работа [1,8 M], добавлен 06.11.2014

  • Общая характеристика системы Android, обзор его аналогов. Необходимые компоненты для начала работы в Android. Настройка конфигураций Ubuntu. Написание script-ов, упрощающих генерацию Linux. Отладка и тестирование программы на плате i.MX53 фирмы freescale.

    курсовая работа [1,1 M], добавлен 12.10.2012

  • Установка сервера DNS. Его регулирование с помощью соответствующей оснастки Microsoft Management. Особенности начальной настройки DNS-сервера. Конфигурирование конкретной зоны, внесенной для управления ресурсными записями. Использование утилиты nslookup.

    презентация [241,8 K], добавлен 10.11.2013

  • Состав операционных систем. Наиболее частое применение утилит Linux: GNU Screen, IPTraf, ELinks, Iotop, Cmus. Сворачивание в фон программ, которые сами этого не умеют. Различные типы сетевых интерфейсов. Использование swap-раздела, консольный медиаплеер.

    презентация [532,1 K], добавлен 09.10.2013

  • Этапы загрузки Linux-системы, регистрация. Управление учетными записями пользователей. Принцип именования устройств, назначение и применение специальных файлов. Управление файлами, доступом к файловой системе, заданиями. Базовая файловая структура Linux.

    методичка [1,6 M], добавлен 15.11.2014

  • Структура предприятия ОАО "Златмаш" и основные задачи Информационно-вычислительного центра. Разработка локального сервера, использующего движок Mediawiki на операционной системе Linux Ubuntu. Выбор языка и среды программирования, создание интерфейса.

    отчет по практике [1,2 M], добавлен 16.09.2012

  • Знайомство з інтерфейсом ОС Linux, робота з довідковою системою Linux. Робота з утилітами командного рядка. Символічні посилання та архівація даних. Пошук файлів за критеріями. Робота з програмою Midnight Commander. Використання офісних додатків.

    методичка [396,5 K], добавлен 17.05.2011

  • Система управления базами данных (СУБД) MySQL. Установка, настройка и запуск MySQL. Окончательная настройка нового MySQL сервера. Основные утилиты и журнальные файлы. Работа с виртуальными хостами. Синтаксис для создания таблиц и управление данными.

    реферат [3,5 M], добавлен 24.06.2019

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.