First Hometask. DevOps Start - course

Домашнее задание студента курса “Старт в DevOps: системное администрирование для начинающих”


Linux: первые шаги

Домашнее задание №1 - Создание иерархии файлов про книги и фильмы

Что нужно сделать

  1. Создайте в своей домашней директории папки Movies и Books.

  2. Создайте пять файлов в директории Movies с названиями любимых фильмов (если название состоит из нескольких слов, разделяйте их символом нижнего подчеркивания “_”, а не пробелом).

  3. Создайте три файла в директории Books с названиями любимых книг.

  4. Создайте в директории Books ещё одну директорию. Назовите директорию также, как называется серия книг. Создайте в директории файлы с такими же названиями, как названия книг в этой серии

Не будем останавливаться на этом задании, потому что с ним легко можно справиться используя команды mkdir и touch.

Ответ:

Imgur

Домашнее задание №2 - Работа с правами на файлы и папки

Что нужно сделать

  1. Создайте папку, в которой только ваш пользователь сможет создавать и удалять файлы, а остальные пользователи — только просматривать список файлов.

  2. Создайте темный каталог. Покажите, что получить список файлов нельзя, но можно получить доступ к файлу, зная его имя. Сделайте скриншот того, что получилось.

  3. Создайте папку, доступ на запись в которую есть только у суперпользователя, а доступ на чтение — у всех. Попробуйте создать в ней файл. Теперь попробуйте создать файл с правами суперпользователя (использовав команду sudo). Сделайте скриншот того, что получилось.

  4. Создайте файл, отредактировать который сможет только суперпользователь, а прочитать — любой.

  5. Создайте файл, полный доступ к которому имеет любой пользователь в системе. Сделайте скриншот того, что получилось.

Ответ:

Imgur

Распишем подробно каждое действие:

Задача №1

создаём папку

mkdir first_catalog

наделяем полными правами пользователя и предоставляем права “чтение” для остальных

chmod u+rwx,o=r first_catalog

проверяем статус директории

ls -la first_catalog

Задача №2

Создаём каталог

mkdir black_hole

Меняем его права так, что никто не имеет доступа к “чтению”, но имеет к “исполнению”

chmod a-r+x black_hole

Проверяем что мы не имеем разрешения на ознакомление с файлами

ls black_hole

Вывод после выполнения этой команды:

ls: cannot open directory 'black_hole': Permission denied

Создаём файл “иголка” в нашем тёмном каталоге

touch black_hole/needle

Проверяем доступ к файлу, зная его имя

ls black_hole/needle

Вывод после выполнения этой команды:

black_hole/needle

Задача №3

Cоздаём супер-директорию обычной командой

mkdir super_puper

Меняем права директории так, чтобы никто не имел права на “запись” и “выполнение”, но добавляем остальным пользователям право “чтения”. Так как мы не можем ограничить пользователя root, то команда применится ко всем сущностям, кроме него.

chmod a-wx,o=r super_puper

Пытаемся создать файл обычным способом внутри супер-директории

touch super_puper/super_1

Получаем вывод об отсутствии доступа:

touch: cannot touch 'super_puper/super_1': Permission denied

Создаём тот же самый файл с привилегией супер-пользователя

sudo touch super_puper/super_1

Он запрашивает пароль:

[sudo] password for parallels:

После успешного ввода пароля запрашиваем список файлов внутри супер-директории

ls super_puper

Получаем в конце списка созданный нами файл. Первый вывод в списке касается самой папки super_puper, информация о которой для нас не доступна:

ls: cannot access 'super_puper/super_1': Permission denied super_1

Задача №4

Создаём файл в домашней директории

touch root_file

Убираем у всех права на “запись” и “выполнение”, оставляем на “чтение”

chmod a-wx,o=r root_file

Проверяем статус преобразованного файла

ls -l root_file

Задача №5

Создаём файл в домашней директории

touch anybody_file

Наделяем всех правами “чтения”, “записи”, “выполнения”

chmod a+rwx anybody_file

Проверяем статус преобразованного файла

ls -l anybody_file



/dev/log Written by ~ Sergey on 27 January 2022