Файл: Соколов А. С 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

Задание:

  1. Создайте пустой скрипт с бесконечным циклом:

Сохраните его в домашней папке с названием myscript.sh.

  1. Запустите скрипт и определите его ID.

  2. Узнайте с помощью утилиты ps -l приоритет выполнения скрипта на процессоре.<

  3. Убейте скрипт и запустите еще раз, добавив на конце & (например, > chromium&). Что произошло?


  4. Создайте скрипт, удаляющий все файлы в /tmp, которые никто не открывал как минимум 48 часов. Для тестирования, если таких файлов там нет, создайте новые пустые с помощью touch -t.

  5. Настройте cron, чтобы он запускал скрипт каждый вечер в 23:50.

  6. Добавьте скрипт в at для запуска сегодня в 21:30.

  7. Сделайте скриншот вашего crontab.

  8. Установите nginx (apt-get install nginx).

  9. Настройте его сервис с помощью systemctl (start, status).

  10. Проверьте его работоспособность в браузере.

  11. Поменяйте его порт по умолчанию на 108 (/etc/nginx/sites-available/default).

  12. Сделайте релод в systemctl.

  13. Проверьте вход на страницу по порту (https://...:108).

  14. Поменяйте юнит nginx (/etc/systemd/system) таким образом, чтобы он перезапускался всегда после 13 секунд ожидания.

  15. Перезапустите его, проверьте работоспособность и сломайте его любым образом (например, убейте процесс).

  16. Остановите сервис nginx (stop).

Решение:

  1. Создал пустой скрипт и сохранил его.




  1. Я добавил echo "PID: $$" чтобы узнать pid моего процесса.



  1. Узнал приоритет выполнения скрипта.



  1. Убил процесс, добавил на конце &, амперсенд позволяет запустить несколько команд. Если нам надо подождать, чтобы предыдущая команда отработала, нужно поставить &&

  2. Создадим скрипт, удаляющий все файлы в /tmp, которые никто не

открывал как минимум 48 часов. Добавим командой touch -t несколько

файлов с определённым временем:



  1. Добавил скрипт в Crontab

  2. Добавил скрипт для запуска в at



  1. В кронтабе только одна команда



  1. Установил Nginx



  1. Nginx запущен.



  1. В браузере открывается (ip адрес не могу показать, так как проверяю на собственном VPN сервере)



  1. Поменял порт на 108. И перечитал конфиг nginx



  1. Перезапустил Nginx



  1. Сайт доступен.



  1. Изменил параметры юнита Nginx



  1. Убьём наш процесс командой kill и посмотрим, что через 13 секунд

он снова заработает:




  1. Остановил 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) В очередной раз удалим папку одного несчастного товарища, затем

посмотрим одной командой на все сломавшиеся симлинки у других

пользователей, а также выведем полные пути к этим симлинкам: