master
artemdolgiy 2021-10-10 17:10:06 +03:00
parent 96f7d7c8fb
commit d4baba171b
2 changed files with 139 additions and 82 deletions

View File

@ -3,12 +3,12 @@
*** ***
###### top ###### top
*лабораторные работы начинаются в 3-й главы* *лабораторные работы начинаются с 3-й главы*
3. [Управление локальными пользователями и группами.](#chapter3) 3. [Управление локальными пользователями и группами.](#chapter3)
4. [Управление доступом к файлам.](#chapter4) 4. [Управление доступом к файлам.](#chapter4)
5. [Настройка SELinux.](#chapter5) 5. [Настройка SELinux.](#chapter5)
6. [](#chapter6) 6. [Настройка производительности системы.](#chapter6)
7. [](#chapter7) 7. [](#chapter7)
8. [](#chapter8) 8. [](#chapter8)
9. [](#chapter9) 9. [](#chapter9)
@ -60,9 +60,25 @@
1. На server1 запустить браузер и ввести адрес `http://server2/lab.html`. Отобразится сообщение `Forbidden You don't have permission to access this resource.` 1. На server1 запустить браузер и ввести адрес `http://server2/lab.html`. Отобразится сообщение `Forbidden You don't have permission to access this resource.`
2. Изучите и определите проблему SELinux, которая не позволяет Apache обслуживать веб-контент. 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. [вверх](#top)
5. Verify that the SELinux issue has been resolved and Apache is able to serve web content.
***
###### Chapter6
**Настройка производительности системы.**
1. Измените текущий профиль для server1 на `balanced`.
2. Два процесса на сервере сильно загружают процессор. Измените приоритет этих процессов на значение 10.
*для запуска тестовых процессов можно использовать такие команды*
```bash
cat /dev/zero >> /dev/null &
cat /dev/zero >> /dev/null &
```
# В ДОКУМЕНТЕ С ОТВЕТАМИ НЕОБХОДИМО ПРЕДУСМОТРЕТЬ КОМАНДЫ ПРОВЕРЯЮЩИЕ ПРАВИЛЬНОСТЬ ВЫПОЛНЕНИЯ ЗАДАНИЙ # В ДОКУМЕНТЕ С ОТВЕТАМИ НЕОБХОДИМО ПРЕДУСМОТРЕТЬ КОМАНДЫ ПРОВЕРЯЮЩИЕ ПРАВИЛЬНОСТЬ ВЫПОЛНЕНИЯ ЗАДАНИЙ

View File

@ -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 server1 - 192.168.10.10
user: student user: student
@ -17,96 +43,32 @@ root password: redhat
Дополнительно необходимо: Дополнительно необходимо:
*SERVER1* *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
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access this resource.</p>
</body></html>
```
Перечень необходимых команд root (*стоит это оформить в виде скрипта*) Перечень необходимых команд root (*стоит это оформить в виде скрипта*)
```bash ```bash
useradd student -G wheel
echo student | passwd student --stdin
echo '192.168.10.11 server2' >> /etc/hosts 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* *SERVER2*
1. Прописать доменное имя server1
```bash
[student@server2 ~]$ sudo -i
[sudo] пароль для student:
[root@server2 ~]# echo '192.168.10.10 server1' >> /etc/hosts
```
Перечень необходимых команд root (*стоит это оформить в виде скрипта*) Перечень необходимых команд root (*стоит это оформить в виде скрипта*)
```bash ```bash
useradd student -G wheel
echo student | passwd student --stdin
echo '192.168.10.10 server1' >> /etc/hosts 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 ###### Chapter3
**Управление локальными пользователями и группами.** **Управление локальными пользователями и группами.**
@ -308,3 +270,82 @@ fi
[вверх](#top) [вверх](#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)
***