You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
4.9 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Задания
### 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 создайте ещё одну общую директорию 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? Установите SUID на gen_file_root.sh, сгенерируйте новый файл. Есть ли изменения в поле владельца?
### 9.
В каталоге /projects создайте файл test в папках 1, 2, 3. Поменяйте для папок атрибуты доступа для категории other: r--, r-x, --x соответственно. Зайдите под другого пользователя, который входит в категорию other и попробуйте найти файл с помощью find, начиная с каталога /projects. Попробуйте найти слово в содержимом файлов. Как влияют атрибуты на возможность поиска?
# Справка
Конфигурационные файлы:
- /etc/login.defs
Команды:
- stat
- ls -l
- chmod
- chown
- umask