17 KiB
Лабораторные работы по курсу RH199 (RHCSA)
top
- Управление локальными пользователями и группами.
- Управление доступом к файлам.
- Настройка SELinux.
- Настройка производительности системы.
- Установка и обновление программного обеспечения.
- Управление локальным хранилищем.
- Настройка сервисов и управление загрузкой процессов.
- Настройка сетевых интерфейсов.
- Анализ и хранение логов.
- Реализация расширенных функций хранилища.
- Доступ к NFS (Network-Attached Storage).
- Управление сетевой безопасностью.
- Запуск контейнеров.
Chapter1
Управление локальными пользователями и группами.
- Подключиться по ssh к server1
- У всех вновь создаваемых пользователей пароль необходимо изменять каждые 30 дней.
- Создать новую группу
consultants
с GID 35000. - Настроить административные права членов группы
consultants
, чтобы они могли выполнять любые команды от любых пользователей. - Создать пользователей
consultant1
,consultant2
, иconsultant3
и задать им в качестве дополнительной группыconsultants
. - Учётные записи пользователей
consultant1
,consultant2
, иconsultant3
настроить таким образом, чтобы срок их действия истекал через 90 дней с текущей даты. - Изменить политику паролей для учетной записи
consultant2
, чтобы нужно было менять пароль каждые 15 дней. - Пользователи
consultant1
,consultant2
, иconsultant3
при первом входе в систему должны изменить свои пароли в принудительном порядке.
Chapter2
Управление доступом к файлам.
- На server1 создать директорию
/home/techdocs
. - Создать группу
techdocs
, изменить группу владельца директории/home/techdocs
на группуtechdocs
. - Создать пользователей
tech1
,tech2
и добавить их в группуtechdocs
. - Убедиться, что пользователи
tech1
,tech2
не могут создавать файлы в папке/home/techdocs
. - Для директории
/home/techdocs
установить следующие разрешения: setgid (2), чтение/запись/исполнение для владельца и группы (7), для остальных нет никаких прав (0). - Проверить, что разрешения установлены корректно.
- Проверить, что члены группы
techdocs
(tech1
,tech2
) теперь могут создавать и редактировать файлы в директории/home/techdocs
. - Изменить глобальный скрипт загрузки. Обычные пользователи должны иметь umask при которой другие пользователи не смогут просматривать и изменять новые файлы и каталоги.
Chapter3
Настройка SELinux.
- На server1 запустить браузер и ввести адрес
http://server2/lab.html
. Отобразится сообщениеForbidden You don't have permission to access this resource.
- Изучите и определите проблему SELinux, которая не позволяет Apache обслуживать веб-контент.
- Отобразите тип контекста SELinux для новой и старой HTML страницы. Display the SELinux context of the new HTTP document root and the original HTTP document root. Устраните проблему SELinux, из-за которой Apache не может обслуживать веб-контент.
- Убедитесь, что проблема SELinux решена и Apache может обслуживать веб-контент.
Chapter4
Настройка производительности системы.
- Измените текущий профиль для server1 на
balanced
. - Два процесса на сервере сильно загружают процессор. Измените приоритет этих процессов на значение 10. для запуска тестовых процессов можно использовать такие команды
cat /dev/zero >> /dev/null &
cat /dev/zero >> /dev/null &
Chapter5
Установка и обновление программного обеспечения.
Все действия необходимо выполнять на server1
- Проверить, находится ли система в активированном состоянии. Если система активирована, необходимо отменить регистрацию и удалить системный репозиторий, который устанавливается при регистрации.
- Используя полный установочный ISO образ, настроить локальный репозиторий BaseOS и APPSteram. Проверку GPG не использовать.
- Установить пакет xsane-gimp и модуль PostgreSQL client версии 12.
- Установить пакет
htop-3.0.5-1.el8.x86_64.rpm
из директории/home/student
. - Выполнить проверку установленных пакетов и модулей.
Chapter6
Управление локальным хранилищем.
- На server1 доступны 2 новых диска. На первом диске создайте раздел GPT объемом 2 Гб с именем
backup
. - Отформатируйте созданный раздел в XFS и создайте постоянную точку монтирования в директории
/backup
. - На этом же диске создайте два дополнительных раздела по 512 Мб с именами
swap1
иswap2
соответственно. Укажите корректную метку для этих разделов. - Инициализируйте разделы в качестве разделов подкачки, они должны быть активны при загрузке системы. Предусмотрите более высокий приоритет использования раздела
swap2
передswap1
. - Проверьте свою работу: перезагрузите
server1
, в директории/backup
должен быть смонтирован XFS раздел размером 2 Гб, а также 2 раздела подкачки общим объемом 1 Гб с более высоким приоритетом использования у разделаswap2
.
Chapter7
Настройка сервисов и управление загрузкой процессов.
- На server1 запустить сервис
psacct
. - Настроить автозагрузку сервиса
psacct
. - Остановить сервис
rsyslog
и удалить его из автозагрузки. - Перезагрузить server1 и проверить результат:
- сервис
psacct
должен быть загружен и активен - сервис
rsyslog
не должен быть активен.
Chapter8
Настройка сетевых интерфейсов.
- На server1 создать новое сетевое подключение с данными из таблицы:
Параметр Значение Имя соединения lab IP адрес 192.168.10.110/24 Gateway 192.168.10.9 DNS 192.168.10.9
Настроить соединение на автоматическое подключение к сети.
- На server2 создать новое сетевое подключение с данными из таблицы:
Параметр Значение Имя соединения lab IP адрес 192.168.10.111/24 Gateway 192.168.10.9 DNS 192.168.10.9
Настроить соединение на автоматическое подключение к сети.
- Перезагрузить server1 и server2
- Проверить доступность обоих хостов с новыми адресами.
Chapter9
Анализ и хранение логов.
- На server1 изменить часовой пояс на соответствующий городу Новосибирск.
- Показать логи записанные за последние 30 минут.
- Создать файл
/etc/rsyslog.d/auth-errors.conf
, с соответствующей конфигурацией rsyslog, при которой в файл/var/log/auth-errors
будут записываться все события связанные с проблемами аутентификации и безопасности. Используйте категориюauthpriv
и приоритетalert
.
Chapter10
Реализация расширенных функций хранилища.
- На server1 установите пакеты
stratisd
иstratis-cli
. - С помощью
systemctl
активируйте и запустите сервисstratisd
. - Создайте пул Stratis
labpool
состоящий из устройства/devsdb
. - Увеличьте объем пула используя доступный в системе диск
/devsdc
. - Создайте на пуле файловую систему
labfs
. Смонтируйте её в директорию/labstratisvol
. Не забудьте включитьx-systemd.requires=stratisd.service
в параметры монтирования в/etc/fstab
. - Создайте снапшот
labfs-snap
файловой системыlabfs
. - Создайте VDO раздел
labvdo
с файловой системой XFS, используя устройство/dev/sdd
. Установите логический размер 50 Гб. - Смонтируйте
labvdo
в директорию/labvdovol
. Не забудьте включитьx-systemd.requires=vdo.service
в параметры монтирования в/etc/fstab
. - Перезагрузите server1 и убедитесь, что все созданные разделы корректно смонтированы.
Chapter11
Доступ к NFS (Network-Attached Storage).
- На server1 настроить постоянное монтирование удалённой NFS папки сервера server2
/shares/nfs
в локальную директорию/mnt/nfs
. - На server1 настроить монтирование по запросу (automount) удалённой NFS папки сервера server2
/shares/autofs
в локальную директорию/labshares/autofs
. - Перезагрузить server1, убедиться, что сетевые папки автоматически смонтированы в соответствующие локальные директории.
Chapter12
Управление сетевой безопасностью.
Ваша компания решила использовать новое web-приложение. Это приложение прослушивает порты 80/TCP и 1001/TCP. Порт 22/TCP для доступа по SSH также должен быть доступен. Все изменения, которые будут сделаны, должны быть доступны после перезагрузки. Все настройки этой работы необходимо производить на server1, доступ проверять с server2.
- С server2 проверить доступ к серверу
http://server1
и виртуальному хостуhttp://server1:1001
. - Подключитесь к server1, чтобы разобраться в причинах ограничения доступа.
- Настройте SELinux для доступа сервису httpd прослушивать порт 1001/TCP.
- С server2 проверить доступ к серверу
http://server1
и виртуальному хостуhttp://server1:1001
. - Подключитесь к server1, чтобы определить верные ли порты указаны в межсетевом экране (firewall).
- Добавьте порт 1001/TCP в постоянную конфигурацию зоны public.
- Проверьте доступ к серверу
http://server1
и виртуальному хостуhttp://server1:1001
.
Chapter13
Запуск контейнеров.
Для выполнения этой лабораторной работы необходимо создать учётную запись на https://quay.io/.
https://quay.io/ - реестр образов (аналог https://hub.docker.com/)
- На server1 установить средства управления контейнерами.
- Реестр образов https://quay.io/ содержит образ
quay.io/bitnami/mariadb
, необходимо переключиться на пользователяpoduser
используя парольredhat
, посмотреть доступные версии БД в образе для загрузки и скачать версию 10.6. - На server1 с учетной записью
poduser
создать папку/home/poduser/db_data
. Подготовить директорию, чтобы контейнеры имели доступ чтения/записи в ней. Директория будет использована в качестве постоянного хранилища. - На server1 с учетной записью
poduser
создать контейнер содержащий образ MariaDB с именемinventorydb
. Необходимо выполнить трансляцию внутреннего порта в контейнере 3306 на внешний порт server1 13306. Подключить директорию/home/poduser/db_data
в качестве хранилища БД в контейнере директории/var/lib/mysql/data
. Кроме этого необходимо объявить следующие переменные в контейнере:Переменная Значение MARIADB_USER operator1 MARIADB_PASSWORD redhat MARIADB_DATABASE inventory MARIADB_ROOT_PASSWORD redhat
После запуска контейнера необходимо убедиться в наличии доступа к БД в контейнере:
- подключиться к контейнеру;
- подключиться к консоли управления БД (команда -
mysql -u root -p
, ввести парольredhat
); - убедиться в том, что БД с именем inventory присутствует в списке доступных (команда - SHOW DATABASES;);
- выйти из консоли управления БД (команда -
exit
); - отключиться от контейнера.
- Настроить systemd на автоматический запуск контейнера
inventorydb
при загрузке server1.