# Admin 9 класс - Общее хранилище деревни

## Описание

В деревне (системе) есть **общее хранилище** - директория `/opt/village_storage` с установленным **sticky bit** (режим 1777). В ней лежит файл-«замок» `blocker`, владельцем которого является житель **alex**. Ты заходишь как **steve**: можешь создавать и менять свои файлы в хранилище, но **не можешь удалить** чужой замок - в каталоге со sticky bit удалять файл может только его владелец или root. Нужно войти под **alex**, удалить замок и запустить программу `get_flag`: она проверит, что замка нет, и выведет флаг из сокровищницы (`/root/flag`).

## Что дано

- SSH под пользователем **steve**.
- Директория `/opt/village_storage` со sticky bit: все могут писать, удалять можно только свои файлы.
- Файл `/opt/village_storage/blocker` принадлежит пользователю **alex**.
- Учётные данные для alex - такие же, подсказка есть в файлах в общем хранилище (`notes.txt`).
- Бинарник `/opt/village_storage/get_flag`: setuid root; проверяет отсутствие `blocker`, затем читает и выводит `/root/flag`.

## Решение

1. Подключиться по SSH как **steve**:
   ```bash
   ssh steve@<host>
   ```

2. Убедиться, что удалить замок под steve нельзя (sticky bit):
   ```bash
   ls -la /opt/village_storage
   rm /opt/village_storage/blocker   # Permission denied
   ```

3. Переключиться на **alex** и удалить замок:
   ```bash
   su - alex
   # пароль - тот же
   rm /opt/village_storage/blocker
   ```

4. Запустить бинарник (проверяет отсутствие замка и выводит флаг):
   ```bash
   /opt/village_storage/get_flag
   ```

5. Флаг будет в выводе программы.

## Итог

- **Sticky bit** в каталоге: удалять файл может только его владелец или root.
- Нужно войти под владельцем файла (**alex**), удалить `blocker`, затем выполнить setuid-бинарник `get_flag`.

## Флаг

`vsosh{st1cky_0wn3r_d3l3t3}`
