From 2f7fd3bee70b08aae15b3e6cadca7dc60b5f750a Mon Sep 17 00:00:00 2001 From: dannc Date: Wed, 6 Apr 2022 10:22:40 +0700 Subject: [PATCH] reorganize homeworks structure for parts 1-3 --- readme.md | 30 ++-- src/homework/{ => 01-intro}/1.1/readme.md | 0 src/homework/{ => 01-intro}/1.1/task1.png | Bin src/homework/{ => 01-intro}/1.1/task2.md | 0 src/homework/{ => 02-git}/2.1/readme.md | 0 src/homework/{ => 02-git}/2.1/task1.md | 0 src/homework/{ => 02-git}/2.2/readme.md | 0 .../{ => 02-git}/2.3/branching/merge.sh | 0 .../{ => 02-git}/2.3/branching/rebase.sh | 0 src/homework/{ => 02-git}/2.3/readme.md | 0 src/homework/{ => 02-git}/2.4/readme.md | 0 src/homework/02-git/notes.md | 17 +++ .../3.1/double_square_braket.sh | 0 src/homework/{ => 03-sysadmin}/3.1/readme.md | 2 +- src/homework/{ => 03-sysadmin}/3.2/readme.md | 0 src/homework/{ => 03-sysadmin}/3.3/readme.md | 0 src/homework/{ => 03-sysadmin}/3.4/readme.md | 0 src/homework/{ => 03-sysadmin}/3.5/readme.md | 0 src/homework/{ => 03-sysadmin}/3.6/readme.md | 2 +- .../{ => 03-sysadmin}/3.6/stackoverflow.png | Bin src/homework/{ => 03-sysadmin}/3.7/readme.md | 0 .../{ => 03-sysadmin}/3.8/network.png | Bin .../{ => 03-sysadmin}/3.8/network.xml | 0 src/homework/{ => 03-sysadmin}/3.8/readme.md | 4 +- .../{ => 03-sysadmin}/3.9/bitwarden-2fa.png | Bin .../{ => 03-sysadmin}/3.9/bitwarden.png | Bin src/homework/{ => 03-sysadmin}/3.9/readme.md | 4 +- .../{ => 03-sysadmin}/3.9/wireshark.png | Bin src/homework/03-sysadmin/notes.md | 119 +++++++++++++++ src/homework/notes.md | 138 ------------------ 30 files changed, 156 insertions(+), 160 deletions(-) rename src/homework/{ => 01-intro}/1.1/readme.md (100%) rename src/homework/{ => 01-intro}/1.1/task1.png (100%) rename src/homework/{ => 01-intro}/1.1/task2.md (100%) rename src/homework/{ => 02-git}/2.1/readme.md (100%) rename src/homework/{ => 02-git}/2.1/task1.md (100%) rename src/homework/{ => 02-git}/2.2/readme.md (100%) rename src/homework/{ => 02-git}/2.3/branching/merge.sh (100%) rename src/homework/{ => 02-git}/2.3/branching/rebase.sh (100%) rename src/homework/{ => 02-git}/2.3/readme.md (100%) rename src/homework/{ => 02-git}/2.4/readme.md (100%) create mode 100644 src/homework/02-git/notes.md rename src/homework/{ => 03-sysadmin}/3.1/double_square_braket.sh (100%) rename src/homework/{ => 03-sysadmin}/3.1/readme.md (99%) rename src/homework/{ => 03-sysadmin}/3.2/readme.md (100%) rename src/homework/{ => 03-sysadmin}/3.3/readme.md (100%) rename src/homework/{ => 03-sysadmin}/3.4/readme.md (100%) rename src/homework/{ => 03-sysadmin}/3.5/readme.md (100%) rename src/homework/{ => 03-sysadmin}/3.6/readme.md (99%) rename src/homework/{ => 03-sysadmin}/3.6/stackoverflow.png (100%) rename src/homework/{ => 03-sysadmin}/3.7/readme.md (100%) rename src/homework/{ => 03-sysadmin}/3.8/network.png (100%) rename src/homework/{ => 03-sysadmin}/3.8/network.xml (100%) rename src/homework/{ => 03-sysadmin}/3.8/readme.md (98%) rename src/homework/{ => 03-sysadmin}/3.9/bitwarden-2fa.png (100%) rename src/homework/{ => 03-sysadmin}/3.9/bitwarden.png (100%) rename src/homework/{ => 03-sysadmin}/3.9/readme.md (98%) rename src/homework/{ => 03-sysadmin}/3.9/wireshark.png (100%) create mode 100644 src/homework/03-sysadmin/notes.md diff --git a/readme.md b/readme.md index fde6c62..e95430a 100644 --- a/readme.md +++ b/readme.md @@ -2,21 +2,19 @@ ## Homeworks -Пометки расположены в [notes.md](/src/homework/notes.md). - -* [1.1 Введение в DevOps](/src/homework/1.1) -* [2.1 Системы контроля версий](/src/homework/2.1) -* [2.2 Основы Git](/src/homework/2.2) -* [2.3 Ветвления в Git](/src/homework/2.3) -* [2.4 Ветвления в Git](/src/homework/2.4) -* [3.1 Работа в терминале, лекция 1](/src/homework/3.1) -* [3.2 Работа в терминале, лекция 2](/src/homework/3.2) -* [3.3. Операционные системы, лекция 1](/src/homework/3.3) -* [3.4. Операционные системы, лекция 2](/src/homework/3.4) -* [3.5. Файловые системы](/src/homework/3.5) -* [3.6. Компьютерные сети, лекция 1](/src/homework/3.6) -* [3.7. Компьютерные сети, лекция 2](/src/homework/3.7) -* [3.8. Компьютерные сети, лекция 3](/src/homework/3.8) -* [3.9. Элементы безопасности информационных систем](/src/homework/3.9) +* [1.1 Введение в DevOps](/src/homework/01-intro/1.1) +* [2.1 Системы контроля версий](/src/homework/02-git/2.1) +* [2.2 Основы Git](/src/homework/02-git/2.2) +* [2.3 Ветвления в Git](/src/homework/02-git/2.3) +* [2.4 Ветвления в Git](/src/homework/02-git/2.4) +* [3.1 Работа в терминале, лекция 1](/src/homework/03-sysadmin/3.1) +* [3.2 Работа в терминале, лекция 2](/src/homework/03-sysadmin/3.2) +* [3.3. Операционные системы, лекция 1](/src/homework/03-sysadmin/3.3) +* [3.4. Операционные системы, лекция 2](/src/homework/03-sysadmin/3.4) +* [3.5. Файловые системы](/src/homework/03-sysadmin/3.5) +* [3.6. Компьютерные сети, лекция 1](/src/homework/03-sysadmin/3.6) +* [3.7. Компьютерные сети, лекция 2](/src/homework/03-sysadmin/3.7) +* [3.8. Компьютерные сети, лекция 3](/src/homework/03-sysadmin/3.8) +* [3.9. Элементы безопасности информационных систем](/src/homework/03-sysadmin/3.9) * [4.1. Командная оболочка Bash: Практические навыки](/src/homework/4.1) * [4.2. Использование Python для решения типовых DevOps задач](/src/homework/4,2) diff --git a/src/homework/1.1/readme.md b/src/homework/01-intro/1.1/readme.md similarity index 100% rename from src/homework/1.1/readme.md rename to src/homework/01-intro/1.1/readme.md diff --git a/src/homework/1.1/task1.png b/src/homework/01-intro/1.1/task1.png similarity index 100% rename from src/homework/1.1/task1.png rename to src/homework/01-intro/1.1/task1.png diff --git a/src/homework/1.1/task2.md b/src/homework/01-intro/1.1/task2.md similarity index 100% rename from src/homework/1.1/task2.md rename to src/homework/01-intro/1.1/task2.md diff --git a/src/homework/2.1/readme.md b/src/homework/02-git/2.1/readme.md similarity index 100% rename from src/homework/2.1/readme.md rename to src/homework/02-git/2.1/readme.md diff --git a/src/homework/2.1/task1.md b/src/homework/02-git/2.1/task1.md similarity index 100% rename from src/homework/2.1/task1.md rename to src/homework/02-git/2.1/task1.md diff --git a/src/homework/2.2/readme.md b/src/homework/02-git/2.2/readme.md similarity index 100% rename from src/homework/2.2/readme.md rename to src/homework/02-git/2.2/readme.md diff --git a/src/homework/2.3/branching/merge.sh b/src/homework/02-git/2.3/branching/merge.sh similarity index 100% rename from src/homework/2.3/branching/merge.sh rename to src/homework/02-git/2.3/branching/merge.sh diff --git a/src/homework/2.3/branching/rebase.sh b/src/homework/02-git/2.3/branching/rebase.sh similarity index 100% rename from src/homework/2.3/branching/rebase.sh rename to src/homework/02-git/2.3/branching/rebase.sh diff --git a/src/homework/2.3/readme.md b/src/homework/02-git/2.3/readme.md similarity index 100% rename from src/homework/2.3/readme.md rename to src/homework/02-git/2.3/readme.md diff --git a/src/homework/2.4/readme.md b/src/homework/02-git/2.4/readme.md similarity index 100% rename from src/homework/2.4/readme.md rename to src/homework/02-git/2.4/readme.md diff --git a/src/homework/02-git/notes.md b/src/homework/02-git/notes.md new file mode 100644 index 0000000..bb2bc9e --- /dev/null +++ b/src/homework/02-git/notes.md @@ -0,0 +1,17 @@ +# Git + +## Git new commands + +В git постепенно появляются алиасы, чтобы команды становились узконаправленными. Новые полезные команды: +1. [`git restore`](https://git-scm.com/docs/git-restore) - восстановление файлов в рабочей директории (например, откат изменений как при использовании `git checkout -- .`) +2. [`git switch`](https://git-scm.com/docs/git-switch) - переключение веток. Более узконаправленная команда, чем `git checkout` или `git branch`. + +## Git rebase + +Примерный порядок действий перебазирования веток в `main`: +1. `git switch new-branch` +2. `git rebase main` +3. _optional_ исправление конфликтов, выполнение команды `git rebase --continue` +4. `git checkout main` +5. `git merge new-branch` +6. `git branch -D new-branch` diff --git a/src/homework/3.1/double_square_braket.sh b/src/homework/03-sysadmin/3.1/double_square_braket.sh similarity index 100% rename from src/homework/3.1/double_square_braket.sh rename to src/homework/03-sysadmin/3.1/double_square_braket.sh diff --git a/src/homework/3.1/readme.md b/src/homework/03-sysadmin/3.1/readme.md similarity index 99% rename from src/homework/3.1/readme.md rename to src/homework/03-sysadmin/3.1/readme.md index 978b640..65b6d43 100644 --- a/src/homework/3.1/readme.md +++ b/src/homework/03-sysadmin/3.1/readme.md @@ -48,7 +48,7 @@ 5. Что делает конструкция `[[ -d /tmp ]]` Возвращает 0, если `/tmp` существует и это директория, или 1, в ином случае. - Скрипт, проверяющий данный ответ находится в файле [double_square_braket.sh](./double_square_braket.sh). + Скрипт, проверяющий данный ответ находится в файле [double_square_braket.sh](double_square_braket.sh). 4. Добейтесь в выводе type -a bash в виртуальной машине наличия первым пунктом в списке. diff --git a/src/homework/3.2/readme.md b/src/homework/03-sysadmin/3.2/readme.md similarity index 100% rename from src/homework/3.2/readme.md rename to src/homework/03-sysadmin/3.2/readme.md diff --git a/src/homework/3.3/readme.md b/src/homework/03-sysadmin/3.3/readme.md similarity index 100% rename from src/homework/3.3/readme.md rename to src/homework/03-sysadmin/3.3/readme.md diff --git a/src/homework/3.4/readme.md b/src/homework/03-sysadmin/3.4/readme.md similarity index 100% rename from src/homework/3.4/readme.md rename to src/homework/03-sysadmin/3.4/readme.md diff --git a/src/homework/3.5/readme.md b/src/homework/03-sysadmin/3.5/readme.md similarity index 100% rename from src/homework/3.5/readme.md rename to src/homework/03-sysadmin/3.5/readme.md diff --git a/src/homework/3.6/readme.md b/src/homework/03-sysadmin/3.6/readme.md similarity index 99% rename from src/homework/3.6/readme.md rename to src/homework/03-sysadmin/3.6/readme.md index 14175e6..f789e6f 100644 --- a/src/homework/3.6/readme.md +++ b/src/homework/03-sysadmin/3.6/readme.md @@ -40,7 +40,7 @@ Set-Cookie: prov=a65f8cdf-ae94-33aa-2d32-b4ba53feba61; domain=.stackoverflow.com Наиболее долгих по загрузке запрос - это запрос на загрузку самой страницы после редиректа (`https://stackoverflow.com/`). Скриншот консоли браузера: -![stackoverflow.png](./stackoverflow.png) +![stackoverflow.png](stackoverflow.png) 3. Какой IP адрес у вас в интернете? diff --git a/src/homework/3.6/stackoverflow.png b/src/homework/03-sysadmin/3.6/stackoverflow.png similarity index 100% rename from src/homework/3.6/stackoverflow.png rename to src/homework/03-sysadmin/3.6/stackoverflow.png diff --git a/src/homework/3.7/readme.md b/src/homework/03-sysadmin/3.7/readme.md similarity index 100% rename from src/homework/3.7/readme.md rename to src/homework/03-sysadmin/3.7/readme.md diff --git a/src/homework/3.8/network.png b/src/homework/03-sysadmin/3.8/network.png similarity index 100% rename from src/homework/3.8/network.png rename to src/homework/03-sysadmin/3.8/network.png diff --git a/src/homework/3.8/network.xml b/src/homework/03-sysadmin/3.8/network.xml similarity index 100% rename from src/homework/3.8/network.xml rename to src/homework/03-sysadmin/3.8/network.xml diff --git a/src/homework/3.8/readme.md b/src/homework/03-sysadmin/3.8/readme.md similarity index 98% rename from src/homework/3.8/readme.md rename to src/homework/03-sysadmin/3.8/readme.md index f4bbe50..e38552d 100644 --- a/src/homework/3.8/readme.md +++ b/src/homework/03-sysadmin/3.8/readme.md @@ -118,9 +118,9 @@ UNCONN 0 0 В качестве сети взята стандартная домашняя сеть с wi-fi-роутером. -Файл [network.xml](./network.xml) для открытия в [diagrams.net](https://diagrams.net). +Файл [network.xml](network.xml) для открытия в [diagrams.net](https://diagrams.net). -![network.png](./network.png) +![network.png](network.png) 6. Установите Nginx, настройте в режиме балансировщика TCP или UDP. diff --git a/src/homework/3.9/bitwarden-2fa.png b/src/homework/03-sysadmin/3.9/bitwarden-2fa.png similarity index 100% rename from src/homework/3.9/bitwarden-2fa.png rename to src/homework/03-sysadmin/3.9/bitwarden-2fa.png diff --git a/src/homework/3.9/bitwarden.png b/src/homework/03-sysadmin/3.9/bitwarden.png similarity index 100% rename from src/homework/3.9/bitwarden.png rename to src/homework/03-sysadmin/3.9/bitwarden.png diff --git a/src/homework/3.9/readme.md b/src/homework/03-sysadmin/3.9/readme.md similarity index 98% rename from src/homework/3.9/readme.md rename to src/homework/03-sysadmin/3.9/readme.md index b1e4a38..d74cb18 100644 --- a/src/homework/3.9/readme.md +++ b/src/homework/03-sysadmin/3.9/readme.md @@ -15,7 +15,7 @@ 3. Установите apache2, сгенерируйте самоподписанный сертификат, настройте тестовый сайт для работы по HTTPS. -Вместо `apache2` будем производить настройку уже установленного в виртуальную машину `nginx` (установка производилась в [дз 3.8:6](/src/homework/3.8/readme.md#Q/A)). +Вместо `apache2` будем производить настройку уже установленного в виртуальную машину `nginx` (установка производилась в [дз 3.8:6](/src/homework/03-sysadmin/3.8sysadmin/3.8/readme.md#Q/A)). Первым шагом необходимо сгенерировать сертификат: @@ -265,4 +265,4 @@ scp -P 2222 vagrant@127.0.0.1:/home/vagrant/dump.pcap ./dump.pcap Затем запустим графическое отображение утилиты и откроем в ней файл: -![wireshark](./wireshark.png) +![wireshark](wireshark.png) diff --git a/src/homework/3.9/wireshark.png b/src/homework/03-sysadmin/3.9/wireshark.png similarity index 100% rename from src/homework/3.9/wireshark.png rename to src/homework/03-sysadmin/3.9/wireshark.png diff --git a/src/homework/03-sysadmin/notes.md b/src/homework/03-sysadmin/notes.md new file mode 100644 index 0000000..69d010c --- /dev/null +++ b/src/homework/03-sysadmin/notes.md @@ -0,0 +1,119 @@ +# Linux operating system + +## Streams + +Базовые потоки: +* `0` - stdin (`/proc//fd/0`) +* `1` - stdout (`/proc//fd/1`) +* `2` - stderr (`/proc//fd/2`) + +Для перенаправления потока можно использовать `X>&Y`, где `X` поток, который нужно перенаправить, +`Y` - поток, в который нужно направить данные (может быть стандартным файлом). + +## Kernel + +Версия ядра: `uname -r`. +Версия дистрибутива: `cat /etc/issue` (debian-based), `cat /etc/redhat-release` (centos-based). + +Посмотреть всю конфигурацию системы: `sysctl -a`. + +Логи системы: `dmesg`, `syslog`. + +## Systemctl + +* `systemctl list-units --all` +* `systemctl status ` +* `systemctl cat ` - просмотреть файл настроек сервиса +* `systemctl list-dependencies ` + ```shell + systemctl list-dependencies docker + + docker.service + ● ├─containerd.service + ● ├─docker.socket + ● ├─system.slice + ● ├─network-online.target + ● │ └─NetworkManager-wait-online.service + ● └─sysinit.target + ● ├─apparmor.service + <...> + ``` +* `journalctl -f` +* `journalctl -f -u docker` + +## Filesystems + +* `stat ` + +### File types + +* regular file (`ls -la` - `-`) +* directory (`ls -la` - `d`) +* hardlink (`ls -la` - `l`) + + 1 файл - 1 hardlink + 1 директрория - минимум 2 hardlink (у пустой директории - 2, +1 за каждую директорию внутри) + +* symlink (`ls -la` - `l`) +* pipe (`ls -la` - `p`) + + Перенаправление потоков, только однонаправленный + `mkfifo ` + +* socket (`ls -la` - `s`) + + Двунаправленный поток, производительнее, чем pipe. Используется для взаимодействия между процессами. + +### File access + +`chown`, `chmod`, `umask` + +Права по умолчанию: +* `file`: `666 - umask` +* `dir`: `777 - umask` + +Дополнительные права доступа: +* `sticky` - создание доступно всем, удаление только файлы пользователя +* `setuid` +* `setgid` + +`lsattr`/`chattr` + +### Raid + +`mdadm` + +### LVM + +`lvs`, `vgs`, `vgdisplay`, `pvdisplay` + +### Partitions + +`fdisk -l`/`fdisk`, `sfdisk` + +### Filesystems + +`mkfs`, `mount`, `/etc/fstab` + +## Network + +* `ping ` +* `whois ` +* `whois -h whois.radb.net ` +* `bgpq3 -J ` +* `traceroute -An ` +* `mtr -zn ` +* `dig +trace @8.8.8.8 ` +* `dig -x ` +* `telnet ` +* `ipcalc /` + +### SSH + +* `ssh-copy-id user@server` - добавление ssh-ключа на сервер для пользователя +* `ssh-keygen -F server` - проверка ssh-сертификатов сервера +* `ssh-keygen -R server` - удаление записи сервера из `known_hosts` + +### Web-servers + +* ssl config generation: https://ssl-config.mozilla.org/ diff --git a/src/homework/notes.md b/src/homework/notes.md index 2c5fbd5..08b6f4f 100644 --- a/src/homework/notes.md +++ b/src/homework/notes.md @@ -1,141 +1,3 @@ -# Git - -## Git new commands - -В git постепенно появляются алиасы, чтобы команды становились узконаправленными. Новые полезные команды: -1. [`git restore`](https://git-scm.com/docs/git-restore) - восстановление файлов в рабочей директории (например, откат изменений как при использовании `git checkout -- .`) -2. [`git switch`](https://git-scm.com/docs/git-switch) - переключение веток. Более узконаправленная команда, чем `git checkout` или `git branch`. - -## Git rebase - -Примерный порядок действий перебазирования веток в `main`: -1. `git switch new-branch` -2. `git rebase main` -3. _optional_ исправление конфликтов, выполнение команды `git rebase --continue` -4. `git checkout main` -5. `git merge new-branch` -6. `git branch -D new-branch` - -# Linux operating system - -## Streams - -Базовые потоки: -* `0` - stdin (`/proc//fd/0`) -* `1` - stdout (`/proc//fd/1`) -* `2` - stderr (`/proc//fd/2`) - -Для перенаправления потока можно использовать `X>&Y`, где `X` поток, который нужно перенаправить, -`Y` - поток, в который нужно направить данные (может быть стандартным файлом). - -## Kernel - -Версия ядра: `uname -r`. -Версия дистрибутива: `cat /etc/issue` (debian-based), `cat /etc/redhat-release` (centos-based). - -Посмотреть всю конфигурацию системы: `sysctl -a`. - -Логи системы: `dmesg`, `syslog`. - -## Systemctl - -* `systemctl list-units --all` -* `systemctl status ` -* `systemctl cat ` - просмотреть файл настроек сервиса -* `systemctl list-dependencies ` - ```shell - systemctl list-dependencies docker - - docker.service - ● ├─containerd.service - ● ├─docker.socket - ● ├─system.slice - ● ├─network-online.target - ● │ └─NetworkManager-wait-online.service - ● └─sysinit.target - ● ├─apparmor.service - <...> - ``` -* `journalctl -f` -* `journalctl -f -u docker` - -## Filesystems - -* `stat ` - -### File types - -* regular file (`ls -la` - `-`) -* directory (`ls -la` - `d`) -* hardlink (`ls -la` - `l`) - - 1 файл - 1 hardlink - 1 директрория - минимум 2 hardlink (у пустой директории - 2, +1 за каждую директорию внутри) - -* symlink (`ls -la` - `l`) -* pipe (`ls -la` - `p`) - - Перенаправление потоков, только однонаправленный - `mkfifo ` - -* socket (`ls -la` - `s`) - - Двунаправленный поток, производительнее, чем pipe. Используется для взаимодействия между процессами. - -### File access - -`chown`, `chmod`, `umask` - -Права по умолчанию: -* `file`: `666 - umask` -* `dir`: `777 - umask` - -Дополнительные права доступа: -* `sticky` - создание доступно всем, удаление только файлы пользователя -* `setuid` -* `setgid` - -`lsattr`/`chattr` - -### Raid - -`mdadm` - -### LVM - -`lvs`, `vgs`, `vgdisplay`, `pvdisplay` - -### Partitions - -`fdisk -l`/`fdisk`, `sfdisk` - -### Filesystems - -`mkfs`, `mount`, `/etc/fstab` - -## Network - -* `ping ` -* `whois ` -* `whois -h whois.radb.net ` -* `bgpq3 -J ` -* `traceroute -An ` -* `mtr -zn ` -* `dig +trace @8.8.8.8 ` -* `dig -x ` -* `telnet ` -* `ipcalc /` - -### SSH - -* `ssh-copy-id user@server` - добавление ssh-ключа на сервер для пользователя -* `ssh-keygen -F server` - проверка ssh-сертификатов сервера -* `ssh-keygen -R server` - удаление записи сервера из `known_hosts` - -### Web-servers - -* ssl config generation: https://ssl-config.mozilla.org/ - # Script languages ## Bash