Skip to content

Решение задач по курсу "Linux. Рабочая станция". Практика администрирования ОС Linux на компьютере.

Notifications You must be signed in to change notification settings

vit050587/Linux-homework-GB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linux. Рабочая станция

MarkDown

Данный курс разбирает базовые основы работы в Linux:

  • основы работы в оболочке Linux,
  • управление пользователями и правами файлов,
  • регулярные выражения и написание скриптов в bash,
  • работа с процессами и управление загрузкой и сервисами в Linux.

Программа курса:

  • Устанавливать и настраивать Ubuntu;
  • Понимать архитектуру Linux и Unix-подобных систем;
  • Работать в терминале (пригодится и тем, кто использует Mac);
  • Работать с файлами, файловыми системами и устройствами в Linux;
  • Администрировать Linux и другие Unix-подобные операционные системы;
  • Понимать и писать регулярные выражения;
  • Решать задачи автоматизации, писать скрипты и назначать задачи по расписанию;
  • Настроить на базе Linux веб-сервер и защитить его с помощью iptables;
  • Работать с git, использовать контейнеризацию Docker.

Урок 1.

Введение. Установка ОС

  • 1 Обзавестись установленной версией Linux Ubuntu. В качестве решения необходимо прислать текстовый файл (*.txt) с кодом команды, выводящей информацию о версии ОС (вместе с результатом работы этой команды)

Урок 2.

Настройка и знакомство с интерфейсом командной строки

  • 1 Создать каталоги students и mentors в домашней директории, а в них — текстовые файлы students_list.txt и mentors_list.txt соответственно.
  • 2 Открыть созданные в п.1 файлы в любом текстовом редакторе и заполнить их (в соответствии с названием) списком Ваших одногруппников и наставников на данном потоке.
  • 3 Переместите файл mentors_list.txt в папку students.
  • 4 Удалите папку mentors.
  • 5 Переименуйте папку students в students_and_mentors.
  • 6 Удалите папку students_and_mentors вместе с содержимым.
  • 7 Подключитесь к машине с Linux по протоколу SSH.
  • 8* Используя дополнительный материал, настроить авторизацию по SSH с использованием ключей. В качестве решения необходимо прислать текстовый файл (*.txt) с набором используемых команд и их результатами (можно скопировать текст из консоли).

Урок 3.

1. Управление пользователями:

  • создать нового пользователя;
  • убедиться, что информация о нем появилась в соответствующих файлах в системе;
  • удалить созданного пользователя;

2. Управление группами:

  • создать группу;
  • попрактиковаться в смене групп у пользователей;
  • добавить пользователя в группу, не меняя основной;
  • удалить пользователя из группы.

3.

  • Создать пользователя с правами суперпользователя. Проверить результат.

4. *

  • Используя дополнительные материалы, выдать одному из созданных пользователей право на выполнение ряда команд, требующих прав суперпользователя (команды выбираем на своё усмотрение). В качестве решения необходимо прислать текстовый файл (*.txt) с набором используемых команд и их результатами (можно скопировать текст из консоли).

Урок 4.

Загрузка ОС и процессы

  • 1 Потоки ввода/вывода. Создать файл, используя команду echo. Используя команду cat, прочитать содержимое всех файлов каталога etc, ошибки перенаправить в отдельный файл.
  • 2 Конвейер (pipeline). Использовать команду cut на вывод длинного списка каталога, чтобы отобразить только права доступа к файлам. Затем отправить в конвейере этот вывод на sort и uniq, чтобы отфильтровать все повторяющиеся строки.
  • 3 Управление процессами.) Изменить конфигурационный файл службы SSH: /etc/ssh/sshd_config, отключив аутентификацию по паролю PasswordAuthentication no. Выполните рестарт службы systemctl restart sshd (service sshd restart), верните аутентификацию по паролю, выполните reload службы systemctl reload sshd (services sshd reload). В чём различие между действиями restart и reload? Создайте файл при помощи команды cat > file_name, напишите текст и завершите комбинацией ctrl+d. Какой сигнал передадим процессу?
  • 4 Сигналы процессам. Запустите mc. Используя ps, найдите PID процесса, завершите процесс, передав ему сигнал 9.

Урок 5.

Устройство файловой системы Linux. Понятие Файла и каталога

  • 1 Создать файл file1 и наполнить его произвольным содержимым. Скопировать его в file2. Создать символическую ссылку file3 на file1. Создать жёсткую ссылку file4 на file1. Посмотреть, какие inode у файлов. Удалить file1. Что стало с остальными созданными файлами? Попробовать вывести их на экран.
  • 2 Дать созданным файлам другие, произвольные имена. Создать новую символическую ссылку. Переместить ссылки в другую директорию.
  • 3 Создать два произвольных файла. Первому присвоить права на чтение и запись для владельца и группы, только на чтение — для всех. Второму присвоить права на чтение и запись только для владельца.
  • 4 Создать группу developer и нескольких пользователей, входящих в неё. Создать директорию для совместной работы. Сделать так, чтобы созданные одними пользователями файлы могли изменять другие пользователи этой группы.
  • 5 Создать в директории для совместной работы поддиректорию для обмена файлами, но чтобы удалять файлы могли только их создатели.
  • 6 Создать директорию, в которой есть несколько файлов. Сделать так, чтобы открыть файлы можно было, только зная имя файла, а через ls список файлов посмотреть было нельзя.

Урок 6.

Введение в скрипты Bash. Планировщики задач crontab и at

  • 1 Вывести на экран 3 раза имя пользователя, от которого запускается команда.
  • 2 Вывести с помощью цикла while все четные числа от 0 до 100 включительно.
  • 3 Создать с помощью nano файл test.txt. Настроить автоматический бэкап этого файла раз в 10 минут в файл с названием test.txt.bak с использованием cron.

Урок 7.

Управление пакетами и репозиториями. Основы сетевой безопасности

  • Подключить репозиторий с nginx любым удобным способом, установить nginx и потом удалить nginx, используя утилиту dpkg.
  • Установить пакет на свой выбор, используя snap.
  • Настроить iptables: разрешить подключения только на 22-й и 80-й порты.
  • Настроить проброс портов локально с порта 80 на порт 8080.

Урок 8.

Введение в Docker

  • 1 Переустановить операционную систему (по желанию, для дополнительной практики)
  • 2 Подключить репозиторий Docker.
  • 3 Запустить контейнер с Ubuntu.
  • 4 Используя Dockerfile, собрать связку nginx + PHP-FPM в одном контейнере.

About

Решение задач по курсу "Linux. Рабочая станция". Практика администрирования ОС Linux на компьютере.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages