Los atributos de un fichero que intervienen en el mecanismo de protección son:
Identificador del usuario propietario del fichero.
Identificador del grupo propietario del fichero.
Un total de 12 bits que expresan las operaciones del fichero que son permitidas en función del proceso que acceda a este fichero. La Tabla 4.5. Significado de los bits de permiso en Unix a continuación muestra el significado de cada uno de estos bits.
Tabla 4.5. Significado de los bits de permiso en Unix
Bit | Significado |
---|---|
11 | SETUID |
10 | SETGID |
9 | Sticky |
8 | Lectura para el propietario. |
7 | Escritura para el propietario. |
6 | Ejecución para el propietario |
5 | Lectura para el grupo. |
4 | Escritura para el grupo. |
3 | Ejecución para el grupo. |
2 | Lectura para el resto de usuarios. |
1 | Escritura para el resto de usuarios. |
0 | Ejecución para el resto de usuarios. |
El significado de los bits de lectura, escritura y ejecución es diferente en función del tipo de archivo que los defina. Para ficheros regulares, su significado es el esperable (permiten leer, modificar y ejecutar el fichero respectivamente). Evidentemente, el bit de ejecución sólo tiene sentido si el fichero es un ejecutable o contiene un shellscript.
En un directorio, el significado de estos tres bits es el siguiente:
Puede listarse el contenido del directorio.
Permite la creación, eliminación o renombrado de ficheros o directorios dentro del directorio al cual se aplica este bit.
Permite la utilización del directorio al cual se aplica este bit para formar parte de un nombre de ruta, es decir, puede utilizarse el directorio para nombrar un fichero.
De lo anteriormente expuesto, puede observarse que no existe un bit de permiso específico para el borrado de un fichero/directorio. Dicho permiso es controlado realmente desde el directorio donde reside el fichero que quiere eliminarse. En algunos sistemas Unix (como por ejemplo RedHat Linux), el bit sticky es utilizado para modificar la regla de eliminación de ficheros: si se activa en un directorio, un usuario puede borrar un fichero en él sólo si es el propietario de dicho fichero. Los bits SETUID y SETGID son tratados en apartados posteriores.
El ownerUID puede modificarse con el mandato chown. El ownerGID puede modificarse con el mandato chgrp. Los bits de permiso pueden modificarse con el mandato chmod. Todos estos mandatos se describen en “Sintaxis y funcionamiento de los mandatos Unix relacionados”. .