Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions Homework_Prosvirnin_Denis/2-User manage/task1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Управление пользователями

#### 1. Добавьте пользователей user1 и user2:
1.1) user1 - оболочка bash
1.2) user2 - оболочка sh
1.3) установите им пароли

Добавляю пользователя с оболочкой bash и устанавливаю пароль:

<img width="401" height="42" alt="Снимок экрана 2025-11-24 в 12 51 20" src="https://github.com/user-attachments/assets/7662e966-3362-4ba5-b7a7-29eef008e68c" />

Добавляю пользователя с оболочкой sh и устанавливаю пароль:

<img width="418" height="40" alt="Снимок экрана 2025-11-24 в 12 50 55" src="https://github.com/user-attachments/assets/2e514de4-0462-4a2c-a0a0-94d70fbf1628" />

#### 2. Назначьте пользователю 1 группу администраторов, пользователя 2 добавьте в группу пользователя 1

Добавляю (`append group`) user1 в группу `wheel` (администратора) и добавляю user2 в группу user1:

<img width="340" height="131" alt="Снимок экрана 2025-11-24 в 12 59 27" src="https://github.com/user-attachments/assets/0d248814-83ea-4e4c-adb5-56da9a75dbf9" />

#### 3. Что такое права доступа? Выведите права доступа на файлы в директории пользователя

Права доступа в Linux - это система разрешений, которая определяет, какие операции могут выполнять разные пользователи с файлами и директориями.

Права разделены на три категории:

Права для владельца (user) - пользователь, который создал файл
Права для группы (group) - пользователи, входящие в одну группу с владельцем
Права для остальных (others) - все остальные пользователи системы

Типы прав:

r (read) - право чтения файла или просмотра содержимого директории
w (write) - право записи в файл или создания/удаления файлов в директории
x (execute) - право выполнения файла как программы или доступа к директории

<img width="475" height="652" alt="Снимок экрана 2025-11-24 в 13 15 46" src="https://github.com/user-attachments/assets/3045d228-b18b-42c8-b377-b4dfd7a983b2" />

#### 4. Как изменить права на файлы? Создайте файл который будет на который у всез пользователей будут все возможные права

Чтобы изменить права доступа к файлам используется команда chmod (change mode). Каждая категория представляется числом от 0 до 7. r (read) = 4, w (write) = 2, x (execute) = 1. Командой, при помощи записи "777" (4+2+1, 4+2+1, 4+2+1) устанавливаем для всех пользователей все права.

<img width="565" height="195" alt="Снимок экрана 2025-11-24 в 13 31 45" src="https://github.com/user-attachments/assets/43b2cb28-9ee3-4a24-a3bd-81cd889f7fa7" />

#### 5. Как называется учётная запись встренного администратора в linux?

Основная встроенная учетная запись суперпользователя - **root**.

#### 6. Как выполнить команду от имени администратора?

1. `sudo /команда/`
Выполнить команду от имени администратора.
2. `su -`
Переключиться на `root` и далее все команды будут происходить под суперпользователем.

#### 7. Есть ли ограничения у суперпользователя?

Нет, суперпользователь может делать в системе всё, что система в принципе способна делать.

#### 8. Удалите пользователя 2 с помощью пользователя 1.

Для удаления пользователей обычно требуются права администратора. Но поскольку user1 был добавлен в группу wheel (администраторов), он может использовать команду sudo для выполнения привилегированных операций.

<img width="332" height="131" alt="Снимок экрана 2025-11-24 в 13 56 25" src="https://github.com/user-attachments/assets/8137f523-ddce-4eee-840b-d3553c6af042" />

#### 9. Как можно изменить владельца папки? измените владельца папки из пункта 4

<img width="542" height="26" alt="Снимок экрана 2025-11-24 в 14 08 33" src="https://github.com/user-attachments/assets/ccc5f576-39fe-40f4-994a-4f71fd2c4b12" />
19 changes: 19 additions & 0 deletions Homework_Prosvirnin_Denis/2-User manage/task2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
### Запрещаем

1. Запретите пользователю user1 из предыдщуего задания выполнять вход в систему

Есть несколько способов заблокировать пользователя. Я воспользуюсь изменением оболчки пользователя на специальную, которая запрещает вход.

<img width="454" height="69" alt="Снимок экрана 2025-11-25 в 10 32 19" src="https://github.com/user-attachments/assets/64883e0b-2ee1-420c-af9c-f8972c2b664c" />

2. Как вы это сделали?

Изменил оболочку пользователя с /bin/bash на /sbin/nologin, которая запрещает интерактивный вход в систему. При последующей попытке входа в консоль будет выводиться сообщение: `"this account is currently not available."`

3. Какие ещё способы это сделать вы знаете?

Можно заблокать учетную запись с помощью `usermod -L user1`, изменить срок действия пароля с помощью `usermod -e 1 user1` и иожно удалить пользователя из всех групп `usermod -G "" user1`.

4. Можно ли создать пользователей с одинаковыми username?

Нет, имена пользователей должны быть уникальными.
119 changes: 119 additions & 0 deletions Homework_Prosvirnin_Denis/3-File systems/task1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
### ФС

#### 1) Какие файловые системы вы знаете?
Для Linux: ext4 (основная для дисков), XFS (для больших файлов), ZFS.

Для Windows: NTFS, FAT32.

NFS - для Unix-систем.

#### 2) Как можно классифиировать файловые системы? в чём отличия??

**По механизму обеспечения надежности:**

**Журналируемые.** Отличается повышенной надежностью, эта ФС гарантирует сохранность ваших данных. Все действия пользователя и системы записываются в специальный журнал, что не только позволяет отслеживать историю изменений и диагностировать неполадки, но и обеспечивает целостность данных даже в случае внезапного сбоя.

**Не журналируемые.** Нет записи историй действий, нет гарантий сохранности информации.

**По структуре метаданных:**

**Табличные.** Простая и универсальная структура, где вся информация хранится в линейных таблицах. Не поддерживает сложные метаданные или разграничение прав доступа, но обеспечивает максимальную совместимость между различными операционными системами.

**Древовидные.** Современная и высокопроизводительная организация данных, использующая сбалансированные деревья для хранения информации. Обеспечивает быстрый поиск файлов и эффективность при работе с большими директориями.

**На основе inode (индексных дескрипторов).** Отличается структурой, где каждому файлу присваивается уникальный идентификатор. Все данные организованы в строгой иерархии, что гарантирует стабильную производительность и предсказуемое поведение даже при высоких нагрузках.

**По назначению:**

**Локальные** - для локального хранения данных на жёстких дисках.

**Сетевые** - для удаленного доступа к файлам.

**Виртуальные** - представляют данные о системе в виде файлов.

#### 3) Какие файловые системы используются в linux?

**Основные дисковые файловые системы:**

**ext4 (Fourth Extended File System)** - стандартная и наиболее распространенная файловая система в Linux. Поддерживает журналирование, файлы до 16 ТБ и разделы до 1 Эксабайта.

**XFS** - высокопроизводительная файловая система, особенно эффективная для работы с большими файлами. Широко используется в серверных окружениях.

**Btrfs (B-Tree File System)** - современная файловая система с поддержкой снапшотов, сжатия данных и проверкой целостности "на лету".

**ZFS** - продвинутая файловая система с функциями управления томами, поддержкой снапшотов и высокой отказоустойчивостью.

**Специализированные файловые системы:**

**F2FS (Flash-Friendly File System)** - оптимизирована для SSD-накопителей и флеш-памяти.

**swap** - используется для области подкачки (виртуальной памяти).

**Виртуальные файловые системы:**

**procfs (/proc)** - предоставляет информацию о процессах и системе в виде файлов.

**sysfs (/sys)** - отображает информацию об устройствах и драйверах ядра.

**tmpfs** - файловая система в оперативной памяти для временных файлов.

**devtmpfs (/dev)** - предоставляет интерфейс для работы с устройствами.

**Сетевые файловые системы:**

**NFS (Network File System)** - для доступа к файлам по сети в Unix-системах.

**CIFS/SMB** - для совместного использования файлов с Windows-системами.

#### 4) Как можно создать файловую систему на диске?

`fdisk` / `gdisk` - утилиты для создания и управления разделами диска

`mkfs` - основная команда для создания файловых систем

`mke2fs` - специализированная утилита для создания ext2/ext3/ext4

`fsck` - проверка и восстановление файловых систем

<img width="611" height="248" alt="Снимок экрана 2025-11-25 в 12 33 57" src="https://github.com/user-attachments/assets/5917bdb5-bf1a-4294-b43f-85c48a723e28" />

#### 5) Как можно подключить диск в систему, что такое монтирование?

Монтирование - это процесс подключения файловой системы (диска, раздела, сетового ресурса) к определённой точке в дереве каталогов Linux, чтобы получить доступ к данным.

<img width="646" height="130" alt="Снимок экрана 2025-11-25 в 12 44 19" src="https://github.com/user-attachments/assets/0acfdfc3-1e94-4b96-877e-728064770cd3" />

#### 6) файловая система procfs, cifs, tpmfs,sysfs. В чём особенности каждой из них? Вывести каталоги к которым примонтированы эти файловые системыю

`procfs` (/proc) - виртуальная файловая система, предоставляющая информацию о процессах и системе в реальном времени.

`tmpfs` - файловая система в оперативной памяти для временных файлов.

`sysfs` (/sys) - предоставляет информацию об устройствах, драйверах и компонентах ядра.

`cifs` - сетевая файловая система для доступа к общим ресурсам Windows.

<img width="834" height="387" alt="Снимок экрана 2025-11-25 в 12 54 53" src="https://github.com/user-attachments/assets/756c049c-0590-457b-b3b6-52546b887e8c" />

(Команда `mount | grep cifs` ничего не вернула т.к. сетевые папки не смонтированы.)

#### 7) Как можно получить информацию о системе используя лишь команду cat? вывести ифонмацию о процессоре и состоянии памяти системы

В Linux много системной информации доступна через виртуальные файлы в директориях `/proc` и `/sys`. Команда `cat` позволяет читать эти файлы и получать информацию о системе.

`cat` /proc/cpuinfo - детальная информация о процессоре - модель, количество ядер, частота, кэш, поддерживаемые инструкции.

`cat` /proc/loadavg - средняя загрузка системы за 1, 5 и 15 минут, количество запущенных процессов.

`cat` /proc/meminfo - Детальная информация об использовании оперативной памяти и swap - общий объем, свободно, кэшировано, буферы.

`cat` /proc/version - версия ядра Linux, компилятора и информация о дистрибутиве.

`cat` /proc/uptime - время работы системы в секундах (первое число) и суммарное время простоя процессоров (второе число).

<img width="841" height="889" alt="Снимок экрана 2025-11-25 в 13 01 54" src="https://github.com/user-attachments/assets/d63713be-5d59-45a2-8658-36f6c62fb8eb" />

<img width="837" height="898" alt="Снимок экрана 2025-11-25 в 13 02 48" src="https://github.com/user-attachments/assets/2866e7d3-6bc5-471e-b08c-654a026e29b7" />

<img width="834" height="126" alt="Снимок экрана 2025-11-25 в 13 03 18" src="https://github.com/user-attachments/assets/ce931c1a-ea8c-4946-bef6-27342048f524" />

40 changes: 40 additions & 0 deletions Homework_Prosvirnin_Denis/3-File systems/task2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
### Струтура каталогов

#### 1) Какая структура каталогов в linux? выведите список файлов в корне системы
В Linux используется стандартная иерархия файловой системы (FHS - Filesystem Hierarchy Standard). Корневая директория `/` содержит основные системные каталоги.

<img width="510" height="487" alt="Снимок экрана 2025-11-25 в 20 34 52" src="https://github.com/user-attachments/assets/068acbf7-494d-45d7-ad59-9fb499eb7a3b" />

#### 2) Где хранятся папки пользователей в системе?

Папки пользователей хранятся в каталоге `/home/`.

<img width="451" height="123" alt="Снимок экрана 2025-11-25 в 20 37 34" src="https://github.com/user-attachments/assets/844cd1fa-5830-4870-9bfa-bb8ebd7f705c" />

#### 3) Где домашняя папка суперпользователя?

Домашняя папка суперпользователя находится в `/root/`.

<img width="498" height="486" alt="Снимок экрана 2025-11-25 в 20 39 16" src="https://github.com/user-attachments/assets/9a2b35ba-fe96-4dc1-b7c8-55313567c09e" />

#### 4) Где хранятся основые конфигурационные файлы в системе?

Основные конфигурационные файлы системы хранятся в каталоге `/etc/`.

<img width="835" height="867" alt="Снимок экрана 2025-11-25 в 20 41 21" src="https://github.com/user-attachments/assets/57735b70-04d8-490c-b082-52923f520f58" />

#### 5) ЧТо за папки /bin,/sbin,usr/sbin,/usr/sbin

**/bin** (binary) - основные исполняемые файлы, необходимые для работы системы в однопользовательском режиме. Содержит критически важные команды, такие как `ls`, `cp`, `mv`, `cat`, `bash`.

**/sbin** (system binary) - системные исполняемые файлы, предназначенные для административных задач. Содержит команды для управления системой: `fdisk`, `fsck`, `ifconfig`, `reboot`. Требуют прав суперпользователя.

**/usr/bin** (user binary) - основные исполняемые файлы для обычных пользователей. Содержит большинство пользовательских команд и приложений: `gcc`, `python`, `vim`, `ssh`.

**/usr/sbin** (user system binary) - системные исполняемые файлы для административных задач, не являющиеся критически важными для загрузки системы. Содержит дополнительные системные утилиты.

**Основные различия:**
- `/bin` и `/sbin` - необходимы для минимальной работы системы
- `/usr/bin` и `/usr/sbin` - содержат дополнительные программы
- Команды в `/sbin` и `/usr/sbin` обычно требуют прав root
- Команды в `/bin` и `/usr/bin` доступны всем пользователям
Loading