# Задания ### 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