add labs
parent
96f7d7c8fb
commit
d4baba171b
|
@ -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 &
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
# В ДОКУМЕНТЕ С ОТВЕТАМИ НЕОБХОДИМО ПРЕДУСМОТРЕТЬ КОМАНДЫ ПРОВЕРЯЮЩИЕ ПРАВИЛЬНОСТЬ ВЫПОЛНЕНИЯ ЗАДАНИЙ
|
# В ДОКУМЕНТЕ С ОТВЕТАМИ НЕОБХОДИМО ПРЕДУСМОТРЕТЬ КОМАНДЫ ПРОВЕРЯЮЩИЕ ПРАВИЛЬНОСТЬ ВЫПОЛНЕНИЯ ЗАДАНИЙ
|
||||||
|
|
||||||
|
|
|
@ -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)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
Loading…
Reference in New Issue