Проектирование и создание FTP-сервера на базе ОС Linux

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

2.04 desktop и server. Распространяются они бесплатно. Весь процесс реализации сервера будет производиться на виртуальной машине VMware Workstation использоваться будет бесплатная пробная версия. Сервер будет без GUI и все действия будут производится через консоль. Все основные настройки через файлы конфигурирования.- основанная на ядре Linux операционная система, которая идеально подходит для использования на персональных компьютерах, ноутбуках и серверах. Она содержит все необходимые программы: программу просмотра Интернет, офисный пакет для работы с текстами, электронными таблицами и презентациями, программы для общения в Интернет и т.д.

Виртуальная машина - это программа, которую запускают из операционной системы. Программа эмулирует физический компьютер, поэтому у виртуальной машины есть:

BIOS

жесткий диск (отведенное место на вашем жестком диске)

CD-ROM (ваш CD-ROM или подключенный ISO-образ)

сетевые адаптеры для соединения с вашей реальной машиной, сетевыми ресурсами или другими виртуальными машинам и т.д.

 

Рисунок 5. Виртуальная машина VMware Workstation

1.7 Описание процесса реализации

 

Что будет реализовано:

. Доступ по SSH,

. доступ по FTP,

. сетевой доступ в расшаренные папки (SAMBA),

. небольшой хостинг для тестирования своих сайтов,

. торренто-качалка на основе Transmisson,

6. система бекапов.Сервер будет без GUI и все действия будут производится через консоль или веб-интерфейс. Все основные настройки через конфиг-файлы и иногда для наглядности через веб-интерфейс. Сервер будет реализован на виртуальной машине VMware Workstation.

 

Рисунок 6. Установка Ubuntu Server

 

Процесс установки самого сервера: указываем директорию с образом дистрибутива Linux загружаемся с него и следуя подсказкам на экране выполняем установку, в конце установки выбираем установку OpenSSH server.

Рисунок 7. Установка OpenSSH server

 

Сразу после первой загрузки настраивается сеть. Для этого нужно прописать настройки в файле /etc/network/interfaces. sudo nano /etc/network/interfacesЕсть три сетевых адаптера, настроено два из них, конфиг-файл выглядит так: Замыкание на себя auto lo iface lo inet loopback

Первый адаптер eth0 auto eth0 - значит автозапуск этого адаптера при загрузке auto eth0 dhcp - значит айпи и днс настраиваются динамически iface eth0 inet dhcp

Второй адаптер eth1 не настроен и в этом конфиге не прописан

Третий адаптер eth2 автозапуск при загрузке auto eth2 static - значит айпи статический iface eth2 inet static далее указываем айпи, маску и шлюз. address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1

Сохраняем изменения нажатием клавиш Ctrl+o, Enter и закрываем nano Ctrl+x. И перезапускаем сеть. /etc/init.d/networking restart

Теперь можно отключить монитор, клаву, мышь и управлять по сети. Но для этого нужно настроить доступ по SSH.

Рисунок 8. Настройка сети

 

Установка и настройка доступа к серверу по SSH.

 

Сервер установлен, сеть настроена. Теперь настраиваем доступ к серверу по SSH. Во время установки системы была выбрана установка дополнительного ПО OpenSSH server.

Конфиг лежит в файле /etc/ssh/sshd_config sudo nano /etc/ssh/sshd_config

Порт для подключения. Можно изменить на другой свободный Port 22

Чтобы сервер отображал содержимое файла /etc/issue.net в качестве сообщения перед логином (типа приветствия), раскомментируем следующую строку: Banner /etc/issue.net

Настроим доступ для разных пользователей. Для этого изменим следующие строки: UsePAM yes AllowUsers sasha@* user2@192.168.1.10 *@192.168.1.*

В строке AllowUsers прописываем пользователей через пробел в виде юзер@хост, т. е. указываем какой пользователь откуда может подключаться. Можно использовать знак * и ? для подстановки. В данном примере пользователю sasha разрешен доступ отовсюду (и с локалки, и извне), для user2 разрешен доступ только с адреса 192.168.1.10, т. е. только с локалки, а для всех остальных (включая первых двух юзеров) доступ разрешен только с локалки.

Запретим доступ для определенных пользователей директивой DenyUsers. Хосты, можно не указывать. Запретим доступ для user4: DenyUsers user4

Таким же образом можно настроить доступ для групп в директивах AllowGroups, DenyUsers, для групп хост нельзя указывать.

Далее перезапускаем сеть. sudo /etc/init.d/ssh restart

Пробуем подключиться набрав ip сервера: ssh 192.168.1.100 или сразу ip сервера и пользователя: ssh user1@192.168.1.100

Для ускорения подключения в файлах /etc/pam.d/login и /etc/pam.d/sshd закомментируем строки session optional pam_motd.so

и удаляем landscape-клиент: sudo apt-get remove landscape-client landscape-common

Установка и настройка торрент-клиента Transmission-daemon

Установливаем и настроиваем торрентокачалку пока настраиваем все остальные сервисы. В качестве торрент-клиента была выбрана Transmission-daemon с веб-интерфейсом. В отличие от некоторых других клиентов, Transmission не требует наличия веб-сервера для работы веб-интерфейса. Веб-сервер тоже будет, да и функционал Transmission не очень широкий, но все же он подходит, необходимый функционал обеспечивает.

Установливаем sudo apt-get install transmission-daemon

Запускаем transmission-daemon

Конфиг Transmission-daemon-а можно найти в нескольких местах: ~/config/transmission-daemon/settings.json,

/var/lib/transmission-daemon/info/settings.json,

/etc/transmission-daemon/settings.json.

Но только последний является настоящим конфигом. Первый - это конфиг для версии с GUI, второй - ссылка на третий файл. Его и нужно править, но сначала останавливаем демон: sudo /etc/init.d/transmission-daemon stop sudo nano /etc/transmission-daemon/settings.json

Конфигурация: download-dir: папка для загрузки торрентов, например, /home/user/torrents/ watch-dir: папка, откуда будут забираться .torrent-файлы для автоматической загрузки, например, /home/user/torrents/files/ watch-dir-enabled: разрешить автозагрузку .torrent-файлов, true или f