|
|
|
@ -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
|