diff --git a/rh199_(rapid)/labs.md b/rh199_(rapid)/labs.md index 0a538f4..53cdce2 100644 --- a/rh199_(rapid)/labs.md +++ b/rh199_(rapid)/labs.md @@ -3,12 +3,12 @@ *** ###### top -*лабораторные работы начинаются в 3-й главы* +*лабораторные работы начинаются с 3-й главы* 3. [Управление локальными пользователями и группами.](#chapter3) 4. [Управление доступом к файлам.](#chapter4) 5. [Настройка SELinux.](#chapter5) -6. [](#chapter6) +6. [Настройка производительности системы.](#chapter6) 7. [](#chapter7) 8. [](#chapter8) 9. [](#chapter9) @@ -60,9 +60,25 @@ 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 может обслуживать веб-контент. -3. Display the SELinux context of the new HTTP document root and the original HTTP document root. Resolve the SELinux issue preventing Apache from serving web content. -5. Verify that the SELinux issue has been resolved and Apache is able to serve web content. +[вверх](#top) + +*** + +###### Chapter6 +**Настройка производительности системы.** + +1. Измените текущий профиль для server1 на `balanced`. +2. Два процесса на сервере сильно загружают процессор. Измените приоритет этих процессов на значение 10. +*для запуска тестовых процессов можно использовать такие команды* +```bash +cat /dev/zero >> /dev/null & +cat /dev/zero >> /dev/null & + +``` # В ДОКУМЕНТЕ С ОТВЕТАМИ НЕОБХОДИМО ПРЕДУСМОТРЕТЬ КОМАНДЫ ПРОВЕРЯЮЩИЕ ПРАВИЛЬНОСТЬ ВЫПОЛНЕНИЯ ЗАДАНИЙ diff --git a/rh199_(rapid)/labs_solutions.md b/rh199_(rapid)/labs_solutions.md index 7b9f604..21fff46 100644 --- a/rh199_(rapid)/labs_solutions.md +++ b/rh199_(rapid)/labs_solutions.md @@ -2,8 +2,34 @@ *** +###### top -**Для выполнения лабораторных работ потребуется настроить 2 виртуальных хоста** +*** + +[Подготовка виртуальных хостов для выполнения лабораторных работ.](#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 @@ -17,96 +43,32 @@ root password: redhat Дополнительно необходимо: *SERVER1* -1. Прописать доменное имя server2 -```bash -[student@server2 ~]$ sudo -i -[sudo] пароль для student: -[root@server2 ~]# echo '192.168.10.11 server2' >> /etc/hosts -``` -2. Установить httpd -```bash -[student@server2 ~]$ sudo -i -[sudo] пароль для student: -[root@server2 ~]# yum install httpd -y -[root@server2 ~]# systemctl enable --now httpd -Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service. -[root@server2 ~]# echo "This is SERVER2 WEB-SERVER" > /var/www/html/index.html -[root@server2 ~]# firewall-cmd --add-service=http -success -[root@server2 ~]# firewall-cmd --add-service=http --permanent -success -[root@server2 ~]# mkdir /test -[root@server2 ~]# echo "This is the html file for the SELinux final lab on SERVER2." > /test/lab.html -[root@server2 ~]# mv /test/lab.html /var/www/html/ -[root@server2 ~]# ls -lZ /var/www/html/ -итого 8 --rw-r--r--. 1 root root unconfined_u:object_r:httpd_sys_content_t:s0 27 окт 9 16:03 index.html --rw-r--r--. 1 root root unconfined_u:object_r:default_t:s0 60 окт 9 16:07 lab.html -[root@server2 ~]# rmdir /test/ -[root@server2 ~]# curl http://server2/index.html -This is SERVER2 WEB-SERVER -[root@server2 ~]# curl http://server2/lab.html - - -403 Forbidden - -

Forbidden

-

You don't have permission to access this resource.

- -``` - Перечень необходимых команд root (*стоит это оформить в виде скрипта*) ```bash +useradd student -G wheel +echo student | passwd student --stdin echo '192.168.10.11 server2' >> /etc/hosts -yum install httpd -y -systemctl enable --now httpd -echo "This is SERVER2 WEB-SERVER" > /var/www/html/index.html -firewall-cmd --add-service=http -firewall-cmd --add-service=http --permanent -mkdir /test -echo "This is the html file for the SELinux final lab on SERVER2." > /test/lab.html -mv /test/lab.html /var/www/html/ -rmdir /test/ + ``` *SERVER2* -1. Прописать доменное имя server1 -```bash -[student@server2 ~]$ sudo -i -[sudo] пароль для student: -[root@server2 ~]# echo '192.168.10.10 server1' >> /etc/hosts -``` - Перечень необходимых команд 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 + ``` *** -###### 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 **Управление локальными пользователями и группами.** @@ -308,3 +270,82 @@ fi [вверх](#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 не может обслуживать веб-контент. +```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) + +***