Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1196

.pdf
Скачиваний:
0
Добавлен:
21.11.2023
Размер:
181.98 Кб
Скачать

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования

«Нижегородский государственный архитектурно-строительный университет»

А. И. Домрачев

АДМИНИСТРИРОВАНИЕ СЕРВЕРОВ НА ПЛАТФОРМЕ "UNIX"

Учебно-методическое пособие

по выполнению лабораторных работ для обучающихся по дисциплине «АДМИНИСТРИРОВАНИЕ СЕРВЕРОВ НА

ПЛАТФОРМЕ "UNIX"»

по направлению подготовки 09.03.02 Информационные системы и технологии, без профиля

Нижний Новгород

2016

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования

«Нижегородский государственный архитектурно-строительный университет»

А. И. Домрачев

АДМИНИСТРИРОВАНИЕ СЕРВЕРОВ НА ПЛАТФОРМЕ "UNIX"

Учебно-методическое пособие

по выполнению лабораторных работ для обучающихся по дисциплине «АДМИНИСТРИРОВАНИЕ СЕРВЕРОВ НА

ПЛАТФОРМЕ "UNIX"»

по направлению подготовки 09.03.02 Информационные системы и технологии, без профиля

Нижний Новгород ННГАСУ

2016

УДК 681.3(075)

Домрачев А. И./ АДМИНИСТРИРОВАНИЕ СЕРВЕРОВ НА ПЛАТФОРМЕ "UNIX" [Электронный ресурс]: учеб. – метод. пос./ А. И. Домрачев; Нижегор. гос. архитектур. – строит. ун-т – Н. Новгород: ННГАСУ, 2016. - 12 с. 1 электрон. опт.

диск (CD-R)

Приводятся цели, задания и порядок выполнения лабораторных работ, а также контрольные вопросы в конце каждой лабораторной работы.

Предназначено для обучающихся в ННГАСУ по дисциплине «АДМИНИСТРИРОВАНИЕ СЕРВЕРОВ НА ПЛАТФОРМЕ "UNIX"» по направлению подготовки 09.03.02 Информационные системы и технологии, без профиля.

© А. И. Домрачев © ННГАСУ. 2016.

Лабораторная работа № 1. Основные команды Linux

Цель работы: изучить основные команды Linux.

Задание: выполнить следующие команды.

Файлы и каталоги.

 

Команда, параметры

 

Назначение

Ключи

 

 

 

 

 

 

 

 

sudo -s

 

Получение прав суперпользователя

 

 

 

 

 

 

 

 

man команда

 

Показывет справку по команду

 

 

 

 

 

 

 

 

 

pwd

 

Показывает текущий каталог

 

 

 

 

 

 

 

 

 

cd путь_к_каталогу

 

Делает каталог текущим

 

 

 

 

 

 

 

 

 

ls путь_к_каталогу

 

Просмотр содержимого

-l показывает сведения о файлах в

 

 

 

 

каталога

каталоге

 

 

 

 

 

 

 

 

cp путь_к_файлу

 

Копирует файл

-r копирует каталог

 

 

путь_куда_копирвать

 

 

 

 

 

 

 

 

 

 

 

ln путь_к_файлу

 

Создаёт ссылку на файл

-s символическая ссылка (аналог

 

 

путь_к_ссылке

 

 

ярлыка в Windows)

 

 

 

 

 

 

 

 

rm путь_к_файлу

 

Удаляет файл

-r удаляет каталог

 

 

 

 

 

 

 

 

cat путь_к_файлу

 

Выводит содержимое файла

 

 

 

 

 

 

 

 

 

du путь_к_каталогу

 

Выводит размер каталога dir

-h выводит размеры в понятном виде

 

 

 

 

 

 

 

 

head путь_к_файлу

 

Выводит начало файла

-n N первые N строк (N-число)

 

 

 

 

 

 

 

 

tail путь_к_файлу

 

Выводит конец файла

-n N последние N строк (N-число)

 

 

 

 

 

 

 

 

touch путь_к_файлу

 

Создаёт файл или изменяет время доступа к существующему файлу

 

 

 

 

 

 

 

 

grep шаблон путь_к_файлу

 

Выводит строки файла,

-r — для всех файлов в каталоге

 

 

 

 

содержащие шаблон

 

 

 

 

 

 

 

 

 

echo строка

 

Выводит на экран строку

 

 

 

 

 

 

 

 

Команда > путь_к_файлу

 

Записывает результат команды в файл (>> - в конец файла)

 

 

 

 

 

 

 

 

mkdir путь_к_каталогу

 

Создаёт каталог

 

 

 

 

 

 

 

 

 

Пользователи и права

 

 

 

 

 

 

 

 

useradd vasya

Создать пользователя vasya

 

 

 

 

 

 

userdel vasya

Удалить пользователя vasya

 

 

 

 

 

passwd vasya

Задать пароль пользователю vasya (пароль при вводе не отображается)

 

 

 

 

sudo -u vasya команда

Выполнение команды от пользователя vasya

 

 

 

 

who или w

Просмотр вошедших в систему пользователей

 

 

 

 

chown vasya 1.txt

Сделать vasya пользователем-владельцем файла 1.txt

 

 

 

 

chgrp users 1.txt

Сделать users группой-владельцем файла 1.txt

 

 

 

 

chmod u+x 1.txt

Дать пользователю-владельцу право на выполнение файла 1.txt

 

 

 

 

chmod g-w 1.txt

Отнять у группы-владельца право на чтение файла 1.txt

 

 

 

 

 

 

 

3

 

Процессы

 

 

 

ps

 

Вывод процессов. -l – развёрнутая информация, -A – для всех пользователей

 

 

 

top

 

Вывод информации о загруженности сервера и наиболее активных процессов

 

 

 

kill

 

Отправка процессу сигнала (обычно это приводит к завершению процесса).

 

 

-k 9 — жёсткое завершение процесса.

 

 

 

nice

 

Изменяет приоритет процесса.

 

 

 

 

Сеть, сервисы

 

 

 

netstat

 

Состояние сетевых подключений

 

 

 

ssh

 

Подключение к удалённому серверу

 

 

 

scp

 

Копирование файлов по сети

 

 

 

service

 

Запуск, останов сервисов

 

 

 

ping

 

Проверка связи с другими компьютерами

 

 

 

Вопросы по работе:

Знать все перечисленные команды.

4

Лабораторная работа №2. Настройка сети в Linux.

Цель работы: изучить настройку сети в Linux.

В этой работе рассмотрим настройку классической схемы подключения Linux сервера к интернету через Linux маршрутизатор.

Сервер-1

Интернет --- Маршрутизатор --- коммутатор --- Сервер-2

Сервер-3

Такая схема позволяет использовать 1 IP адрес для подключения к интернету нескольких серверов и управлять доступом к ним через маршрутизатор. В работе необходимо подключиться к серверу за маршрутизатором и настроить на нём параметры сети. В качестве основного шлюза необходимо указать доступный интерфейс маршрутизатора.

На маршрутизаторе необходимо включить маршрутизацию и задать правила для преобразования проходящих через него пакетов. Первое правило - общее для всех серверов - для настройки трансляции адресов из внутренней сети во внешнюю. Второе правило — для каждого сервера в отдельности — правило перенаправления пакетов из внешней сети во внутреннюю. Сервис, для которого будет производиться перенаправление — сервис удалённого управления SSH, который ожидает подключения на 22-м порту TCP.

Команда или файл

Описание

 

 

/proc/sys/net/ipv4/ip_forward

Для включения маршрутизации должен содержать 1

 

 

/etc/network/interfaces

Файл, в котором хранятся сетевые настройки

 

 

ssh пользователь@IP-адрес

Подключение по протоколу SSH

 

 

reboot

Перезагрузка компьютера

 

 

route

Просмотр таблицы маршрутизации

 

 

ifconfig

Просмотр сетевых настроек

 

 

iptables -A POSTROUTING –t nat -s адрес-сети-

Правило трансляции адресов

серверов/маска -o имя-внешнего-интерфейса-

 

маршрутизатора -j SNAT --to-source адрес-

 

внешнего-интерфейса-маршрутизатора

 

 

 

iptables -A PREROUTING –t nat -i имя-внешнего-

Правило перенаправления порта с внешнего интерфейса

интерфейса-маршрутизатора -p tcp --dport порт-

маршрутизатора на сервер.

на-внешнем-интерфейсе -j DNAT --to-destination

 

адрес-сервера:порт

 

 

 

netstat -tna

Просмотр открытых TCP портов, ожидающих

 

подключения и установленных соединений.

 

 

 

5

iptables-save

Вывод правил Iptables

 

 

sudo команда

Выполнение команды с правами root

 

 

iptables -t nat -D POSTROUTING 2

Удалить правило №2 из таблицы nat POSTROUTING

 

 

iptables-restore

Восстановление правил Iptables

 

 

/etc/rc.local

Команды из этого файла выполняются после загрузки

 

системы с правами root

 

 

Задания поработе:

 

1.Подключиться к серверу за маршрутизатором и настроить на нём сеть. Проверить, что сетевые настройки сохранились после перезагрузки.

2.На маршрутизаторе настроить трансляцию адресов. Проверить связь сервера с каким-нибудь компьютером внешней сети.

3.Настроить перенаправление какого-либо порта на внешнем интерфейсе маршрутизатора на порт для удалённого управления сервера. Подключиться из внешней сети к своему серверу.

Вопросы по работе:

1.Что нужно сделать, чтобы в указанной сети с сервера был доступен интернет?

2.Что нужно сделать, чтобы из интернета был доступен сервер?

3.Для чего настраиваются трансляция адресов и перенаправление портов, приведите примеры.

6

Лаборатораная работа №3. Настройка веб сервера и сервера БД.

Веб сервер будем устанавливать на серверы за маршрутизатором. Поскольку устанавливать программы будем из интернета, то необходимо указать DNS сервер.

Команда, файл или конфигурация

Описание

 

 

ifquery имя-интерфейса

Проверка файла настроек интерфейса

 

 

dns-nameservers адрес-сервера-ДНС

Настройка ДНС в файле конфигурации сети (interfaces)

 

 

dig имя-сервера-интернет

Проверка работы ДНС

 

 

dpkg -l|

Список установленных программ

 

 

apt-get install имя-программы

Установка программы

 

 

/etc/apache2/sites-enabled/000-default.conf

Файл настройки сайта-по-уполчанию

 

 

DocumentRoot

Директива настройки сайта. Путь к HTML-файлам

 

 

service имя-программы-сервера status

Проверка запущен ли сервер

 

 

service имя-программы-сервера restart

Перезапуск программы-сервера

 

 

netstat –tan

Просмотр открытых TCP портов

 

 

<?php phpinfo(); ?>

Содержимое файла index.php, который покажет настройки php

 

 

mysql -u имя_пользователя -p

Подключиться к серверу Mysql из командной строки

 

 

create database имя_БД ;

Создание базы данных

 

 

GRANT ALL PRIVILEGES ON имя_базы_данных.*

Создание пользователя mysql

TO 'имя_пользователя'@'адрес_компьютера'

 

IDENTIFIED BY 'пароль' WITH GRANT OPTION;

 

 

 

Задания по лабораторной работе:

 

1.Настроить DNS на своём сервере и проверить его работу.

2.Установить веб сервер ( программа apache2).

3.Сделать веб сервер доступным из сети ННГАСУ путём перенаправления порта с внешнего интерфейса маршрутизатора.

4.Подключиться к своему веб серверу. Для этого в браузере отключить использование прокси и перейти по адресу: IP-маршрутизатора:порт-проброшенный-на-ваш-сервер.

5.Установить поддержку PHP в apache2 (программа php5). После установки веб сервер перезапустить.

6.Проверить поддерживает ли веб сервер язык PHP, для чего создать файл index.php, который отобразит настройки PHP.

7.Установить сервер MySql (программа mysql-server)

8.Подключитесь к серверу mysql из командной строки и создайте базу данных

9.Создайте пользователя mysql с возможностью подключения к созданной БД только со своего компьютера (адрес компьютера localhost) и второго пользователя с возможностью подключения к БД из своей подсети (адрес подсети 192.168.0.%).

10.Установите программу поддержки mysql для языка php ( php5-mysql) и перезапустите веб сервер.

11.Скачайте по ссылке http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/4.2.10/phpMyAdmin-4.2.10-all- languages.tar.bz2 программу Phpmyamin, распакуйте архив и переместите содержимое в каталог веб-сайтов. Зайдите в phpmyadmin и подключитесь к созданной вами базе.

12.Создайте в базе данных любую таблицу и заполните её любыми данными.

7

Вопросы по работе:

1.Для чего нужен ДНС сервер и как его настроить?

2.Как установить программу?

3.Как проверить установлена ли программа?

4.В какой папке хранятся настройки веб сервера?

5.Как узнать, в какой папке веб сервер хранит HTML и PHP файлы.

6.Какие нужно произвести действия для того, чтобы создать базу дынных Mysql?

7.Как управлять базой данных?

8

Лабораторная работа 4. Протокол SSH.

Протокол SSH предназначен для создания шифрованного соединения между компьютерами. Это соединение может использоваться для управления компьютером или передачи файлов. Сервер SSH ожидает подключений на порту 22 TCP.

Описание

Команда, файл или параметр настройки

 

 

Клиент SSH для передачи файлов

scp пользователь@адрес:путь папка_назначения

 

 

Создание пары криптографических ключей

ssh-keygen

 

 

Каталог, где хранятся закрытые ключи

Домашний_каталог/.ssh/

 

 

Файл, где хранятся открытые ключи

Домашний_каталог/.ssh/authorized_keys

 

 

Файл, в котором хранятся периодические задачи

/etc/crontab

 

 

Текущая дата

date +формат

 

 

Занести результат команды в переменную

DATA=`date +формат` (без пробелов)

 

 

Использование переменной

FILENAME=/backup/имя_файла_{$DATA}

 

 

tar –czf имя_архива.tar.gz файлы_и_каталоги

Создать архив файлов и каталогов

 

 

mysqldump –uпользователь -pпароль имя_базы >

Создать архив базы данных

файл_архив.sql

 

 

 

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

Для того, чтобы создать задачу по расписанию нужно внести изменения в файл /etc/crontab. Формат файла следующий:

Минуты часы число месяц день_недели пользователь путь_к_файлу_задачи

Все параметры, обозначающие время запуска задаются числом или знаком *, или */число. * означает каждую минуту, час или день. */15 означает раз в 15 минут, часов или дней.

Файл задачи – это сценарий, каждая строка которого представляет собой команду. После создания файла не забывайте дать права на выполнение. Для запуска используйте полный путь к файлу, иначе система будет искать его в каталогах, в которых хранятся исполняемые файлы команд. Путь к текущему каталогу может быть заменён символом точка.

Задания:

1.Сделать так, чтобы с одного узла можно было подключаться к другому узлу, не вводя пароль.

2.Создайте сценарий ежедневного копирования сайта и базы данных с вашего компьютера на другой компьютер в файл /backup/имя_файла_дата

9

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]