Added tasks for file permission lesson.

pull/1/head
Vladimir Protsenko 2 years ago
parent 8c9b3d4114
commit 2faf760783

@ -0,0 +1,48 @@
# Задания
### 1.
Создайте папку projects в корне системы с правами rwx для владельца, группы и других пользователей. Установите на неё stickybit.
### 2.
Работая от пользователя stud в папке projects создайте папку с вашим проектом. Проверьте, что владелец может записать файл в неё. Проверьте, что mike или vera могут прочитать содержимое, но не могу записать в неё.
### 3.
В projects создайте ещё одну папку с проектом project2. Дайте к ней доступ на чтение только пользователям из группы best_project_team. Создайте группу best_project_team в которую входит mike и stud. Перезайдите в аккаунт, чтоб применить изменения членства в группе. Проверьте, что доступа к папке у пользователя vera нет.
### 4.
Создайте третью и четвёртую папки от пользователя mike и vera в /projects и сделайте их полностью приватными. Добавьте в каждую директорию по одному файлу. Проверьте может ли mike или vera посмотреть содержимое чужого приватного проекта.
### 5.
Проверьте может ли они mike удалить папку с чужим проектом? Может ли он удалить свою папку?. Уберите stickybit у папки /projects. А теперь может ли mike удалить папку, созданную vera или stud? Влияет ли на возможность удаления наличие в папке файлов?
### 6.
От root cоздайте ещё одну общую директорию shared в /home/. Создайте группу shared_files c большим значением идентификатора, например 70000, в которую входят mike, vera и stud. Поменяйте владельца /home/shared на nobody, а владельца-группу на shared_files. Установите полные права доступа для владельца и группы владельца. Все остальным запретите доступ к папке. Также установите бит SGID.
Создайте несколько файлов под разными аккаунтами в этой папке и проверьте, что они имеют владельца-группу shared_files.
### 7.
Узнайте значение umask одноимённой командой. Создайте папку и файл c именем test_$(umask). Выведите атрибуты файла. Измените umask одноимённой командой на `0002`. Повторите создание папки и файла и сравните атрибуты файлов, созданных с разными масками.
### 8.
Под root скопируйте bash `cp /bin/bash /bin/my_unsecure_bash` и установите атрибуты файла в значение 4755. Значение 4 соответствует биту SUID. Посмотрите на результат командой stat. Создайте файл-скрипт gen_file_root.sh в папке /tmp от пользователя mike со следующим содержимым:
```
#!/bin/my_unsecure_bash -p
touch /tmp/root_$RANDOM
```
Сделайте его исполняемым для всех. Вызовите скрипт от пользователя stud. Обратите внимание на владельца созданного файла /tmp/root_*. Как на него повлиял SUID?
### 9.
В каталоге /projects cоздайте файл test в папках 1, 2, 3. Поменяйте для папок атрибуты доступа для категории other: r--, r-x, --x соответственно. Зайдите под другого пользователя, который входит в категорию other и попробуйте найти файл с помощью find, начиная с каталога /projects. Попробуйте найти слов в содержимом файлов. Как влияют атрибуты на возможность поиска?
# Справка
Конфигурационные файлы:
- /etc/login.defs
Команды:
- stat
- ls -l
- chmod
- chown
- umask
Loading…
Cancel
Save