Скачиваний:
0
Добавлен:
22.07.2026
Размер:
824 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ГЕОДЕЗИИ И КАРТОГРАФИИ» (МИИГАиК)

Кафедра информационно-измерительных систем

Лабораторная работа №4.

Тема: Создание и управления сервисами с помощью юнитов и утилит Systemd на примере развёртывания средства удалённого доступа VNC на РЕД ОС.

Группа: 2022-ФГиИБ-ИСиТ-1б Студент: Дыгало Матвей Преподаватель: Дручинин С.С.

Москва, 2023

Настройка TigerVNC и поключение к удаленному рабочему столу

1.Установим утилиту для управления VNC сервером командой sudo dnf install tigervnc-server.

2.Создадим пароль для удаленной сессии командой vncpasswd. Далее будет предложено указать, является ли пароль только для просмотра рабочего стола или также может использоваться для удаленного управления. Ответим “no” для возможности управления.

3.Скопируем конфигурацию systemd службы VNC-сервера и отредактируем ее для нашего пользователя. Для этого выполним команду cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service (значение 1 после знака @ представляет номер дисплея (порт 5900 + номер дисплея) ).

4.Отредактируем новый конфигурационный файл - vim /etc/systemd/system/vncserver@:1.service. В нем отредактируем параметр

ExecStart, изменив параметр <USER> на имя пользователя и сохраним файл.

5.Установим тип сессии по умолчанию (т.е. тип использумого рабочего стола при удаленном подключении) командой echo 'PREFERRED="$(type -p mate-session)"' >> /etc/sysconfig/desktop.

6.Настроим поведение нашего файла службы systemd. Для этого обнаружим его командой systemctl daemon-reload. Затем, включим службу и установим ее автостарт командами systemctl start vncserver@:1

и systemctl enable vncserver@:1.

7.Проверим работоспособность сервера. Для этого проверим интересующие нас порты командой ss -tulpn | grep “vnc”. Мы должны увидеть занятый сервером порт 5901.

8.По умолчанию РЕД ОС поставляется с системой контроля доступа SELinux, который может конфликтовать с нашими настройками. В таком случае, можно либо проследовать советам графической оболочки оповещений SELinux, чтобы добавить для необходимых процессов исключения, либо

отключить службу полностью (не рекомендуется), изменив параметр

SELINUX=disabled в файле /etc/selinux/config.

9. Теперь попробуем подключиться к своему рабочему столу. Для этого

найдем ip адрес виртуальной машины командой ifconfig. Затем воспользуемся программой Remmina с графическим интерфейсом. Выберем VNC в качестве протокола и введем полученный ip и порт 5901. В появившемся окне предоставим пароль, введенный ранее в vncpasswd. После успешного ввода отобразится окно удаленного рабочего стола - теперь мы можем наблюдать (и управлять, если вы выбрали данный параметр) за рабочим столом машины.

Система инициализации и управления службами systemd.

SystemD – система инициализации операционной системы и управления службами, которая в настоящее время используется в большей части свободно распространяемых дистрибутивов Lunix-подобных операционных систем. Она является иерархическим потомком системы инициализации Unix System V, которая стала использоваться значительно реже.

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

SystemD представляет собой систему сущностей, которые называются модулями. Модули инкапсулируют различные объекты, которые необходимы для обеспечения загрузки системы и поддержания её последующей

корректной работы. Всего в системе насчитывается 11 видов модулей, ниже перечислены 4 вида наиболее важных из них:

1.Service units – модули служб, управляют системными демонами и их выполняющимися процессами.

2.Socket units – модули, инкапсулирующие в себе работу с сетевыми сокетами и подключениями.

3.Target units – модули, отвечающие за управление уровнями запуска операционной системы и перевод системы из одного состояния работы в иное.

4.Device units – модули, отвечающие за конфигурирование подключённых к системе периферийных устройств.

Процесс systemd является первым порождающимся процессом, возникающим при запуске операционной системы. Данный процесс имеет идентификатор PID = 1 и представляет собой родителя всех остальных системных процессов. Соответственно, при завершении работы операционной системы процесс systemd завершается последним.

Systemctl. Команда-диспетчер systemd.

Для управления системой SystemD используется команда systemctl. Она поддерживает ряд подкоманд, например enable, disable, stop, start, restart, reload, status и т.д. Опишем функционал нескольких наиболее полезных команд:

1.sudo systemctl enable <service> — включение модуля-службы, создание символической ссылки на файл данного модуля по пути /lib/systemd/system/ в каталоге /etc/systemd/system/, включение модуля в автозагрузку системы.

2.sudo systemctl disable <service> — выключение модуля, удаление символической ссылки на файл модуля из каталога /etc/systemd/system/, удаление модуля из автозагрузки.

3.sudo systemctl reenable <service> — повторное включение модуля с созданием новой и удалением старой символической ссылки.

4.sudo systemctl start <service> — запуск модуля.

5.sudo systemctl stop <service> — остановка модуля.

6.sudo systemctl restart <service> — остановка и запуск модуля.

7.sudo systemctl reload <service> — перезапуск модуля при внесении изменений в его конфигурационный файл.

8.sudo systemctl status <service> — просмотр состояния модуля.

9.sudo systemctl list-unit-files — вывод списка всех модулей в системе, их типа и текущего состояния.

Утилита просмотра сетевых подключений ss

ss — консольная утилита, которая предоставляет информацию о сетевых сокетах, подключениях TCP/UDP, маршрутизации и других сетевых статистических данных.

ss отображает информацию аналогично утилите netstat и при этом выводит больше информации о сетевых соединениях и их состоянии, чем какие-либо другие инструменты.

Информация о сокете выводится в виде таблицы. Каждый столбец отображает определенную информацию, относящуюся к сокету.

Описание выводимой информации в столбцах:

Netid — отображает тип сокета;

State — отображает состояние сокета. Может принимать следующие значения: сокет установлен — ESTAB, сокет не подключен — UNCONN, сокет прослушивается — LISTEN.

Recv-Q — отображает количество принятых пакетов в очереди;

Send-Q — отображает количество отправленных пакетов в очереди;

Local address:port — показывает адрес локальной машины и порт;

Peer address:port — отображает адрес удаленной машины и порт. Основные опции утилиты ss:

-V, --version — показать версию утилиты;

-n, --numeric — не определять имена служб;

-r, --resolve — определять сетевые имена адресов с помощью DNS;

-a, --all — отобразить все сокеты (открытые соединения);

-l, --listening — показать только прослушиваемые сокеты;

-o, --options — показать информацию таймера;

-e, --extended — выводить расширенную информацию о сокете;

-p, --processes — показать процессы, использующие сокет;

-i, --info — посмотреть внутреннюю информацию TCP;

-s, --summary — статистика использования сокета;

-D, --diag=<файл> — экспортировать текущее состояние TCP-сокетов

вфайл;

-F, --filter=<файл> — работать с информацией, взятой из файла. Можно выводить информацию о сокете, который использует только

необходимый протокол, используя следующие опции:

-4, --ipv4 — только сокеты протокола IPv4;

-6, --ipv6 — только сокеты протокола IPv6;

-0, --packet — только PACKET-сокеты;

-t, --tcp — TCP-сокеты;

-u, --udp — UDP-сокеты;

-x, --unix — UNIX-сокеты.

Клиент для удаленного доступа Remmina

Remmina — клиент удалённого рабочего стола, разрабатываемый под GTK на основе бесплатной имплементации проприетарного протокола Remote Desktop Protocol для компьютеров на Windows - FreeRDP. Имеет лицензию GPLv2+.

Обычно используется для подключения к удаленному рабочему столу Windows (RDP), но также Remmina имеет возможности подключения с использованием следующих протоколов: SSH, VNC, RDP, NX, X2Go, HTTP(S) и XDMCP.

Соседние файлы в предмете Администрирование информационных и автоматизированных систем