Файл: Соколов А. С 2023 установка настройка и работа с linux лабораторная работа 1,2,3,5,6 по курсу Администрирование информационных систем ягту 09. 03. 02.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 22.11.2023
Просмотров: 102
Скачиваний: 11
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
14) Добавил своего пользователя (app-mp) в sudoers
15) Обновил индексы репозиториев и пакеты.
17) Так как у меня только консольный линукс, пришлось установить Lynx так как это единственный известный мне консольный браузер.
18) Проверил все stable репозитории.
19) Удалил браузер Lynx
20) Перенес папки однокурсников в их личные, с помощью mc
Лабораторная работа №5
Задание:
-
Создайте пустой скрипт с бесконечным циклом:
Сохраните его в домашней папке с названием myscript.sh.
-
Запустите скрипт и определите его ID. -
Узнайте с помощью утилиты ps -l приоритет выполнения скрипта на процессоре.< -
Убейте скрипт и запустите еще раз, добавив на конце & (например, > chromium&). Что произошло? -
Создайте скрипт, удаляющий все файлы в /tmp, которые никто не открывал как минимум 48 часов. Для тестирования, если таких файлов там нет, создайте новые пустые с помощью touch -t. -
Настройте cron, чтобы он запускал скрипт каждый вечер в 23:50. -
Добавьте скрипт в at для запуска сегодня в 21:30. -
Сделайте скриншот вашего crontab. -
Установите nginx (apt-get install nginx). -
Настройте его сервис с помощью systemctl (start, status). -
Проверьте его работоспособность в браузере. -
Поменяйте его порт по умолчанию на 108 (/etc/nginx/sites-available/default). -
Сделайте релод в systemctl. -
Проверьте вход на страницу по порту (https://...:108). -
Поменяйте юнит nginx (/etc/systemd/system) таким образом, чтобы он перезапускался всегда после 13 секунд ожидания. -
Перезапустите его, проверьте работоспособность и сломайте его любым образом (например, убейте процесс). -
Остановите сервис nginx (stop).
Решение:
-
Создал пустой скрипт и сохранил его.
-
Я добавил echo "PID: $$" чтобы узнать pid моего процесса.
-
Узнал приоритет выполнения скрипта.
-
Убил процесс, добавил на конце &, амперсенд позволяет запустить несколько команд. Если нам надо подождать, чтобы предыдущая команда отработала, нужно поставить && -
Создадим скрипт, удаляющий все файлы в /tmp, которые никто не
открывал как минимум 48 часов. Добавим командой touch -t несколько
файлов с определённым временем:
-
Добавил скрипт в Crontab -
Добавил скрипт для запуска в at
-
В кронтабе только одна команда
-
Установил Nginx
-
Nginx запущен.
-
В браузере открывается (ip адрес не могу показать, так как проверяю на собственном VPN сервере)
-
Поменял порт на 108. И перечитал конфиг nginx
-
Перезапустил Nginx
-
Сайт доступен.
-
Изменил параметры юнита Nginx
-
Убьём наш процесс командой kill и посмотрим, что через 13 секунд
он снова заработает:
-
Остановил nginx
Лабораторная работа №6
Задача:
ssh
1.1 . Подключитесь к вашей системе по ssh
1.2. Сгенерируйте и добавьте сертификаты для беспарольного входа между вашей системой и клиентом для подключения.
1.3. Скопируйте каталоги с оценками сокурсников из л/р 2 с помощью scp на систему, от которой вы подключились к серверу.
1.4. Создайте нового пользователя — сокурсника, удаленного в л/р 2.
1.5. Воссоздайте удаленный каталог этого сокурсника на клиентской системе и перебросьте его назад на сервер в его свежесозданный домашний каталог через scp. Дайте ему соответствующие права.
Логи
2.1. Выведите в терминал /var/run/utmp подходящей командой.
2.2. Выведите в терминал /var/log/wtmp таким же образом.
2.3 Используйте lastlog и lastb, объясните разницу.
2.4 Исследуйте конфиг rsyslogd и найдите в нем отдельный лог для неудачных попыток входа по ssh.
2.5 Настройте rsyslogd так, чтобы ошибки local4.error и уровнями выше уходили в /var/log/l4e.log, а local4.info (только .info) уходили в /var/log/l4i.log. Напишите скрипт для проброса кастомных сообщений для лога (утилита logger) и протестируйте конфигурацию.
2.6 Настройте /var/log/allsu.log так, чтобы все сообщения от su при попытках входа в root прилетали туда. Не забудьте проверить.
2.7 Напишите скрипт, который отправляет разные рандомные сообщения по local4 каждые 15 секунд. Для отслеживания отправки сообщений воспользуйтесь tail -f.
2.8 (по возможности/желанию) Настройте отправку сообщений local5 на rsyslogd третьей системы (на еще одну виртуальную машину, по внешней сети кому-то из сокурсников). Проверьте.
Симлинки
3.1 Создайте в домашних каталогах каждого пользователя из л/р3 папку myfriends. Перенесите папки с оценками в папки myfriends. После этого у каждого пользователя в домашнем каталоге должна быть папка myfriends, где внутри лежит папка с его именем, где внутри лежат оценки.
3.2 Создайте в каждой папке myfriends симлинки (ln -s) на папки оценок других пользователей. После этого у каждого пользователя в папке myfriends должна лежать папка с его именем и симлинки на папки с именами других пользователей. Покажите один такой каталог с помощью ls -lR.
3.3 Снова удалите у несчастного товарища папку с оценками. Попробуйте одной командой найти все сломавшиеся симлинки у других пользователей и вывести полные пути к ним (пользуйтесь &).
3.4 Запустите find /usr/sbin /usr/bin ‑lname "*/systemctl" Какой результат он даёт?
3.5 Найдите одной командой все симлинки к папке с оценками любого другого пользователя (find -lname).
3.6 С помощью which узнайте откуда запускается python (установите, если не установлен).
Решение:
1, 2) Я настроил авторизацию по ssh.
3) Скопировал каталог с удаленного сервера на свой локальный ПК. И дал пользователю все права на папку.
Логи
Логи – это записи различных утилит о событиях. Для системных
администраторов логи – это первый источник, в котором нужно начинать
искать ошибку, произошедшую в системе.
1) Необходимо вывести в терминал лог /var/run/utmp подходящей
командой who. Данный лог показывает кто в текущий момент находится в
системе:
2) Необходимо аналогично вывести в терминал лог /var/log/wtmp
подходящей командой last. Данный лог показывает информацию входах
пользователей в систему:
3) Необходимо исследовать lastlog и lastb и разобраться что есть что и в
чём же разница.
Команда lastlog отображает список всех пользователей и показывает
время, когда каждый из пользователей входил в систему в последний раз.
Команда lastb показывает список неудачных попыток входа в систему.
4) Необходимо исследовать конфиг rsyslogd и найти в нём отдельный
лог для неудачных попыток входа по SSH.
Мы видим, что сообщения с любым приоритетом (*) от идентификатора
систем auth записываются в файл /var/log/auth.log, а значит искать
информацию о неудачных попытках входа по SSH нужно именно там!
5) Необходимо настроить rsyslogd так, чтобы ошибки local4.error и
уровнями выше уходили в /var/log/l4e.log, а local4.info (только .info) уходили в /var/log/l4i.log. Также необходимо написать скрипт для проброса кастомных сообщений для лога, чтобы протестировать данную конфигурацию
Напишем скрипт для проброса кастомных сообщений, для проверки
работоспособности нашей конфигурации и запустим его:
В результате мы получаем файлы l4e.log и l4i.log с нашими логами в
папке /var/log.
6) Необходимо /var/log/allsu.log так, чтобы все сообщения от su при
попытках входа в root прилетали туда, а затем убедиться в работоспособности конфигурации.
7) Необходимо написать скрипт, который отправляет разные рандомные
сообщения по local4 каждые 15 секунд. Для отслеживания сообщений будем использовать tail -f:
Симлинки
Симлинки – это такие файлы, которые ссылаются на другие файлы. Это
аналог ярлыков в Windows, однако в Linux симлинки имеют ряд
дополнительных преимуществ.
1) Создадим в домашних каталогах каждого пользователя папку
myfriends и перенесём папки с оценками в эти папки.
2) Необходимо создать в каждой папке myfriends симлинки командой
ln -s на папки с оценками других пользователей. В итоге в папке myfriends
каждого студента лежит папка со своими оценками и симлинки на папки с
оценками его сокурсников.
3) В очередной раз удалим папку одного несчастного товарища, затем
посмотрим одной командой на все сломавшиеся симлинки у других
пользователей, а также выведем полные пути к этим симлинкам: