Вопрос с собеседования · 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 — право в него войти

Разбор темы

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования