Урок 2: Права доступа к файлам и модель безопасности Linux
Каждый файл в Linux защищён системой прав доступа, которая определяет, кто может его читать, записывать и выполнять. В NVIDIA понимание прав доступа критично — приложение CUDA завершится тихо с ошибкой, если пользователь процесса не входит в группу video, которая даёт доступ к /dev/nvidia0. Этот уро
Права доступа Linux похожи на ключи от комнат в здании: у каждой комнаты (файла) три замка — один для владельца, один для группы и один для всех остальных. chmod решает, какой ключ кому выдать.
- Биты прав доступа (permission bits)
- Три бита (r, w, x) для каждого из трёх субъектов: владелец, группа, остальные. Вместе они определяют, кто и что может делать с файлом.
- UID (идентификатор пользователя)
- Уникальное целое число, которое ядро использует для идентификации пользователя. root всегда имеет UID 0. Каждый процесс работает с UID пользователя, который его запустил.
- GID (идентификатор группы)
- Целое число, представляющее группу пользователей. Пользователь может входить в несколько групп. Группа video даёт доступ к /dev/nvidia*.
- бит setuid
- Специальный бит, который заставляет процесс работать с UID владельца файла вместо UID вызвавшего пользователя. sudo использует это, чтобы временно предоставить привилегии root.
- Узел устройства (device node)
- Файл в /dev, представляющий аппаратное устройство. /dev/nvidia0 — это узел устройства первого GPU. Вы читаете и пишете в него как в обычный файл, но операции перенаправляются драйверу.