356 lines
16 KiB
Markdown
356 lines
16 KiB
Markdown
|
#### Лабораторные работы по видеокурсу Sander Van Vugt
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### top
|
|||
|
*лабораторные работы начинаются в 3-й главы*
|
|||
|
|
|||
|
3. [Базовые инструменты для работы с файлами.](#chapter3)
|
|||
|
4. [Работа с текстовыми файлами.](#chapter4)
|
|||
|
5. [Подключение к серверу RHEL.](#chapter5)
|
|||
|
6. [Управление пользователями и группами.](#chapter6)
|
|||
|
7. [Права доступа к файлам.](#chapter7)
|
|||
|
8. [Настройка сети.](#chapter8)
|
|||
|
9. [Управление процессами.](#chapter9)
|
|||
|
10. [Управление программным обеспечением.](#chapter10)
|
|||
|
11. [Работа с systemd.](#chapter11)
|
|||
|
12. [Планирование заданий.](#chapter12)
|
|||
|
13. [Настройка хранения логов.](#chapter13)
|
|||
|
14. [Управление хранилищем.](#chapter14)
|
|||
|
15. [Управление расширенным хранилищем.](#chapter15)
|
|||
|
16. [Управление ядром.](#chapter16)
|
|||
|
17. [Управление загрузкой ОС.](#chapter17)
|
|||
|
18. [Устранение проблем.](#chapter18)
|
|||
|
19. [Написание shel скриптов.](#Chapter19)
|
|||
|
20. [Настройка ssh.](#chapter20)
|
|||
|
21. [Настройка HTTP.](#chapter21)
|
|||
|
22. [Управление SELinux.](#Chapter22)
|
|||
|
23. [Управление межсетевым экраном.](#chapter23)
|
|||
|
24. [Автоматическая установка.](#chapter24)
|
|||
|
25. [Настройка даты и времени.](#chapter25)
|
|||
|
26. [Доступ к удалённым ФС.](#chapter26)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter3
|
|||
|
**Базовые инструменты для работы с файлами.**
|
|||
|
|
|||
|
1. Создать структуру каталогов `/tmp/files/pictures`, `/tmp/files/photos`, `/tmp/files/videos`
|
|||
|
|
|||
|
2. Из папки `/etc` скопировать все файлы имена которых начинаются с `a`, `b` или `c` (лат.) в каталог `/tmp/files`
|
|||
|
|
|||
|
3. Из `/tmp/files` переместить все файлы имена которых начинаются на `a` или `b` в `/tmp/files/photos`, а файлы, имена которых начинаются на `c` переместить в `/tmp/files/videos`
|
|||
|
|
|||
|
4. Найти в папке `/etc` все файлы, размер которых меньше 1000 байт и скопировать их в `/tmp/files/pictures`
|
|||
|
|
|||
|
5. В папке `/tmp/files` создать символьную ссылку на `/var`
|
|||
|
|
|||
|
6. В папке `/tmp/files` создать сжатый архив директории `/home`
|
|||
|
|
|||
|
7. Распаковать архив с относительными именами файлов в `/tmp/archive/`
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter4
|
|||
|
**Работа с текстовыми файлами.**
|
|||
|
|
|||
|
1. Используйте `head` и `tail` для отображения пятой строки в файле `/etc/passwd`
|
|||
|
|
|||
|
2. Используйте `sed` для отображения пятой строки в файле `/etc/passwd`
|
|||
|
|
|||
|
3. Используйте `awk` в конвейере, чтобы отфильтровать последний столбец в выводе `ps aux`
|
|||
|
|
|||
|
4. Используйте `grep` для отображения всех файлов в директории `/etc`, содержащих строки со словом `root`
|
|||
|
|
|||
|
5. Показать все строки в файлах директории `/etc` состоящие из 3-х символов. Используйте `grep`
|
|||
|
|
|||
|
6. Используйте `grep`, чтобы найти все файлы содержащие `alex`, но не `alexander`. Подсказка: создайте файл, в первой строке - `alex`, во второй `alexander`
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter5
|
|||
|
**Подключение к серверу RHEL.**
|
|||
|
|
|||
|
1. Из графической консоли перейдите в вирутальный терминал tty6.
|
|||
|
|
|||
|
2. После выполнения 1-го задания авторизуйтесь как обычный пользователь и вернитесь в графический интерфейс, используя соответствующую команду.
|
|||
|
|
|||
|
3. Используя `ssh` подключитесь как `root` к `localhost`
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter6
|
|||
|
**Управление пользователями и группами.**
|
|||
|
|
|||
|
1. Настроить для всех новых пользователей: минимальная длина пароля - 6 символов, срок действия 90 дней.
|
|||
|
|
|||
|
2. В домашней директории всех новых пользователей создается пустой файл с именем `newfile`.
|
|||
|
|
|||
|
3. Создать новых пользователей `anna`, `andrey`, `linda`, `lisa`.
|
|||
|
|
|||
|
4. Установить пароль для `anna` и `andrey` - `password`, для `linda` и `lisa` - пароль отключить.
|
|||
|
|
|||
|
5. Создать группы `profs`, `students` и назначить `anna` и `andrey` членами `profs`, а `linda` и `lisa` - членами группы `students`.
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter7
|
|||
|
**Права доступа к файлам.**
|
|||
|
|
|||
|
1. Запретить доступ другим пользователям (`others`) ко всем новым файлам пользователя Linda.
|
|||
|
|
|||
|
2. Создать структуру общих каталогов `/data/profs`, `/data/students` со следующими разрешениями:
|
|||
|
* члены групп имеют доступ на чтение и запись в эти директории, другие пользователи не имеют никаких разрешений;
|
|||
|
* члены групп могут редактировать все файлы создаваемые в этих директориях;
|
|||
|
* пользователи могут удалять только файлы , которые им принадлежат;
|
|||
|
* члены группы `profs` имеют доступ на чтение в `/data/students`
|
|||
|
* пользователь `anna` должна иметь возможность удалять файлы из директорий `/data/profs` и `/data/students`
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter8
|
|||
|
**Настройка сети.**
|
|||
|
|
|||
|
1. Назначить серверу статический IP адрес в текущей подсети.
|
|||
|
|
|||
|
2. Назначить дополнительный IP адрес 10.0.0.10/24 на тот же сетевой интерфейс.
|
|||
|
|
|||
|
3. Перезагрузить сервер и убедиться, что настройки сохранились.
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter9
|
|||
|
**Управление процессами.**
|
|||
|
|
|||
|
1. Запустить команду `dd if=/dev/zero of=/dev/null`. Перевести запущенный процесс в фоновый режим.
|
|||
|
|
|||
|
2. Запустить предыдущую команду 3 раза в фоновом режиме.
|
|||
|
|
|||
|
3. Используя `jobs` получить информацию о запущенных фоновых процессах.
|
|||
|
|
|||
|
4. Из `top` изменить приоритет (`niceness`) одного из ранее запущенных `dd` на значение `-5`. Убедиться, что использование CPU этого процесса увеличилось.
|
|||
|
|
|||
|
5. Остановить все запущенные процессы `dd` из командной строки.
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter10
|
|||
|
**Управление программным обеспечением.**
|
|||
|
|
|||
|
1. Убедитесь, что ваша система использует YUM репозиторий для установки основных пакетов ОС.
|
|||
|
|
|||
|
2. Найдите пакет, содержащий sepolicy, и установите его.
|
|||
|
|
|||
|
3. Установите предыдущую версию PHP.
|
|||
|
|
|||
|
4. Загрузите из репозитория пакет httpd не устанавливая, проверьте есть ли в этом пакете какие-либо скрипты.
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter11
|
|||
|
**Работа с systemd.**
|
|||
|
|
|||
|
1. Убедиться, что сервис `httpd` стартует автоматически при загрузке системы.
|
|||
|
|
|||
|
2. Отредактировать конфигурацию таким образом, чтобы в случае сбоя, через 1 минуту сервис снова работал.
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter12
|
|||
|
**Планирование заданий.**
|
|||
|
|
|||
|
1. Убедиться, что `systemd timer`, который очищает временные файлы, активен.
|
|||
|
|
|||
|
2. Запустить задание cron, которое выполнит команду `touch /tmp/cronfile` через 5 минут.
|
|||
|
|
|||
|
3. Используя `at` запланировать задание отключения компьютера сегодня в удобное время.
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter13
|
|||
|
**Настройка хранения логов.**
|
|||
|
|
|||
|
1. Убедитесь, что логи systemd сохраняются постоянно (persistently).
|
|||
|
|
|||
|
2. Создать запись в rsyslog, при которой сохраняются все сообщения категории error и выше (severity - error) в `/var/log/error`
|
|||
|
|
|||
|
3. Убедитесь, что `/var/log/error` архивируется ежемесячно, при этом 12 последних сообщений должны сохраниться перед архивацией.
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter14
|
|||
|
**Управление хранилищем.**
|
|||
|
|
|||
|
*Для выполнения этой лабораторной работы необходимо создать дополнительный жёсткий диск в вашей виртуальной машине размером 10 ГБ.*
|
|||
|
|
|||
|
1. Создать основной раздел размером 1ГиБ. Отформатировать его в Ext4 и задать постоянную точку монтирования в `/mounts/files`, используя его UUID.
|
|||
|
|
|||
|
2. Создать расширенный раздел, включающий все оставшееся дисковое пространство. В этом разделе создать раздел XFS размером 5OO МиБ с постоянной точкой монтирования в `/mounts/xfs`, используя метку `myxfs`.
|
|||
|
|
|||
|
3. Создать раздел подкачки 5OO МиБ и активировать его. После перезагрузки он должен быть доступен.
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter15
|
|||
|
**Управление расширенным хранилищем.**
|
|||
|
|
|||
|
*Для выполнения этой лабораторной работы необходимо создать дополнительный жёсткий диск в вашей виртуальной машине размером 10 ГБ.*
|
|||
|
|
|||
|
1. Создать LVM том с именем `lvdb` размером 1 Гб, Также создать VG и PV, необходимые для этого LV.
|
|||
|
|
|||
|
2. Отформатировать созданный LV в XFS и примонтировать на постоянной основе в папку `/mount/lvdb`
|
|||
|
|
|||
|
3. Используя соответствующее решение, создать том с тонким выделением (thin provisioned volume) объёмом 10 Тб.
|
|||
|
|
|||
|
4. Создать зашифрованный том LUKS объемом 1 ГБ с именем `secret`. Убедитесь, что том монтируется постоянно, но не автоматически в `/mount/secret`.
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter16
|
|||
|
**Управление ядром.**
|
|||
|
|
|||
|
1. Обновить версию ядра.
|
|||
|
|
|||
|
2. Включить маршрутизацию IPv4 пакетов
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter17
|
|||
|
**Управление загрузкой ОС.**
|
|||
|
|
|||
|
1. Назначить режимом загрузки по-умолчанию - multi user target.
|
|||
|
|
|||
|
2. Изменить конфигурацию загрузки - удалить опции, скрывающие процесс загрузки ОС.
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter18
|
|||
|
**Устранение проблем.**
|
|||
|
|
|||
|
1. Сброс пароля root.
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter19
|
|||
|
**Написание shel скриптов.**
|
|||
|
|
|||
|
1. Написать скрипт, принимающий аргумент. Если аргумент - "yes", скрипт должен выполнить команду `echo that's nice`, если аргумент - "no", скрипт должен выполнить команду `echo I'm sorry to hear that`. Во всех остальных случаях - `echo unknown argument provided`
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter20
|
|||
|
**Настройка ssh.**
|
|||
|
|
|||
|
1. Настроить доступ с использованием ssh ключей для доступа на localhost
|
|||
|
|
|||
|
2. Настроить ssh таким образом, чтобы только пользователи linda и root имели возможность подключения
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter21
|
|||
|
**Настройка HTTP.**
|
|||
|
|
|||
|
1. Настроить Apache для отображения простой web страницы с текстом `Hello, world!`
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter22
|
|||
|
**Управление SELinux.**
|
|||
|
|
|||
|
1. Убедиться, что SELinux включен и работает в режиме enforcing.
|
|||
|
|
|||
|
2. Некоторые файлы в `/etc` имеют неверную метку контекста. Необходимо это исправить.
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter23
|
|||
|
**Управление межсетевым экраном.**
|
|||
|
|
|||
|
1. Настроить фаервол таким образом, чтобы службы ssh и Apache могли работать.
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter24
|
|||
|
**Автоматическая установка.**
|
|||
|
|
|||
|
1. Создать kickstart файл `my-ks.cfg`, убедиться, что его можно использовать для автоматической установки. Кроме этого необходимо учесть:
|
|||
|
- установщик должен запросить пароль
|
|||
|
- сетевое поключение будет доступно при загрузке
|
|||
|
- имя компьютера будет `server10.example.com`
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter25
|
|||
|
**Настройка даты и времени.**
|
|||
|
|
|||
|
1. Установить часовой пояс в соответствии с расположением.
|
|||
|
|
|||
|
2. Вручную установить время на 5 минут вперед.
|
|||
|
|
|||
|
3. Убедиться, что синхронизация времени по NTP активно и работает.
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|
|||
|
|
|||
|
###### Chapter26
|
|||
|
**Доступ к удалённым ФС.**
|
|||
|
|
|||
|
1. На своём IPA сервере установить hostname `labipa.example.com`.
|
|||
|
|
|||
|
2. Настроить на IPA сервере доступ для чтения/записи к двум папкам:
|
|||
|
- `home/ldap`
|
|||
|
- `/data`
|
|||
|
|
|||
|
3. В папке `/home/ldap` должны создаваться поддиректории с именами LDAP пользователей.
|
|||
|
|
|||
|
4. Домашние директории LDAP пользователей доступны по NFS по пути `/home/ldap/username`. Необходимо настроить их автоматическое монтирование.
|
|||
|
|
|||
|
5. Настроить NFS клиент для автоматического монтирования `labipa:/data`.
|
|||
|
|
|||
|
[вверх](#top)
|
|||
|
|
|||
|
***
|