706 lines
34 KiB
Markdown
706 lines
34 KiB
Markdown
#### Лабораторные работы по курсу RH199 (RHCSA)
|
||
|
||
***
|
||
|
||
###### top
|
||
|
||
[Подготовка виртуальных хостов для выполнения лабораторных работ.](#stand)
|
||
|
||
*лабораторные работы начинаются с 3-й главы*
|
||
|
||
3. [Управление локальными пользователями и группами.](#chapter3)
|
||
4. [Управление доступом к файлам.](#chapter4)
|
||
5. [Настройка SELinux.](#chapter5)
|
||
6. [Настройка производительности системы.](#chapter6)
|
||
7. [Установка и обновление программного обеспечения.](#chapter7)
|
||
8. [Управление локальным хранилищем.](#chapter8)
|
||
9. [Настройка сервисов и управление загрузкой процессов.](#chapter9)
|
||
10. [Настройка сетевых интерфейсов.](#chapter10)
|
||
11. [](#chapter11)
|
||
12. [](#chapter12)
|
||
13. [](#chapter13)
|
||
14. [](#chapter14)
|
||
15. [](#chapter15)
|
||
16. [](#chapter16)
|
||
17. [](#chapter17)
|
||
|
||
***
|
||
|
||
###### stand
|
||
**Подготовка виртуальных хостов для выполнения лабораторных работ.**
|
||
|
||
*Для выполнения лабораторных работ потребуется настроить 2 виртуальных хоста*
|
||
|
||
server1 - 192.168.10.10
|
||
user: student
|
||
password: student
|
||
root password: redhat
|
||
|
||
server2 - 192.168.10.11
|
||
user: student
|
||
password: student
|
||
root password: redhat
|
||
|
||
Дополнительно необходимо:
|
||
*SERVER1*
|
||
Перечень необходимых команд root (*стоит это оформить в виде скрипта*)
|
||
```bash
|
||
useradd student -G wheel
|
||
echo student | passwd student --stdin
|
||
echo '192.168.10.11 server2' >> /etc/hosts
|
||
wget -P /home/student https://download-ib01.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/h/htop-3.0.5-1.el8.x86_64.rpm
|
||
|
||
```
|
||
|
||
*SERVER2*
|
||
Перечень необходимых команд root (*стоит это оформить в виде скрипта*)
|
||
```bash
|
||
useradd student -G wheel
|
||
echo student | passwd student --stdin
|
||
echo '192.168.10.10 server1' >> /etc/hosts
|
||
yum install httpd -y
|
||
mkdir /webserver
|
||
sed -i 's/\/var\/www\/html/\/webserver/g' /etc/httpd/conf/httpd.conf
|
||
systemctl enable --now httpd
|
||
echo "This is the html file for the SELinux final lab on SERVER2." > /webserver/lab.html
|
||
firewall-cmd --add-service=http
|
||
firewall-cmd --add-service=http --permanent
|
||
|
||
```
|
||
|
||
**После настройки ВМ необходимо сохранить состояние - создать снапшот и после выполнения каждой лабораторной работы возвращаться к исходному состоянию.**
|
||
|
||
***
|
||
|
||
###### Chapter3
|
||
**Управление локальными пользователями и группами.**
|
||
|
||
1. Подключиться по ssh к server1
|
||
```bash
|
||
da2001@Zenmint ~ $ ssh student@server1
|
||
```
|
||
|
||
2. У всех вновь создаваемых пользователей пароль необходимо изменять каждые 30 дней.
|
||
```bash
|
||
[student@server1 ~]$ sudo -i
|
||
[sudo] пароль для student:
|
||
[root@server1 ~]# vim /etc/login.defs
|
||
```
|
||
*необходимо изменить строку*
|
||
```bash
|
||
PASS_MAX_DAYS 30
|
||
```
|
||
|
||
3. Создать новую группу `consultants` с GID 35000.
|
||
```bash
|
||
[root@server1 ~]# groupadd -g 35000 consultants
|
||
```
|
||
|
||
4. Настроить административные права членов группы `consultants`, чтобы они могли выполнять любые команды от любых пользователей.
|
||
*best practices RedHat не редактировать существующие системные файлы, а создавать свои в соответствующих директориях.
|
||
Создадим файл vim `/etc/sudoers.d/consultants`*
|
||
```bash
|
||
[root@server1 ~]# vim /etc/sudoers.d/consultants
|
||
```
|
||
*добавить строку*
|
||
```bash
|
||
%consultants ALL=(ALL) ALL
|
||
```
|
||
|
||
5. Создать пользователей `consultant1`, `consultant2`, и `consultant3` и задать им в качестве дополнительной группы `consultants`.
|
||
```bash
|
||
[root@server1 ~]# useradd -G consultants consultant1
|
||
[root@server1 ~]# useradd -G consultants consultant2
|
||
[root@server1 ~]# useradd -G consultants consultant3
|
||
```
|
||
|
||
6. Учётные записи пользователей `consultant1`, `consultant2`, и `consultant3` настроить таким образом, чтобы срок их действия истекал через 90 дней с текущей даты.
|
||
*узнать какая дата будет через 90 дней от текущей даты можно с помощью команды*
|
||
```bash
|
||
[root@server1 ~]# date -d "+90 days" +%F
|
||
```
|
||
*ограничить срок действия пароля*
|
||
```bash
|
||
[root@server1 ~]# chage -E 2022-01-06 consultant1
|
||
[root@server1 ~]# chage -E 2022-01-06 consultant2
|
||
[root@server1 ~]# chage -E 2022-01-06 consultant3
|
||
```
|
||
|
||
7. Изменить политику паролей для учетной записи `consultant2`, чтобы нужно было менять пароль каждые 15 дней.
|
||
```bash
|
||
[root@server1 ~]# chage -M 15 consultant2
|
||
```
|
||
|
||
8. Пользователи `consultant1`, `consultant2`, и `consultant3` при первом входе в систему должны изменить свои пароли в принудительном порядке.
|
||
```bash
|
||
[root@server1 ~]# chage -d 0 consultant1
|
||
[root@server1 ~]# chage -d 0 consultant2
|
||
[root@server1 ~]# chage -d 0 consultant3
|
||
```
|
||
|
||
**Проверка**
|
||
Наличие группы `consultants`, правильность её GID и члены группы
|
||
```bash
|
||
[student@server1 ~]$ cat /etc/group | grep consultants
|
||
consultants:x:35000:consultant1,consultant2,consultant3
|
||
```
|
||
Срок действия паролей, учётной записи и требование изменить пароль при первом входе в систему
|
||
```bash
|
||
[root@server1 ~]# chage -l consultant1
|
||
Последний раз пароль был изменён : пароль должен быть изменён
|
||
Срок действия пароля истекает : пароль должен быть изменён
|
||
Пароль будет деактивирован через : пароль должен быть изменён
|
||
Срок действия учётной записи истекает : янв 06, 2022
|
||
Минимальное количество дней между сменой пароля : 0
|
||
Максимальное количество дней между сменой пароля : 30
|
||
Количество дней с предупреждением перед деактивацией пароля : 7
|
||
[root@server1 ~]# chage -l consultant2
|
||
Последний раз пароль был изменён : пароль должен быть изменён
|
||
Срок действия пароля истекает : пароль должен быть изменён
|
||
Пароль будет деактивирован через : пароль должен быть изменён
|
||
Срок действия учётной записи истекает : янв 06, 2022
|
||
Минимальное количество дней между сменой пароля : 0
|
||
Максимальное количество дней между сменой пароля : 15
|
||
Количество дней с предупреждением перед деактивацией пароля : 7
|
||
[root@server1 ~]# chage -l consultant3
|
||
Последний раз пароль был изменён : пароль должен быть изменён
|
||
Срок действия пароля истекает : пароль должен быть изменён
|
||
Пароль будет деактивирован через : пароль должен быть изменён
|
||
Срок действия учётной записи истекает : янв 06, 2022
|
||
Минимальное количество дней между сменой пароля : 0
|
||
Максимальное количество дней между сменой пароля : 30
|
||
Количество дней с предупреждением перед деактивацией пароля : 7
|
||
```
|
||
Наличие административных прав у членов группы `consultants`
|
||
```bash
|
||
[root@server1 ~]# cat /etc/sudoers.d/consultants
|
||
%consultants ALL=(ALL) ALL
|
||
```
|
||
|
||
[вверх](#top)
|
||
|
||
***
|
||
|
||
###### Chapter4
|
||
**Управление доступом к файлам.**
|
||
|
||
1. На server1 создать директорию `/home/techdocs`.
|
||
```bash
|
||
[student@server1 ~]$ sudo -i
|
||
[sudo] пароль для student:
|
||
[root@server1 ~]# mkdir /home/techdocs
|
||
```
|
||
|
||
2. Создать группу `techdocs`, изменить группу владельца директории `/home/techdocs` на группу `techdocs`.
|
||
```bash
|
||
[root@server1 ~]# groupadd techdocs
|
||
[root@server1 ~]# chgrp techdocs /home/techdocs/
|
||
```
|
||
|
||
3. Создать пользователей `tech1`, `tech2` и добавить их в группу `techdocs`.
|
||
```bash
|
||
[root@server1 ~]# useradd -G techdocs tech1
|
||
[root@server1 ~]# useradd -G techdocs tech2
|
||
```
|
||
|
||
4. Убедиться, что пользователи `tech1`, `tech2` не могут создавать файлы в папке `/home/techdocs`.
|
||
```bash
|
||
[root@server1 ~]# su - tech1
|
||
[tech1@server1 ~]$ touch /home/techdocs/testfile
|
||
touch: невозможно выполнить touch для '/home/techdocs/testfile': Отказано в доступе
|
||
[tech1@server1 ~]$ выход
|
||
[root@server1 ~]# su - tech2
|
||
[tech2@server1 ~]$ touch /home/techdocs/
|
||
touch: установка временных отметок '/home/techdocs/': Отказано в доступе
|
||
[tech2@server1 ~]$ выход
|
||
```
|
||
|
||
5. Для директории `/home/techdocs` установить следующие разрешения: setgid (2), чтение/запись/исполнение для владельца и группы (7), для остальных нет никаких прав (0).
|
||
```bash
|
||
[root@server1 ~]# chmod 2770 /home/techdocs/
|
||
```
|
||
|
||
6. Проверить, что разрешения установлены корректно.
|
||
```bash
|
||
[root@server1 ~]# ls -ld /home/techdocs/
|
||
drwxrws---. 2 root techdocs 6 окт 9 03:36 /home/techdocs/
|
||
```
|
||
|
||
7. Проверить, что члены группы `techdocs` (`tech1`, `tech2`) теперь могут создавать и редактировать файлы в директории `/home/techdocs`, а другие пользователи не могут.
|
||
```bash
|
||
[root@server1 ~]# su - tech1
|
||
[tech1@server1 ~]$ touch /home/techdocs/file1
|
||
[tech1@server1 ~]$ выход
|
||
[root@server1 ~]# su - tech2
|
||
[tech2@server1 ~]$ touch /home/techdocs/file2
|
||
[tech2@server1 ~]$ echo "Test" >> /home/techdocs/file1
|
||
[tech2@server1 ~]$ cat /home/techdocs/file1
|
||
Test
|
||
[tech2@server1 ~]$ выход
|
||
[root@server1 ~]# su - student
|
||
[student@server1 ~]$ touch /home/techdocs/file3
|
||
touch: невозможно выполнить touch для '/home/techdocs/file3': Отказано в доступе
|
||
[student@server1 ~]$ echo "Student test" >> /home/techdocs/file1
|
||
-bash: /home/techdocs/file1: Отказано в доступе
|
||
```
|
||
|
||
8. Изменить глобальный скрипт загрузки. Обычные пользователи должны иметь umask при которой другие пользователи не смогут просматривать и изменять новые файлы и каталоги.
|
||
*создадим новый файл `/etc/profile.d/local-umask.sh` и скопируем в него блок, который имеет отношение к umask из файла `/etc/profile`, значение umask в первом упоминании заменим на 007.*
|
||
**Важно обратить внимание - название файла обязательно должно иметь расширение `.sh`, т.к. только такие файлы проверяются.**
|
||
```bash
|
||
[root@server1 ~]# vim /etc/profile.d/local-umask.sh
|
||
```
|
||
```bash
|
||
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
|
||
umask 007
|
||
else
|
||
umask 022
|
||
fi
|
||
```
|
||
|
||
**Проверка**
|
||
*проверим только последний пункт, т.к. все предыдущие проверяются в процессе выполнения*
|
||
*назначим пользователю `student` временную маску 007, создадим новый файл и проверим его разрешения.*
|
||
```bash
|
||
[student@server1 ~]$ umask 007
|
||
[student@server1 ~]$ touch file1
|
||
[student@server1 ~]$ ls -l
|
||
итого 0
|
||
-rw-rw----. 1 student student 0 окт 9 04:00 file1
|
||
```
|
||
*остальные не имеют никаких разрешений на файл - то что было нужно в задании.*
|
||
|
||
[вверх](#top)
|
||
|
||
***
|
||
|
||
###### Chapter5
|
||
**Настройка SELinux.**
|
||
|
||
1. На server1 запустите браузер и введите адрес `http://server2/lab.html`. Отобразится сообщение `Forbidden You don't have permission to access this resource.`
|
||
2. Изучите и определите проблему SELinux, которая не позволяет Apache обслуживать веб-контент.
|
||
```bash
|
||
[root@server2 ~]# less /var/log/messages
|
||
```
|
||
*поиском найти уведомления SELinux `/sealert`*
|
||
*скопировать и ввести первое упоминание вида `sealert -l 8dcf4fc2-54e6-448d-91c6-ac047615927f`*
|
||
*в сообщении будет предложено решение проблемы*
|
||
```bash
|
||
[root@server2 ~]# sealert -l 8dcf4fc2-54e6-448d-91c6-ac047615927f
|
||
SELinux запрещает /usr/sbin/httpd доступ getattr к файл /webserver/lab.html.
|
||
|
||
***** Модуль restorecon предлагает (точность 94.8) *************************
|
||
|
||
Если вы хотите исправить метку.$TARGETЗнак _PATH по умолчанию должен быть httpd_sys_content_t
|
||
То вы можете запустить restorecon. Возможно, попытка доступа была остановлена из-за недостаточных разрешений для доступа к родительскому каталогу, и в этом случае попытайтесь соответствующим образом изменить следующую команду.
|
||
Сделать
|
||
# /sbin/restorecon -v /webserver/lab.html
|
||
|
||
... дальнейший вывод отброшен ...
|
||
```
|
||
|
||
3. Отобразите тип контекста SELinux для стандартной и запрашиваемой директории web сервера.
|
||
```bash
|
||
[root@server2 ~]# ls -ldZ /var/www/html/ /webserver/
|
||
drwxr-xr-x. 2 root root system_u:object_r:httpd_sys_content_t:s0 6 окт 7 16:06 /var/www/html/
|
||
drwxr-xr-x. 2 root root unconfined_u:object_r:default_t:s0 40 окт 7 16:13 /webserver/
|
||
```
|
||
|
||
4. Устраните проблему SELinux, из-за которой Apache не может обслуживать веб-контент.
|
||
*как видно из предыдущего пункта, в новой папке web сервера невено установлен тип контекста SELinux. Необходимо его изменить.*
|
||
```bash
|
||
[root@server2 ~]# semanage fcontext -a -t httpd_sys_content_t '/webserver(/.*)?'
|
||
[root@server2 ~]# restorecon -vR /webserver
|
||
```
|
||
4. Убедитесь, что проблема SELinux решена и Apache может обслуживать веб-контент.
|
||
```bash
|
||
[root@server2 ~]# curl http://server2/lab.html
|
||
This is the html file for the SELinux final lab on SERVER2.
|
||
```
|
||
|
||
[вверх](#top)
|
||
|
||
***
|
||
|
||
###### Chapter6
|
||
**Настройка производительности системы.**
|
||
|
||
1. Измените текущий профиль для server1 на `balanced`.
|
||
```bash
|
||
[root@server1 ~]# tuned-adm profile balanced
|
||
```
|
||
2. Два процесса на сервере сильно загружают процессор. Измените приоритет этих процессов на значение 10.
|
||
*для запуска тестовых процессов можно использовать такие команды*
|
||
```bash
|
||
cat /dev/zero >> /dev/null &
|
||
cat /dev/zero >> /dev/null &
|
||
|
||
```
|
||
*отобразим процессы с сортировкой по загрузке процессора и выведем 2 последних*
|
||
*убедимся, что это процессы, которые сформированы нами*
|
||
```bash
|
||
[root@server1 ~]# ps -aux --sort=pcpu | tail -2
|
||
root 17216 49.6 0.0 7448 908 pts/2 R 10:21 1:07 cat /dev/zero
|
||
root 17217 49.6 0.0 7448 940 pts/2 R 10:21 1:07 cat /dev/zero
|
||
```
|
||
*для изменения приоритета выполним*
|
||
```bash
|
||
[root@server1 ~]# renice -n 10 17216 17217
|
||
17216 (process ID) old priority 0, new priority 10
|
||
17217 (process ID) old priority 0, new priority 10
|
||
```
|
||
|
||
[вверх](#top)
|
||
|
||
***
|
||
|
||
###### Chapter7
|
||
**Установка и обновление программного обеспечения.**
|
||
|
||
*Все действия необходимо выполнять на server1*
|
||
1. Проверить, находится ли система в активированном состоянии. Если система активирована, необходимо отменить регистрацию и удалить системный репозиторий, который устанавливается при регистрации.
|
||
```bash
|
||
[root@server1 ~]# subscription-manager status
|
||
```
|
||
*если окажется, что система находится в активированном состоянии, необходимо отменить регистрацию и удалить настроенные репозитории*
|
||
```bash
|
||
[root@server1 ~]# subscription-manager unregister
|
||
[root@server1 ~]# ls /etc/yum.repos.d/
|
||
redhat.repo
|
||
[root@server1 ~]# rm /etc/yum.repos.d/redhat.repo
|
||
```
|
||
|
||
2. Используя полный установочный ISO образ, настроить локальный репозиторий с BaseOS и APPSteram. Проверку GPG не использовать.
|
||
*монтирование ISO в локальную директорию*
|
||
```bash
|
||
[root@server1 ~]# echo '/dev/sr0 /iso iso9660 ro 0 0' >> /etc/fstab
|
||
```
|
||
*настройка локального репозитория*
|
||
```bash
|
||
[root@server1 ~]# vim /etc/yum.repos.d/iso.repo
|
||
```
|
||
```bash
|
||
[BaseOS]
|
||
name = Red Hat Enterprise Linux 8 for x86_64 - BaseOS
|
||
baseurl = file:///iso/BaseOS
|
||
enabled = 1
|
||
gpgcheck = 0
|
||
|
||
[AppStream]
|
||
name = Red Hat Enterprise Linux 8 for x86_64 - AppStream
|
||
baseurl = file:///iso/AppStream
|
||
enabled = 1
|
||
gpgcheck = 0
|
||
```
|
||
*проверка установленного репозитория*
|
||
```bash
|
||
[root@server1 ~]# yum repolist
|
||
Updating Subscription Management repositories.
|
||
Unable to read consumer identity
|
||
|
||
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
|
||
|
||
repo id repo name
|
||
AppStream Red Hat Enterprise Linux 8 for x86_64 - AppStream
|
||
BaseOS Red Hat Enterprise Linux 8 for x86_64 - BaseOS
|
||
```
|
||
|
||
3. Установить пакет xsane-gimp и модуль PostgreSQL client версии 12.
|
||
*установка xsane-gimp*
|
||
```bash
|
||
[root@server1 ~]# yum install -y xsane-gimp
|
||
```
|
||
*установка модуля PostgreSQL client версии 12*
|
||
```bash
|
||
[root@server1 ~]# yum module list | grep postgres
|
||
postgresql 9.6 client, server [d] PostgreSQL server and client module
|
||
|
||
postgresql 10 [d] client, server [d] PostgreSQL server and client module
|
||
|
||
postgresql 12 client, server [d] PostgreSQL server and client module
|
||
|
||
postgresql 13 client, server [d] PostgreSQL server and client module
|
||
[root@server1 ~]# yum module install -y postgresql:12/client
|
||
```
|
||
|
||
4. Установить пакет `htop-3.0.5-1.el8.x86_64.rpm` из директории `/home/student`.
|
||
```bash
|
||
[root@server1 ~]# yum localinstall /home/student/htop-3.0.5-1.el8.x86_64.rpm
|
||
```
|
||
5. Выполнить проверку установленных пакетов и модулей.
|
||
```bash
|
||
[root@server1 ~]# yum list installed | grep xsane-gimp
|
||
xsane-gimp.x86_64 0.999-30.el8 @AppStream
|
||
[root@server1 ~]# yum module list | grep postgresql
|
||
postgresql 9.6 client, server [d] PostgreSQL server and client module
|
||
|
||
postgresql 10 [d] client, server [d] PostgreSQL server and client module
|
||
|
||
postgresql 12 [e] client [i], server [d] PostgreSQL server and client module
|
||
|
||
postgresql 13 client, server [d] PostgreSQL server and client module
|
||
```
|
||
*в строке 12 версии отмечено [e]nabled, [i]nstalled*
|
||
```bash
|
||
[root@server1 ~]# rpm -qa | grep htop
|
||
htop-3.0.5-1.el8.x86_64
|
||
```
|
||
|
||
[вверх](#top)
|
||
|
||
***
|
||
|
||
###### Chapter8
|
||
**Управление локальным хранилищем.**
|
||
|
||
1. На server1 доступны 2 новых диска. На первом диске создайте раздел GPT объемом 2 Гб с именем `backup`.
|
||
```bash
|
||
[root@server1 ~]# lsblk
|
||
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
|
||
sda 8:0 0 16G 0 disk
|
||
├─sda1 8:1 0 10G 0 part
|
||
│ └─rhel_server1-root 253:0 0 10G 0 lvm /
|
||
└─sda2 8:2 0 500M 0 part /boot
|
||
sdb 8:16 0 5G 0 disk
|
||
sdc 8:32 0 5G 0 disk
|
||
sr0 11:0 1 1024M 0 rom
|
||
[root@server1 ~]# parted /dev/sdb mklabel gpt mkpart backup xfs 2048s 2GiB
|
||
```
|
||
2. Отформатируйте созданный раздел в XFS и создайте постоянную точку монтирования в директории `/backup`.
|
||
```bash
|
||
[root@server1 ~]# mkdir /backup
|
||
[root@server1 ~]# uuid=`lsblk -n -o uuid /dev/sdb1`
|
||
[root@server1 ~]# echo "UUID=$uuid /backup xfs defaults 0 0" >> /etc/fstab
|
||
```
|
||
3. На этом же диске создайте два дополнительных раздела по 512 Мб с именами `swap1` и `swap2` соответственно. Укажите корректную метку для этих разделов.
|
||
```bash
|
||
[root@server1 ~]# parted /dev/sdb print
|
||
Модель: QEMU QEMU HARDDISK (scsi)
|
||
Диск /dev/sdb: 5369MB
|
||
Размер сектора (логич./физич.): 512B/512B
|
||
Таблица разделов: gpt
|
||
Флаги диска:
|
||
|
||
Номер Начало Конец Размер Файловая система Имя Флаги
|
||
1 1049kB 2147MB 2146MB xfs backup
|
||
|
||
[root@server1 ~]# parted /dev/sdb mkpart swap1 linux-swap 2147M 2659M
|
||
Информация: Не забудьте обновить /etc/fstab.
|
||
|
||
[root@server1 ~]# parted /dev/sdb print
|
||
Модель: QEMU QEMU HARDDISK (scsi)
|
||
Диск /dev/sdb: 5369MB
|
||
Размер сектора (логич./физич.): 512B/512B
|
||
Таблица разделов: gpt
|
||
Флаги диска:
|
||
|
||
Номер Начало Конец Размер Файловая система Имя Флаги
|
||
1 1049kB 2147MB 2146MB xfs backup
|
||
2 2147MB 2659MB 512MB swap1 подкачка
|
||
|
||
[root@server1 ~]# parted /dev/sdb mkpart swap2 linux-swap 2659M 3171M
|
||
Информация: Не забудьте обновить /etc/fstab.
|
||
|
||
[root@server1 ~]# parted /dev/sdb print
|
||
Модель: QEMU QEMU HARDDISK (scsi)
|
||
Диск /dev/sdb: 5369MB
|
||
Размер сектора (логич./физич.): 512B/512B
|
||
Таблица разделов: gpt
|
||
Флаги диска:
|
||
|
||
Номер Начало Конец Размер Файловая система Имя Флаги
|
||
1 1049kB 2147MB 2146MB xfs backup
|
||
2 2147MB 2659MB 512MB swap1 подкачка
|
||
3 2659MB 3171MB 512MB swap2 подкачка
|
||
|
||
```
|
||
4. Инициализируйте разделы в качестве разделов подкачки, они должны быть активны при загрузке системы. Предусмотрите более высокий приоритет использования раздела `swap2` перед `swap1`.
|
||
```bash
|
||
[root@server1 ~]# mkswap /dev/sdb2
|
||
Setting up swapspace version 1, size = 488 MiB (511700992 bytes)
|
||
без метки, UUID=a905e327-802c-41c0-89ca-500d542c9650
|
||
[root@server1 ~]# mkswap /dev/sdb3
|
||
Setting up swapspace version 1, size = 488 MiB (511700992 bytes)
|
||
без метки, UUID=0c267fd8-c8f3-4cc3-9c2c-54fdefc13f2f
|
||
[root@server1 ~]# vim /etc/fstab
|
||
```
|
||
*добавить строки*
|
||
```bash
|
||
UUID=a905e327-802c-41c0-89ca-500d542c9650 swap swap pri=2 0 0
|
||
UUID=0c267fd8-c8f3-4cc3-9c2c-54fdefc13f2f swap swap pri=1 0 0
|
||
```
|
||
*активировать разделы подкачки*
|
||
```bash
|
||
[root@server1 ~]# swapon -a
|
||
[root@server1 ~]# free -h
|
||
total used free shared buff/cache available
|
||
Mem: 1,8Gi 1,2Gi 106Mi 17Mi 501Mi 442Mi
|
||
Swap: 975Mi 0B 975Mi
|
||
```
|
||
5. Проверьте свою работу: перезагрузите `server1`, в директории `/backup` должен быть смонтирован XFS раздел размером 2 Гб, а также 2 раздела подкачки общим объемом 1 Гб с более высоким приоритетом использования у раздела `swap2`.
|
||
```bash
|
||
[root@server1 ~]# reboot
|
||
Connection to server1 closed by remote host.
|
||
Connection to server1 closed.
|
||
```
|
||
*смонтированный раздел `/backup`*
|
||
```bash
|
||
[student@server1 ~]$ mount | grep backup
|
||
/dev/sdc1 on /backup type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota)
|
||
```
|
||
*подкачка*
|
||
```bash
|
||
[student@server1 ~]$ free -h
|
||
total used free shared buff/cache available
|
||
Mem: 1,8Gi 484Mi 807Mi 10Mi 525Mi 1,1Gi
|
||
Swap: 975Mi 0B 975Mi
|
||
[student@server1 ~]$ swapon -s
|
||
Имя файла Тип Размер Исп-но Приоритет
|
||
/dev/sdc2 partition 499708 0 2
|
||
/dev/sdc3 partition 499708 0 1
|
||
```
|
||
|
||
[вверх](#top)
|
||
|
||
***
|
||
|
||
###### Chapter9
|
||
**Настройка сервисов и управление загрузкой процессов.**
|
||
|
||
1. На server1 запустить сервис `psacct`.
|
||
```bash
|
||
[root@server1 ~]# systemctl start psacct
|
||
[root@server1 ~]# systemctl status psacct
|
||
● psacct.service - Kernel process accounting
|
||
Loaded: loaded (/usr/lib/systemd/system/psacct.service; disabled; vendor preset: disabled)
|
||
Active: active (exited) since Tue 2021-10-12 08:11:45 MSK; 13s ago
|
||
Process: 6272 ExecStart=/usr/sbin/accton /var/account/pacct (code=exited, status=0/SUCCESS)
|
||
Process: 6270 ExecStartPre=/usr/libexec/psacct/accton-create (code=exited, status=0/SUCCESS)
|
||
Main PID: 6272 (code=exited, status=0/SUCCESS)
|
||
|
||
окт 12 08:11:45 server1 systemd[1]: Starting Kernel process accounting...
|
||
окт 12 08:11:45 server1 accton[6272]: Turning on process accounting, file set to '/var/account/pacct'.
|
||
окт 12 08:11:45 server1 systemd[1]: Started Kernel process accounting.
|
||
```
|
||
|
||
2. Настроить автозагрузку сервиса `psacct`.
|
||
```bash
|
||
[root@server1 ~]# systemctl enable psacct
|
||
Created symlink /etc/systemd/system/multi-user.target.wants/psacct.service → /usr/lib/systemd/system/psacct.service.
|
||
```
|
||
3. Остановить сервис `rsyslog` и удалить его из автозагрузки.
|
||
```bash
|
||
[root@server1 ~]# systemctl disable rsyslog.service
|
||
Removed /etc/systemd/system/syslog.service.
|
||
Removed /etc/systemd/system/multi-user.target.wants/rsyslog.service.
|
||
[root@server1 ~]# systemctl stop rsyslog.service
|
||
```
|
||
4. Перезагрузить server1 и проверить результат:
|
||
- сервис `psacct` должен быть загружен и активен
|
||
- сервис `rsyslog` не должен быть активен.
|
||
```bash
|
||
[root@server1 ~]# reboot
|
||
Connection to server1 closed by remote host.
|
||
Connection to server1 closed.
|
||
```
|
||
```bash
|
||
[student@server1 ~]$ systemctl status psacct
|
||
● psacct.service - Kernel process accounting
|
||
Loaded: loaded (/usr/lib/systemd/system/psacct.service; enabled; vendor preset: disabled)
|
||
Active: active (exited) since Tue 2021-10-12 08:20:06 MSK; 8min ago
|
||
Process: 754 ExecStart=/usr/sbin/accton /var/account/pacct (code=exited, status=0/SUCCESS)
|
||
Process: 743 ExecStartPre=/usr/libexec/psacct/accton-create (code=exited, status=0/SUCCESS)
|
||
Main PID: 754 (code=exited, status=0/SUCCESS)
|
||
Tasks: 0 (limit: 11252)
|
||
Memory: 0B
|
||
CGroup: /system.slice/psacct.service
|
||
|
||
окт 12 08:20:01 server1 systemd[1]: Starting Kernel process accounting...
|
||
окт 12 08:20:02 server1 accton[754]: Turning on process accounting, file set to '/var/account/pacct'.
|
||
окт 12 08:20:06 server1 systemd[1]: Started Kernel process accounting.
|
||
[student@server1 ~]$ systemctl status rsyslog
|
||
● rsyslog.service - System Logging Service
|
||
Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; disabled; vendor preset: enabled)
|
||
Active: inactive (dead)
|
||
Docs: man:rsyslogd(8)
|
||
https://www.rsyslog.com/doc/
|
||
```
|
||
|
||
[вверх](#top)
|
||
|
||
***
|
||
|
||
###### Chapter10
|
||
**Настройка сетевых интерфейсов.**
|
||
|
||
1. На server1 создать новое сетевое подключение с данными из таблицы:
|
||
Параметр | Значение
|
||
:------ | :------
|
||
Имя соединения | lab
|
||
IP адрес | 192.168.10.110/24
|
||
Gateway | 192.168.10.9
|
||
DNS | 192.168.10.9
|
||
Настроить соединение на автоматическое подключение к сети.
|
||
*настройку сети необходимо выполнять в локальной консоли server1*
|
||
**важно не забыть указать ethernet ipv4.method manual, иначе соединение не активируется**
|
||
```bash
|
||
[root@server1 ~]# nmcli connection add con-name lab type ethernet ipv4.method manual ipv4.address 192.168.10.110/24 ipv4.gateway 192.168.10.9 ipv4.dns 192.168.10.9 autoconnect yes
|
||
Соединение «lab» (2cdf6ccb-42a8-4176-8af1-65b220b6a95c) добавлено.
|
||
[root@server1 ~]# nmcli connection up lab
|
||
Соединение успешно активировано (адрес действующего D-Bus: /org/freedesktop/NetworkManager/ActiveConnection/10)
|
||
```
|
||
|
||
2. На server2 создать новое сетевое подключение с данными из таблицы:
|
||
Параметр | Значение
|
||
:------ | :------
|
||
Имя соединения | lab
|
||
IP адрес | 192.168.10.111/24
|
||
Gateway | 192.168.10.9
|
||
DNS | 192.168.10.9
|
||
Настроить соединение на автоматическое подключение к сети.
|
||
*настройку сети необходимо выполнять в локальной консоли server1*
|
||
**важно не забыть указать ethernet ipv4.method manual, иначе соединение не активируется**
|
||
```bash
|
||
[root@server2 ~]# nmcli connection add con-name lab type ethernet ipv4.method manual ipv4.addresses 192.168.10.111/24 ipv4.gateway 192.168.10.9 ipv4.dns 192.168.10.9 autoconnect yes
|
||
Соединение «lab» (d665308b-458b-4e04-8553-36299e5aac30) добавлено.
|
||
[root@server2 ~]# nmcli connection up lab
|
||
Соединение успешно активировано (адрес действующего D-Bus: /org/freedesktop/NetworkManager/ActiveConnection/4)
|
||
```
|
||
|
||
3. Перезагрузить server1 и server2
|
||
```bash
|
||
[root@server1 ~]# reboot
|
||
```
|
||
```bash
|
||
[root@server2 ~]# reboot
|
||
```
|
||
4. Проверить доступность обоих хостов с новыми адресами.
|
||
*server1*
|
||
```bash
|
||
[student@server1 ~]$ ping -c 3 192.168.10.111
|
||
PING 192.168.10.111 (192.168.10.111) 56(84) bytes of data.
|
||
64 bytes from 192.168.10.111: icmp_seq=1 ttl=64 time=0.526 ms
|
||
64 bytes from 192.168.10.111: icmp_seq=2 ttl=64 time=0.463 ms
|
||
64 bytes from 192.168.10.111: icmp_seq=3 ttl=64 time=0.233 ms
|
||
|
||
--- 192.168.10.111 ping statistics ---
|
||
3 packets transmitted, 3 received, 0% packet loss, time 2054ms
|
||
rtt min/avg/max/mdev = 0.233/0.407/0.526/0.127 ms
|
||
```
|
||
*server2*
|
||
```bash
|
||
[student@server2 ~]$ ping -c 3 192.168.10.110
|
||
PING 192.168.10.110 (192.168.10.110) 56(84) bytes of data.
|
||
64 bytes from 192.168.10.110: icmp_seq=1 ttl=64 time=0.252 ms
|
||
64 bytes from 192.168.10.110: icmp_seq=2 ttl=64 time=0.268 ms
|
||
64 bytes from 192.168.10.110: icmp_seq=3 ttl=64 time=0.326 ms
|
||
|
||
--- 192.168.10.110 ping statistics ---
|
||
3 packets transmitted, 3 received, 0% packet loss, time 2041ms
|
||
rtt min/avg/max/mdev = 0.252/0.282/0.326/0.031 ms
|
||
```
|
||
|
||
[вверх](#top)
|
||
|
||
***
|