Permisos en un sistema de ficheros

Los permisos de cada fichero son la protección más básica de estos objetos del sistema operativo; definen quién puede acceder a cada uno de ellos, y de qué forma puede hacerlo. Cada uno de los elementos de un sistema de ficheros Unix posee permisos de acceso de acuerdo a tres tipos de usuarios: Usuario, grupo y otros. El usuario es el dueño del fichero, el grupo es un identificador de un conjunto de usuarios al que pertenece el archivo y otros es el resto de los usuarios. Para cada uno de estos tres grupos de usuarios existen tres tipos de permisos fundamentales:
  1. r: read (lectura). El usuario que tenga este permiso podrá si es un directorio, listar los recursos almacenados en él, y si es cualquier otro tipo de fichero podrá leer su contenido.

  2. w: write (escritura). Todo usuario que posea este permiso para un fichero podrá modificarlo. Si se posee para un directorio se podrán crear y borrar ficheros en su interior.

  3. x: execute (ejecución). Este permiso para el caso de los ficheros permitirá ejecutarlos desde la línea de comandos y para los directorios, el usuario que lo posea tendrá acceso para realizar el resto de las funciones permitidas mediante los otros permisos (lectura y/o escritura).

Por lo tanto, un determinado archivo en el sistema de ficheros, tiene especificados sus tres permisos para cada uno de los tres tipos de usuarios que hemos citado. Así pues, los permisos especifican si el dueño del fichero tiene permiso de lectura, escritura y ejecución, así como también especifican los permisos para el grupo dueño del archivo. Todo usuario que pertenezca al grupo al que pertenece el archivo, tendrá los permisos dados a ese grupo por el archivo en cuestión. Si el usuario que pretende manipular el archivo no es su dueño ni pertenece a su grupo, le serán aplicados los permisos especificados en el archivo para otros usuarios.

Para determinar los permisos siempre se deben tener en cuenta los siguientes aspectos:

Los tres tipos de permisos mencionados poseen una representación numérica basada en el sistema octal que parte de representar como ``1'' los bits de los permisos otorgados y ``0'' para los negados. Luego se transforma la representación binaria así obtenida en octal. De esta forma se obtienen para cada tipo de permiso los siguientes valores:
    r-- = 100 (4 en octal)
    -w- = 010 (2 en octal)
    --x = 001 (1 en octal)

La combinación de los tres tipos de permisos para un tipo de usuario oscila desde cero (ningún permiso) hasta siete (todos los permisos).

Jesus Vergara Igual 2004-04-23