Lección 2: Permisos de archivos y el modelo de seguridad de Linux
Cada archivo en Linux está protegido por un sistema de permisos que define quién puede leerlo, escribirlo y ejecutarlo. En NVIDIA, entender los permisos es crítico — una aplicación CUDA fallará en silencio si el usuario del proceso no pertenece al grupo video que otorga acceso a /dev/nvidia0. Esta l
Los permisos de Linux son como llaves de las habitaciones de un edificio: cada habitación (archivo) tiene tres cerraduras — una para el dueño, una para el grupo, y una para todos los demás. chmod decide qué llave entregar.
- Bits de permisos
- Tres bits (r, w, x) para cada uno de tres actores: dueño, grupo y otros. Juntos definen quién puede hacer qué con un archivo.
- UID (identificador de usuario)
- Un número entero único que el kernel usa para identificar a un usuario. root siempre es UID 0. Todo proceso corre con el UID del usuario que lo inició.
- GID (identificador de grupo)
- Un número entero que representa un grupo de usuarios. Un usuario puede pertenecer a varios grupos. El grupo video otorga acceso a /dev/nvidia*.
- Bit setuid
- Un bit especial que hace que un proceso corra con el UID del dueño del archivo en lugar del UID del usuario que lo invocó. sudo usa esto para otorgar privilegios de root temporales.
- Nodo de dispositivo (device node)
- Un archivo en /dev que representa un dispositivo de hardware. /dev/nvidia0 es el device node de la primera GPU. Se lee y se escribe como un archivo regular, pero las operaciones se reenvían al driver.