#### Лабораторные работы по видеокурсу Sander Van Vugt *лабораторные работы начинаются в 3-й главы* *** **Глава 3. Базовые инструменты для работы с файлами.** 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/` *** **Глава 4. Работа с текстовыми файлами.** 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` *** **Глава 5. Подключение к серверу RHEL.** 1. Из графической консоли перейдите в вирутальный терминал tty6. 2. После выполнения 1-го задания авторизуйтесь как обычный пользователь и вернитесь в графический интерфейс, используя соответствующую команду. 3. Используя `ssh` подключитесь как `root` к `localhost` *** **Глава 6. Управление пользователями и группами.** 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`. *** **Главал 7. Права доступа к файлам.** 1. Запретить доступ другим пользователям (`others`) ко всем новым файлам пользователя Linda. 2. Создать структуру общих каталогов `/data/profs`, `/data/students` со следующими разрешениями: * члены групп имеют доступ на чтение и запись в эти директории, другие пользователи не имеют никаких разрешений; * члены групп могут редактировать все файлы создаваемые в этих директориях; * пользователи могут удалять только файлы , которые им принадлежат; * члены группы `profs` имеют доступ на чтение в `/data/students` * пользователь `anna` должна иметь возможность удалять файлы из директорий `/data/profs` и `/data/students` *** **Глава 8. Настройка сети.** 1. Назначить серверу статический IP адрес в текущей подсети. 2. Назначить дополнительный IP адрес 10.0.0.10/24 на тот же сетевой интерфейс. 3. Перезагрузить сервер и убедиться, что настройки сохранились. *** **Глава 9. Управление процессами.** 1. Запустить команду `dd if=/dev/zero of=/dev/null`. Перевести запущенный процесс в фоновый режим. 2. Запустить предыдущую команду 3 раза в фоновом режиме. 3. Используя `jobs` получить информацию о запущенных фоновых процессах. 4. Из `top` изменить приоритет (`niceness`) одного из ранее запущенных `dd` на значение `-5`. Убедиться, что использование CPU этого процесса увеличилось. 5. Остановить все запущенные процессы `dd` из командной строки. *** **Глава 10. Управление программным обеспечением.** 1. Убедитесь, что ваша система использует YUM репозиторий для установки основных пакетов ОС. 2. Найдите пакет, содержащий sepolicy, и установите его. 3. Установите предыдущую версию PHP. 4. Загрузите из репозитория пакет httpd не устанавливая, проверьте есть ли в этом пакете какие-либо скрипты. *** **Глава 11. Работа с systemd.** 1. Убедиться, что сервис `httpd` стартует автоматически при загрузке системы. 2. Отредактировать конфигурацию таким образом, чтобы в случае сбоя, через 1 минуту сервис снова работал. *** **Глава 12. Планирование заданий.** 1. Убедиться, что `systemd timer`, который очищает временные файлы, активен. 2. Запустить задание cron, которое выполнит команду `touch /tmp/cronfile` через 5 минут. 3. Используя `at` запланировать задание отключения компьютера сегодня в удобное время. *** **Глава 13. Настройка хранения логов.** 1. Убедитесь, что логи systemd сохраняются постоянно (persistently). 2. Создать запись в rsyslog, при которой сохраняются все сообщения категории error и выше (severity - error) в `/var/log/error` 3. Убедитесь, что `/var/log/error` архивируется ежемесячно, при этом 12 последних сообщений должны сохраниться перед архивацией. *** **Глава 14. Управление хранилищем.** *Для выполнения этой лабораторной работы необходимо создать дополнительный жёсткий диск в вашей виртуальной машине размером 10 ГБ.* 1. Создать основной раздел размером 1ГиБ. Отформатировать его в Ext4 и задать постоянную точку монтирования в `/mounts/files`, используя его UUID. 2. Создать расширенный раздел, включающий все оставшееся дисковое пространство. В этом разделе создать раздел XFS размером 5OO МиБ с постоянной точкой монтирования в `/mounts/xfs`, используя метку `myxfs`. 3. Создать раздел подкачки 5OO МиБ и активировать его. После перезагрузки он должен быть доступен. *** **Глава 15. Управление расширенным хранилищем.** *Для выполнения этой лабораторной работы необходимо создать дополнительный жёсткий диск в вашей виртуальной машине размером 10 ГБ.* 1. Создать LVM том с именем `lvdb` размером 1 Гб, Также создать VG и PV, необходимые для этого LV. 2. Отформатировать созданный LV в XFS и примонтировать на постоянной основе в папку `/mount/lvdb` 3. Используя соответствующее решение, создать том с тонким выделением (thin provisioned volume) объёмом 10 Тб. 4. Создать зашифрованный том LUKS объемом 1 ГБ с именем `secret`. Убедитесь, что том монтируется постоянно, но не автоматически в `/mount/secret`. *** **Глава 16. Управление ядром.** 1. Обновить версию ядра. 2. Включить маршрутизацию IPv4 пакетов *** **Глава 17. Управление загрузкой ОС.** 1. Назначить режимом загрузки по-умолчанию - multi user target. 2. Изменить конфигурацию загрузки - удалить опции, скрывающие процесс загрузки ОС. *** **Глава 18. Устранение проблем.** 1. Сброс пароля root. *** **Глава 19. Написание shel скриптов.** 1. Написать скрипт, принимающий аргумент. Если аргумент - "yes", скрипт должен выполнить команду `echo that's nice`, если аргумент - "no", скрипт должен выполнить команду `echo I'm sorry to hear that`. Во всех остальных случаях - `echo unknown argument provided` *** **Глава 20. Настройка ssh.** 1. Настроить доступ с использованием ssh ключей для доступа на localhost 2. Настроить ssh таким образом, чтобы только пользователи linda и root имели возможность подключения *** **Глава 21. Настройка HTTP.** 1. Настроить Apache для отображения простой web страницы с текстом `Hello, world!` *** **Глава 22. Управление SELinux.** 1. Убедиться, что SELinux включен и работает в режиме enforcing. 2. Некоторые файлы в `/etc` имеют неверную метку контекста. Необходимо это исправить. ***