Explicación de los permisos en Linux/UNIX

¿Cuantos tipos de permisos hay?

Un archivo o directorio puede tener básicamente hasta 3 tipos de permisos y que se pueden combinar, que son:

  1. Lectura (indicado por la letra r) En un archivo indica que se puede leer en el. En un directorio indica que se pueden listar sus entradas.
  2. Escritura (indicado por la letra w): En un archivo indica que se puede escribir en el. En un directorio indica que se pueden añadir o borrar entradas en el directorio, es decir, que se pueden crear o borrar archivos o directorios dentro de ese directorio.El permiso del directorio no afecta al de los archivos que contenga. Podríamos tener todos los archivos sin permiso de escritura, pero el directorio con dicho permiso activado, con lo que se podrán borrar los archivos en el directorio sin mayor problema, aunque no se puedan modificar los mismos.
  3. Ejecución (indicado por la letra x): En un archivo indica que este se puede ejecutar (normalmente es un programa o script). En un directorio tiene un significado diferente, indica que se puede acceder a el para efectuar operaciones en los archivos/directorios que contenga.

En Linux hay dos formas de representar los permisos

Aunque en Linux se usan letras representativas como son: r, w y x, para indicar los permisos (anotación simbólica) también se usa los llamados permisos numérico, expresado en base octal.

En la representacion octal, a cada permiso se le asigna un "peso" especifico:

4 al de lectura
2 al de escritura
1 al de ejecución
Los permisos se combinan

Estos permisos se pueden combinar. La combinacion no es mas que la suma de ellos, que no deber ser inferior a 0 ni superior a 7 (ya que el sistema de numeracion octal comienza en 0 y termina en 7, en lugar de tener el rango 0-10 como el sistema decimal tradicional).

Ejemplos:

0 <- No hay ningún permiso presente.
4 <- Están presente solo el permiso de lectura.
6 <- Están presentes los permisos de lectura y escritura (4 + 2).
7 <- Los tres permisos están presentes (4 + 2 + 1).

Por otro lado, los usuarios pertenecen siempre a un grupo determinado, y los archivos/directorios siempre tienen un propietario y un grupo principal asignados.

UID: Es el propietario del archivo.
GID: Es el grupo principal asignado al archivo.

Los UID/GID pueden ser simbólicos (nombres de usuario/grupo) o bien numéricos. Ambas formas son equivalentes.

Cada archivo o directorio tiene asignados 3 conjuntos de permisos. Cada conjunto puede ser una combinación de uno o mas de ellos. El primer conjunto lo forma las combinaciones de permisos asignadas al propietario, el segundo, las combinaciones de permisos asignadas al usuario que pertenezca al mismo grupo que el archivo (y que no sea su propietario, lógicamente), y el tercero, aquellas combinaciones que se asignan a los usuarios que no sean ni una cosa ni la otra (el "resto de usuarios").

Por lo tanto, para cada archivo/directorio tendremos 3 dígitos que representan sus permisos. A este grupo de permisos se le suele denominar mascara.

Los dígitos se colocan en el mismo orden en el que he citado los conjuntos anteriores:
Primer dígito: Permisos para el propietario.
Segundo dígito: Permisos para el grupo.
Tercer dígito: Permisos para el "resto".

Ejemplos 1
: Si un archivo tiene la mascara 644, significa que:
  • En numero 6 indica que el propietario tiene permiso de lectura y escritura (4 + 2).
  • En numero 4 indica que el todo usuario (que no sea el propietario) que pertenezca al mismo grupo que el archivo, tendrían permiso de lectura.
  • El numero 4 (tercer) indica que los usuarios restantes solo tendrán permiso de lectura.
Ejemplos 2: Si un directorio tiene la mascara 755, significa que:
  • El propietario tiene los 3 permisos asignados. Esto es, puede listar el directorio (4), modificarlo, crear y borrar archivos en el (2) y acceder a el (1). Si sumas los 3 permisos, obtendremos justamente 7, que es el primer dígito de la mascara.
  • Todo usuario (que no sea el propietario) que pertenezca al mismo grupo que el directorio podrá listar su contenido (4) y acceder a el (1).
Nótese que en este caso las operaciones que podrán realizar sobre el directorio se limitan a la lectura del mismo, pues no tiene permiso de escritura.

Es importante destacar que sin el permiso de ejecución el directorio queda inaccesible. Por eso, siempre suele estar presente este permiso.

Resumen


Comentarios

Entradas populares de este blog

Comando para borrar el contenido de las carpetas.

Cómo Escanear En Linux Debian

¿No te arranca Linux? Experiencia