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
*лабораторные работы начинаются в 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 &
```
# В ДОКУМЕНТЕ С ОТВЕТАМИ НЕОБХОДИМО ПРЕДУСМОТРЕТЬ КОМАНДЫ ПРОВЕРЯЮЩИЕ ПРАВИЛЬНОСТЬ ВЫПОЛНЕНИЯ ЗАДАНИЙ

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
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
<!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 (*стоит это оформить в виде скрипта*)
```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)
***