Цель работы
Изучение принципов сетевого взаимодействия с файловыми серверами по протоколам ftp, SMB и NFS.

Задания к работе
1. Выполнить установку ftp-сервера на локальный хост.
2. Cконфигурировать установленный ftp-сервер следующим образом:
    • разрешить анонимный доступ
    • разрешить анонимным пользователям создание каталогов
    • разрешить анонимным пользователям запись файлов
3. Запустить ftp-сервер.
4. Командой ftp подключиться к серверу ftp://localhost.
5. Определить настройки сервера (команда status)
6. Выяснить, какой каталог является текущим
7. Закрыть соединение
8. Локально создать от имени суперпользователя в каталоге //ftp подкаталоги pub, temp и upload с правами доступа 755, 777, 733 соответственно.
9. Написать пакетный файл, выполняющий следующие действия:
    • Переход в каталог temp
    • Загрузка произвольного локального файла в каталог temp
    • Скачивание этого файла в домашний каталог
    • Переход в каталог pub
    • Загрузка произвольного локального файла в каталог pub
    • Скачивание этого файла в домашний каталог
    • Переход в каталог upload
    • Загрузка произвольного локального файла в каталог upload
    • Скачивание этого файла в домашний каталог
    • Отображение списка файлов в каталогах temp, pub и upload
    • Завершение работы с ftp-сервером
10. Анонимно подключиться к ftp-серверу localhost и выполнить пакетные команды из файла, созданного в предыдущем задании. В отчете объяснить причины отличий в результатах выполнения этих пакетных команд.
11. Изменить конфигурацию ftp-сервера таким образом, чтобы разрешить вход для локальных пользователей.
12. Подключиться к ftp-серверу localhost с учетной записью student и определить, какие каталоги будут доступны для этого пользователя (для этого можно выполнить, например, команды cd / и pwd)
13. Установить параметр chroot_local_user=yes в vsftpd.conf и повторить предыдущее задание. Как отличаются результаты выполнения этого и предыдущего заданий?
14. Завершить все ftp-сеансы.
15. Остановить ftp-сервер
16. Удалить пакет ftp-сервера из системы

Выполнение заданий к работе
1. Выполнить установку ftp-сервера на локальный хост.
Установка ftp-сервера осуществляется обычным образом и зависит только от формата пакета.
Одним из ftp-серверов для семейства ОС Windows является FileZilla Server.   
Так же представлен и клиент FileZilla Client — проект, родственный FileZilla Server — это свободный мультиязычный FTP-клиент для Microsoft Windows, Mac OS X и Linux. Он поддерживает FTP, SFTP, и FTPS (FTP через SSL/TLS).
Установка FileZilla Server:
http://s007.radikal.ru/i302/1110/f0/075a1f5a2e70t.jpg

http://i018.radikal.ru/1110/0a/eb204bfaafc7t.jpg

http://s008.radikal.ru/i305/1110/8f/d6165f9d73c6t.jpg

http://s59.radikal.ru/i166/1110/50/fc052272b9d2t.jpg

http://s42.radikal.ru/i096/1110/bf/5ce0253ca3c8t.jpg

http://s58.radikal.ru/i162/1110/87/b39a69195be2t.jpg

Установка FileZilla Client:
http://s005.radikal.ru/i210/1110/4a/bea693a4a0f2t.jpg

http://s016.radikal.ru/i336/1110/57/ae84fb147989t.jpg

http://s016.radikal.ru/i337/1110/51/321115b3cc5et.jpg

http://s012.radikal.ru/i321/1110/f9/e3756e2fc8ect.jpg

http://i078.radikal.ru/1110/70/a87d7f61ffcdt.jpg

2. Cконфигурировать установленный ftp-сервер следующим образом:
    • разрешить анонимный доступ
    • разрешить анонимным пользователям создание каталогов
    • разрешить анонимным пользователям запись файлов

http://s44.radikal.ru/i105/1110/06/57c8255e70fbt.jpg

Создание учетной записи anonymous обязательно для для анонимного доступа к серверу для служебного пользователя.
3. Запустить FileZilla Server:
http://s005.radikal.ru/i210/1110/d0/dc49df875207t.jpg

4. Командой ftp подключиться к серверу ftp://localhost:
http://s003.radikal.ru/i203/1110/38/866fcf1b5673t.jpg

5. Определить настройки сервера:
http://i041.radikal.ru/1110/4c/8b9006a6ddact.jpg

6. Выяснить, какой каталог является текущим:
http://s012.radikal.ru/i320/1110/13/b7f649546516t.jpg

7. Закрыть соединение
http://i023.radikal.ru/1110/a3/320f455436c1t.jpg

8. Локально создать от имени суперпользователя в каталоге //ftp подкаталоги pub, temp и upload с правами доступа 755, 777, 733 соответственно.
Права доступа на папку или файл принято представлять в виде трех цифр, где каждая цифра обозначает права доступа для своей группы пользователей. Первая цифра устанавливает совокупные права для группы «Owner», вторая – для группы  »Group» и третья для »World». В свою очередь цифра для каждой группы представляет собой арифметическую сумму трех цифр, обозначающих следующие права:

4 = Read (право на чтение)
2 = Write (право на запись)
1 = Execute (право на выполнение)

Подкаталог pub:
http://s45.radikal.ru/i109/1110/b1/f8b6f033e3bdt.jpg

Подкаталог temp:
http://s40.radikal.ru/i088/1110/34/e939a1f6caact.jpg

Подкаталог upload:
http://i030.radikal.ru/1110/18/e4c51d15465dt.jpg

9. Написать пакетный файл, выполняющий следующие действия:
    • Переход в каталог temp
    • Загрузка произвольного локального файла в каталог temp
    • Скачивание этого файла в домашний каталог
    • Переход в каталог pub
    • Загрузка произвольного локального файла в каталог pub
    • Скачивание этого файла в домашний каталог
    • Переход в каталог upload
    • Загрузка произвольного локального файла в каталог upload
    • Скачивание этого файла в домашний каталог
    • Отображение списка файлов в каталогах temp, pub и upload
    • Завершение работы с ftp-сервером

10. Анонимно подключиться к ftp-серверу localhost и выполнить пакетные команды из файла, созданного в предыдущем задании. В отчете объяснить причины отличий в результатах выполнения этих пакетных команд.
11. Изменить конфигурацию FileZilla таким образом, чтобы разрешить вход для локальных пользователей.
В данной конфигурации сервера FileZilla используется подключение только для локальных пользователей.
12. Подключиться к ftp-серверу localhost с учетной записью student и определить, какие каталоги будут доступны для этого пользователя (для этого можно выполнить, например, команды cd / и pwd)
Данное задание предназначено для выполнения непосредственно на кафедре.
13. Установить параметр chroot_local_user=yes в vsftpd.conf и повторить предыдущее задание. Как отличаются результаты выполнения этого и предыдущего заданий?
Данное задание предназначено для выполнения непосредственно на кафедре.
chroot_local_user - Значение YES приводит к тому, что после входа, для локальных пользователей будет выполнен chroot() в их домашний каталог.
14. Завершить все ftp-сеансы.
15. Остановить сервер FileZilla
http://s59.radikal.ru/i166/1110/f3/7903ecd1027at.jpg

16. Удалить пакет FileZilla из системы
http://s011.radikal.ru/i316/1110/96/d74ef3de55c8t.jpg

Контрольные вопросы
1. В каком из режимов (активном или пассивном) работает учебный ftp-сервер?
2. Какой режим передачи по умолчанию использует учебный ftp-сервер?
3. Какой код ответа будет выведен при удачном подключении к серверу?
    - Ответ:  150 Connection accepted
4. Как определить, что на ftp-сервере имеются каталоги, доступные для записи?
    - Посмотреть атрибуты всех имеющихся каталогов
5. Какие коды ответа будут выведены при удачной и неудачной смене каталога?
    - При удачной смене каталога: 226 Transfer OK
    - При неудачной смене каталога: 550 Permission denied