Вопрос с собеседования · DevOps
Как устроены права доступа к файлам в Linux?
JuniorLinux и диагностика
Ещё спрашивают так:
- Что означает chmod 755?
- Что такое setuid?
Коротко
У файла есть владелец, группа и три набора прав — для владельца, группы и остальных: чтение (r = 4), запись (w = 2), выполнение (x = 1). chmod 755 — владелец rwx (7), группа и остальные r-x (5). Для каталога x — право войти в него, r — увидеть список файлов.
- chown меняет владельца, chgrp — группу
- Удалить файл позволяет право записи в каталог, а не в сам файл
- setuid на исполняемом файле — запуск с правами владельца (passwd); опасен
А ещё Секреты и ключи — 600 (только владелец), ssh ругается на более открытые права
Подробно
**Чтение вывода ls -l:**
-rwxr-x--- 1 app devs 2048 ... deploy.sh
│ │ │
│ │ └─ остальные: нет прав
│ └──── группа devs: чтение и выполнение
└─────── владелец app: чтение, запись, выполнение
Особые биты:
- setuid — программа выполняется с правами владельца файла;
- setgid на каталоге — новые файлы наследуют группу каталога;
- sticky bit на каталоге (/tmp) — удалить файл может только его владелец.
Практика:
- сервисы запускают от отдельного пользователя без прав root;
- ключи и файлы с секретами — 600 или 400;
umaskзадаёт права по умолчанию для новых файлов;chmod -R 777«чтобы заработало» — дыра в безопасности, а не решение.
Что хотят услышать
- Три субъекта и три права, числовая запись.
- Смысл прав для каталогов.
- Особые биты и принцип минимальных прав.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗Удалить файл позволяет право записи в сам файл
- ✗r = 1, w = 2, x = 4
- ✓chmod 755 — владелец rwx, группа и остальные r-x; для каталога x — право войти
- ✗chmod 755 — владелец rwx, группа и остальные r-x; для каталога r — право в него войти
Разбор темы
- Командная строка — файлы, поиск, окружение и SSH
Навигация и работа с файлами, grep и пайпы, права доступа, переменные окружения и PATH, вход по SSH-ключам.
Связанные вопросы
Партнёр платформы
Разбор собеседования
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.