Работа в ОС Linux
Определение операционной системы
Семейства ОС
Архитектура Web-приложения
Администрирование серверной части web-приложения
Удаленный доступ по ssh к серверной части
Текстовый терминал Linux
Основные команды Linux
Пользователи и группы #1
Пользователи и группы #2
Права доступа #1
Права доступа #2
Демоны (daemon’s) Linux
ssh, ssh-демон, клиент ssh
Синтаксис ssh
Параметры сервера sshd
Полезные команды ssh
Ключевые компоненты web-сервера
Веб-сервер Apache
Архитектура Apache2
Детализированная архитектура Apache2
Веб-сервер NGINX
Архитектура NGINX
memcached
СУБД MySQL/MariaDB
Архитектура MySQL
Web-server, PHP + MySQL
Виртуализация и кластеризация

Работа в ОС Linux

1. Работа в ОС Linux

Чаговец Сергей Николаевич
ТулГУ, 2020

2. Определение операционной системы

Операцио́нная систе́ма, сокр. ОС (англ. operating system,
OS) — комплекс взаимосвязанных программ,
предназначенных для управления ресурсами компьютера
и организации взаимодействия с пользователем.
Логическая структура вычислительной системы:
•Прикладные программы
•Операционная система (микропрограммы, драйвера и
др)
•Аппаратное обеспечение (устройства)
Разработчикам ПО ОС позволяет абстрагироваться от
деталей реализации и функционирования устройств,
предоставляя минимально необходимый набор функций и
абстракций (файл, процесс, мьютекс и т.д.).

3.

Логическая структура
вычислительной системы

4.

Структура операционной системы

5.

6. Семейства ОС

• UNIX
– Minix
– Linux
– Windows NT+
– Другие

7. Архитектура Web-приложения

8. Администрирование серверной части web-приложения

• Администрирование web-сервера
• Администрирование сервера СУБД
• Администрирование балансировщика и
обратного прокси NGINX
• Конфигурирование IDS/IPS
• Конфигурирование VPN сервера
• Установка настройка ssh, xrdp.

9. Удаленный доступ по ssh к серверной части

10. Текстовый терминал Linux

11. Основные команды Linux

12. Пользователи и группы #1

• В ОС Linux существует три типа
пользователей:
• root (от англ. root - корень) –
суперпользователь;
• Системные пользователи Создаются
системой автоматически;
• Обычные пользователи - учетные
записи пользователей. Создаются
системным администратором.

13. Пользователи и группы #2

• Каждый пользователь помимо имени имеет
числовой идентификатор пользователя UID.
• UID пользователя root - 0.
• UID системных пользователей от 1 до 100.
• UID обычных пользователей от 100.
• Пользователи могут объединяться в группы.
• Каждый пользователь обязательно входит в
ту или иную группу.
• Группы имеют числовой идентификатор
группы GID (Group IDentificator).

14. Права доступа #1

• Категории пользователей по отношению к файлу
• GNU/Linux многопользовательская ОС.
• В системе могут работать одновременно или по-очереди
несколько пользователей.
• У каждого из них должно быть собственное файловое
пространство, доступ к которому других пользователей
ограничен.
• У любого файла в Linux есть специальные атрибуты – права на
доступ.
• Выделяют три категории пользователей, которым могут
предоставляться права на файл:
– Владелец (u – user).
– Группа (g – group), к которой принадлежит владелец файла.
– Все остальные (o – other).
• Права на файл могут изменять только владелец этого файла и
суперпользователь (root).

15. Права доступа #2

• Чтение, запись, выполнение
– Право на чтение (r – read).
– Право на запись (w – write).
– Право на исполнение (x – execution).
• Буквенная запись прав доступа
• три категории пользователей * три действия над
файлом = девять записей о правах.
– Первая тройка – права владельца
– Вторая тройка – права группы
– Последняя тройка – права на файл для всех остальных
• Пример: rwxrwxrwx
• Запись прав доступа с помощью чисел
– Пример: rwxrwxrwx == 111 111 111 777

16. Демоны (daemon’s) Linux

• Демонами в мире Unix/Linux
называются процессы, которые не
взаимодействуют с пользователем
напрямую.
• Для управления демонами приходится
использовать другие программы.

17. ssh, ssh-демон, клиент ssh

• SSH - (Secure Shell) - это клиент-серверный
протокол удаленного управления
компьютером с операционной системой
Linux/Unix.
• В основном ssh используется для удаленного
управления серверами через терминал.
• В Linux/Unix:
– (демон) ssh на ПК, к которому подключаемся
– клиент ssh с которой подключаемся

18. Синтаксис ssh

• Базовый синтаксис
• Синтаксис команды выглядит
следующим образом:
• $ ssh [опции] имя
пользователя@сервер [команда]

19. Параметры сервера sshd


Port 22
Protocol 2
PermitRootLogin no
AllowUsers User1, User2, User3
AllowGroups Group1, Group2, Group3
X11Forwarding yes

20. Полезные команды ssh


ssh [email protected] ls
ssh [email protected] 'bash -s' < script.sh
sudo dd if=/dev/sda | ssh [email protected] 'dd of=sda.img'
ssh [email protected] 'dd if=sda.img' | dd of=/dev/sda
ssh-keygen -t rsa; ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
ssh [email protected] < local_file.txt
scp /адрес/локального/файла пользователь@хост:адерс/папки
cat localfile | ssh [email protected] "cat > remotefile"
tar czf - /home/user/file | ssh [email protected] tar -xvzf -C
/home/remoteuser/
• ssh -N -L 5555:127.0.0.1:3306 [email protected]
• ssh -N -R 5555:127.0.0.1:3306 [email protected]

21. Ключевые компоненты web-сервера

Ключевые компоненты webсервера

22. Веб-сервер Apache


Работа веб-сервера – обслуживать сайт в интернете.
Передает контент с сервера на каждый запрос пользователя.
Одновременно обслуживает запросы от пользователей.
Обрабатывает файлы написанные на PHP, Python, Java и
другие, формирует файл HTML и отдаёт их в браузер
пользователя.
веб-сервер - инструмент для коммуникации между сервером и
клиентом.
(+) Кросплатформенность
(+) Модульность
(+) Простота настройки
(-) Проблема 10К
Текущая версия:

23. Архитектура Apache2

24. Детализированная архитектура Apache2

25. Веб-сервер NGINX

• Cобытийно ориентированную
архитектуру
• каждый входящий запрос в едином
потоке
• лучшей масштабируемость.
• Обратный прокси-сервер.
• Текущая версия:

26. Архитектура NGINX

27. memcached

Memcached — программное обеспечение,
реализующее сервис кэширования данных в
оперативной памяти на основе хеш-таблицы

28. СУБД MySQL/MariaDB

• MySQL портирована на большое
количество платформ
• MySQL имеет API и коннекторы для
различных языков программирования
• обеспечивает поддержку для ODBC
посредством ODBC-драйвера MyODBC.
• Текущая версия 8.0.17

29. Архитектура MySQL

30. Web-server, PHP + MySQL

31. Виртуализация и кластеризация

• Docker
• Kubernetes
• VirtualBox, VMWare
English     Русский Правила