**Управление локальными пользователями и группами.**
1. Подключиться по ssh к server1
2.У всех вновь создаваемых пользователей пароль необходимо изменять каждые 30 дней.
3. Создать новую группу `consultants`с GID 35000.
4. Настроить административные права членов группы `consultants`, чтобы они могли выполнять любые команды от любых пользователей.
5. Создать пользователей `consultant1`, `consultant2`, и `consultant3` и задать им в качестве дополнительной группы `consultants`.
6. Учётные записи пользователей `consultant1`, `consultant2`, и `consultant3` настроить таким образом, чтобы срок их действия истекал через 90 дней с текущей даты.
7. Изменить политику паролей для учетной записи `consultant2`, чтобы нужно было менять пароль каждые 15 дней.
8. Пользователи `consultant1`, `consultant2`, и `consultant3` при первом входе в систему должны изменить свои пароли в принудительном порядке.
2. Создать группу `techdocs`, изменить группу владельца директории `/home/techdocs` на группу `techdocs`.
3. Создать пользователей `tech1`, `tech2` и добавить их в группу `techdocs`.
4. Убедиться, что пользователи `tech1`, `tech2` не могут создавать файлы в папке `/home/techdocs`.
5. Для директории `/home/techdocs` установить следующие разрешения: setgid (2), чтение/запись/исполнение для владельца и группы (7), для остальных нет никаких прав (0).
6. Проверить, что разрешения установлены корректно.
7. Проверить, что члены группы `techdocs` (`tech1`, `tech2`) теперь могут создавать и редактировать файлы в директории `/home/techdocs`.
8. Изменить глобальный скрипт загрузки. Обычные пользователи должны иметь umask при которой другие пользователи не смогут просматривать и изменять новые файлы и каталоги.
1.На server1 запустить браузер и ввести адрес `http://server2/lab.html`. Отобразится сообщение `Forbidden You don't have permission to access this resource.`
2. Изучите и определите проблему SELinux, которая не позволяет Apache обслуживать веб-контент.
3. Отобразите тип контекста SELinux для новой и старой HTML страницы.
Display the SELinux context of the new HTTP document root and the original HTTP document root. Устраните проблему SELinux, из-за которой Apache не может обслуживать веб-контент.
4. Убедитесь, что проблема SELinux решена и Apache может обслуживать веб-контент.
**Установка и обновление программного обеспечения.**
*Все действия необходимо выполнять на server1*
1. Проверить, находится ли система в активированном состоянии. Если система активирована, необходимо отменить регистрацию и удалить системный репозиторий, который устанавливается при регистрации.
2. Используя полный установочный ISO образ, настроить локальный репозиторий BaseOS и APPSteram. Проверку GPG не использовать.
3. Установить пакет xsane-gimp и модуль PostgreSQL client версии 12.
4. Установить пакет `htop-3.0.5-1.el8.x86_64.rpm` из директории `/home/student`.
5. Выполнить проверку установленных пакетов и модулей.
1.На server1 доступны 2 новых диска. На первом диске создайте раздел GPT объемом 2 Гб с именем `backup`.
2. Отформатируйте созданный раздел в XFS и создайте постоянную точку монтирования в директории `/backup`.
3.На этом же диске создайте два дополнительных раздела по 512 Мбс именами `swap1` и `swap2` соответственно. Укажите корректную метку для этих разделов.
4. Инициализируйте разделы в качестве разделов подкачки, они должны быть активны при загрузке системы. Предусмотрите более высокий приоритет использования раздела `swap2` перед `swap1`.
5. Проверьте свою работу: перезагрузите `server1`, в директории `/backup` должен быть смонтирован XFS раздел размером 2 Гб, а также 2 раздела подкачки общим объемом 1 Гб с более высоким приоритетом использования у раздела `swap2`.
1.На server1 изменить часовой пояс на соответствующий городу Новосибирск.
2. Показать логи записанные за последние 30 минут.
3. Создать файл `/etc/rsyslog.d/auth-errors.conf`, с соответствующей конфигурацией rsyslog, при которой в файл `/var/log/auth-errors` будут записываться все события связанные с проблемами аутентификации и безопасности. Используйте категорию `authpriv` и приоритет `alert`.
1.На server1 установите пакеты `stratisd` и `stratis-cli`.
2.С помощью `systemctl` активируйте и запустите сервис `stratisd`.
3. Создайте пул Stratis `labpool` состоящий из устройства `/devsdb`.
4. Увеличьте объем пула используя доступный в системе диск `/devsdc`.
5. Создайте на пуле файловую систему `labfs`. Смонтируйте её в директорию `/labstratisvol`. Не забудьте включить `x-systemd.requires=stratisd.service` в параметры монтирования в `/etc/fstab`.
6. Создайте снапшот `labfs-snap` файловой системы `labfs`.
7. Создайте VDO раздел `labvdo`с файловой системой XFS, используя устройство `/dev/sdd`. Установите логический размер 50 Гб.
8. Смонтируйте `labvdo` в директорию `/labvdovol`. Не забудьте включить `x-systemd.requires=vdo.service` в параметры монтирования в `/etc/fstab`.
9. Перезагрузите server1 и убедитесь, что все созданные разделы корректно смонтированы.
Ваша компания решила использовать новое web-приложение. Это приложение прослушивает порты 80/TCP и 1001/TCP. Порт 22/TCP для доступа по SSH также должен быть доступен. Все изменения, которые будут сделаны, должны быть доступны после перезагрузки.
*Все настройки этой работы необходимо производить на server1, доступ проверять с server2.*
1.С server2 проверить доступ к серверу `http://server1` и виртуальному хосту `http://server1:1001`.
2. Подключитесь к server1, чтобы разобраться в причинах ограничения доступа.
3. Настройте SELinux для доступа сервису httpd прослушивать порт 1001/TCP.
4.С server2 проверить доступ к серверу `http://server1` и виртуальному хосту `http://server1:1001`.
5. Подключитесь к server1, чтобы определить верные ли порты указаны в межсетевом экране (firewall).
6. Добавьте порт 1001/TCP в постоянную конфигурацию зоны public.
7. Проверьте доступ к серверу `http://server1` и виртуальному хосту `http://server1:1001`.
1.На server1 установить средства управления контейнерами.
2. Реестр образов https://quay.io/ содержит образ `quay.io/bitnami/mariadb`, необходимо переключиться на пользователя `poduser` используя пароль `redhat`, посмотреть доступные версии БД в образе для загрузки и скачать версию 10.6.
3.На server1 с учетной записью `poduser` создать папку `/home/poduser/db_data`. Подготовить директорию, чтобы контейнеры имели доступ чтения/записи в ней. Директория будет использована в качестве постоянного хранилища.
4.На 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`);
- отключиться от контейнера.
5. Настроить systemd на автоматический запуск контейнера `inventorydb` при загрузке server1.