From c9a6ba13ef48d2020b4eb6b8be3c879700a9a543 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BE=D0=BB=D0=B3=D0=B8=D0=B9=20=D0=90=D1=80=D1=82?= =?UTF-8?q?=D1=91=D0=BC?= Date: Sat, 9 Oct 2021 15:38:08 +0300 Subject: [PATCH] add rh199 --- rh199_(rapid)/labs.md | 58 +++++ rh199_(rapid)/labs_solutions.md | 236 ++++++++++++++++++ rh199_(rapid)/readme.md | 1 + labs.md => van_vugt/labs.md | 0 labs_solution.md => van_vugt/labs_solution.md | 0 readme.md => van_vugt/readme.md | 0 6 files changed, 295 insertions(+) create mode 100644 rh199_(rapid)/labs.md create mode 100644 rh199_(rapid)/labs_solutions.md create mode 100644 rh199_(rapid)/readme.md rename labs.md => van_vugt/labs.md (100%) rename labs_solution.md => van_vugt/labs_solution.md (100%) rename readme.md => van_vugt/readme.md (100%) diff --git a/rh199_(rapid)/labs.md b/rh199_(rapid)/labs.md new file mode 100644 index 0000000..f40b677 --- /dev/null +++ b/rh199_(rapid)/labs.md @@ -0,0 +1,58 @@ +#### Лабораторные работы по курсу RH199 (RHCSA) + +*** + +###### top +*лабораторные работы начинаются в 3-й главы* + +3. [Управление локальными пользователями и группами.](#chapter3) +4. [Управление доступом к файлам.](#chapter4) +5. [](#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) + +*** + +###### Chapter3 +**Управление локальными пользователями и группами.** + +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` при первом входе в систему должны изменить свои пароли в принудительном порядке. + +[вверх](#top) + +*** + +###### Chapter4 +**Управление доступом к файлам.** + +1. На server1 создать директорию `/home/techdocs`. +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 при которой другие пользователи не смогут просматривать и изменять новые файлы и каталоги. + +# В ДОКУМЕНТЕ С ОТВЕТАМИ НЕОБХОДИМО ПРЕДУСМОТРЕТЬ КОМАНДЫ ПРОВЕРЯЮЩИЕ ПРАВИЛЬНОСТЬ ВЫПОЛНЕНИЯ ЗАДАНИЙ + +[вверх](#top) + +*** diff --git a/rh199_(rapid)/labs_solutions.md b/rh199_(rapid)/labs_solutions.md new file mode 100644 index 0000000..b16aab5 --- /dev/null +++ b/rh199_(rapid)/labs_solutions.md @@ -0,0 +1,236 @@ +#### Лабораторные работы по курсу RH199 (RHCSA) + +*** + +###### top +*лабораторные работы начинаются в 3-й главы* + +***server1 - 192.168.10.10 +user: student +password: student +root password: redhat*** + +***server2 - 192.168.10.11 +user: student +password: student +root password: redhat*** + +3. [Управление локальными пользователями и группами.](#chapter3) +4. [Управление доступом к файлам.](#chapter4) +5. [](#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) + +*** + +###### 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) + +*** diff --git a/rh199_(rapid)/readme.md b/rh199_(rapid)/readme.md new file mode 100644 index 0000000..58d1b9a --- /dev/null +++ b/rh199_(rapid)/readme.md @@ -0,0 +1 @@ +Здесь собраны лабораторные работы и варианты их выполнения, аналогичные тем, которые рассматриваются на курсе The RHCSA Rapid Track course (RH199) RHEL 8. \ No newline at end of file diff --git a/labs.md b/van_vugt/labs.md similarity index 100% rename from labs.md rename to van_vugt/labs.md diff --git a/labs_solution.md b/van_vugt/labs_solution.md similarity index 100% rename from labs_solution.md rename to van_vugt/labs_solution.md diff --git a/readme.md b/van_vugt/readme.md similarity index 100% rename from readme.md rename to van_vugt/readme.md