¿Qué son los Permisos en Linux?

linux chmod permisos cambiar recursive rwx permission chownUno de los temas que mas escucha un administrador de Linux es: «son los permisos». Es algo casi cotidiano asignar, cambiar, quitar, poner o verificar los permisos de un archivo o directorio. En general hablar de linux permisos» es como halar de «aire respirar». Aquí te explico que son los Permisos Linux que se aplican a archivos y directorios con el comando linux chmod y te lo explico de forma simple.

Todoes un archivo en linux y todo archivo tiene asignados una serie de permisos para que algunos o todos los usuarios del sistema puedan usar ese archivo, también se pueden dar permisos para que usuarios externos al sistema puedan o no acceder o modificar un archivo.

De forma simple, los permisos linux que se pueden dar a un archivo son:

Lectura Escritura Ejecución / Acceso
r w x
read write execute / access
Permite leer el contenido de un archivo Permite crear un archivo, modificar el contenido de un archivo existente o borrar este archivo Permite Ejecutar un archivo o permite Acceder a un directorio

Estos tres permisos se pueden  otorgar a tres tipo de usuarios, que son:

Usuario Grupo Otros
u g o
user group other

Pero quienes son esos «tipos» de usuario, aquí te explico de forma general:

Usuario.-  Eres Tu, por ejemplo, cuando inicias tu sistema linux. Ingresas al iniciar sesión con el usuario que creaste, ese nombre de usuario se puede usar como el «propietario» de un archivo y corresponde a este tipo: «usuario».

Grupo.- es el grupo al que pertenece el archivo y cualquier usuario que pertenezca a ese grupo (incluido tal vez el usuario) tiene los permisos asignados sobre ese archivo.

Otros.- Se refiere a cualquier otro usuario que no corresponda al «usuario» ni al «Grupo», incluso aquellos que no son usuarios del sistema como por ejemplo un usuario anónimo que lee un archivo por medio de una página web (y que accede desde fuera, por internet) tiene que tener permisos para poder leer ese archivo, este usuario anónimo corresponde a este tipo: «otros»

Todos los archivos en Linux tiene permisos para el «usuario o propietario», para el «grupo» y para «otros». Y este conjunto de permisos otorgan privilegios sobre quién puede leer, modificar o ejecutar el archivo.

Sobre este último permiso me gustaría hacer una aclaración. En Linux un archivo ejecutable no se define por una extensión como en otros sistemas operativos, tu puedes tener un archivo que se llame «archivo.exe» o «programa.sh» y no será nada mas que una simple archivo de texto, mientas que «a» puede ser un archivo ejecutable. En realidad, lo hace que un archivo pueda ser ejecutable o no, es el permiso de ejecución.

¿Cómo puedo saber que permisos tiene un archivo?

Los permisos de un archivo pueden ser identificados fácilmente mediante una terminal o en el ambiente gráfico por medio del gestor de archivos, generalmente identificado en las diferentes distribuciones como «Carpeta Personal», aquí solo necesitas dar click derecho sobre un archivo y luego dar click en la opción «Propiedades» para abrir una ventana y en la sección «Permisos» podrás ver que permisos tiene un archivo en particular.

linux chmod permisos linux comandos en la interfaz gráfica

En la terminal puedes utilizar el comando linux ls para listar los archivos de un directorio y si agregas el parámetro -l te mostrará mas detalles del archivo, entre ellos el usuario, el grupo y los permisos que tiene ese archivo. Mira el siguiente ejemplo:

$ ls -l
total 4
-rw-r--r-- 1 usuario grupo    0 Jul 8 12:20 archivo de ejemplo.txt
-rw-r--r-- 1 usuario grupo    0 Jul 8 12:20 Archivo de Ejemplo.txt
drwxr-xr-x 2 usuario grupo 4096 Jul 8 12:20 directorio
-rwxr-xr-x 1 usuario grupo    0 Jul 8 12:20 ejecutable

En el listado anterior tenemos 4 archivos, de los cuales 1 es un directorio, uno es un ejecutable y 2 son archivos normales. No te preocupes, aquí te explico como puedes ver esto rápidamente y sobre todo, entender que significa eso de drwxr-xr-x que parece una maldición o algo que ni puede pronunciarse.

Veamos lo que significan estos caracteres y utilizaremos los permisos que te expliqué arriba. Para entender mejor los permisos, separemos esta serie de caracteres en los tipos de usuarios que te comente y luego pondré los permisos que tiene cada uno. Veamos el ejemplo del «directorio»

drwxr-xr-x 2 usuario grupo 4096 Jul 8 12:20 directorio

Este directorio (que sigue siento un archivo «especial»)  tiene estos permisos que separaremos así:

Directorio Usuario Grupo Otros
d rwx r-x r-x

Si comparamos esto con lo que mostré al principio de este post verás que el usuario tiene permisos de «r – read : Lectura», «w – write : Escritura» y «x – Access : Acceso», mientras que el grupo y otros solo tienen permisos de «r – Lectura» y «x – Acceso»

En general los permisos de un archivo se pueden leer así:

  +--------- u : Usuario  \
  |  +------ g : Grupo     |--- a : Todos
  |  |  +--- o : Otros    /
  |  |  |
 /|\/|\/|\
drwxrwxrwx 1 usuario grupo 0 Jul 8 12:20 Archivo de Ejemplo.txt 
|  
+------------ d : Es un Directorio
              - : Es un Archivo

¿Cómo Cambiar los permisos de un archivo?

Para asignar, modificar los permisos de un archivo se utiliza el comando linux chmod con el cual se modifican los permisos de un archivo para cada uno de los tipos de usuario. Para ver en detalle como se utiliza el comando linux chmod puedes ver el siguiente post:

Entender los permisos en Linux no es complicado se sabes entender su representación e interpretar como afectará un permiso dado a un archivo. Espero que este pos te haya sido de gran ayuda para entender esto de los permisos linux.

Tu Servidor y Amigo

Luis Armando Medina

Sígueme en Twitter: @larmedina
Sígueme en Facebook: dame un like LuisMedinaMLM

This entry was posted in Blog and tagged , , . Bookmark the permalink.

One Response to "¿Qué son los Permisos en Linux?"

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


*