Una de las formas más prácticas como podemos proteger nuestros archivos y carpetas en entornos Linux es estableciendo de manera adecuada los permisos para que aquellas personas que acceden al sistema puedan o no editar estos archivos. Todos estos valores los podemos establecer de forma sencilla y definiendo que alcance puede tener un usuario en una carpeta o archivo Linux, puede ser lectura o escritura, y así mantener la integridad de nuestros archivos. Los permisos Linux son importantes para poder proteger archivos y carpetas Linux en los diferentes usuarios. Podemos gestionar los permisos Linux con chmod y con chmod permisos usando los atributos que incorpora. Uno de la sintaxis más usada es la de Chmod 777 o Chmod 755 como uno de los comandos principales para dar permisos a usuarios concretos como usuario root Linux.
Los permisos con CHMOD Linux son los que nos dan acceso a archivos y carpetas. CHMOD es el encargado de gestión de permisos. Muchos se usan en los servidores web en muchos casos debido a que es una de las funciones más útiles y efectivas a la hora de realizar y gestionar permisos en todos los ficheros y carpetas del servidor o equipo Linux.
Permisos en Linux
En todos los sistemas Unix existe un mecanismo que nos permite, como administradores, definir los tipos de acceso que se tendrá a un archivo o carpeta particular.
Dentro de este mecanismo de control de los entornos Unix existen dos tipos de variables que debemos conocer y entender su función:
- Clases: Estas determinan que usuarios pueden acceder al archivo o carpeta
- Permisos: Estos determinan la tarea que pueden ejecutar los usuarios autorizados en dichos archivos
Dentro de este esquema se identifican 3 tipos de clases:
- Propietario: Es la persona que ha creado el archivo o la carpeta
- Grupo: Dentro de este parámetro definiremos el grupo de usuarios que tendrán acceso al archivo o carpeta
- Otros: Dentro de este parámetro están incluidos los usuarios particulares
Ahora contamos con tres tipos de permisos de edición de nuestros archivos o carpetas:
- Lectura: Esta opción permite que el usuario vea el archivo pero no le da la potestad de realizar cambios en el mismo lo cual nos da un alto nivel de seguridad ya que no podrán editarlo, copiarlo o borrarlo.
- Escritura: Al otorgar este permiso permitimos que los usuarios que acceden al archivo o carpeta puedan realizar sobre el mismo cualquier tipo de edición, copiar, cortar, borrar… lo cual pone en riesgo la integridad del mismo.
- Ejecutar: Al activar esta opción, la cual viene por defecto deshabilitada, podemos ejecutar archivos.
Comprendiendo esto podemos establecer combinaciones entre los permisos y las clases para determinar el mejor nivel de seguridad para nuestros archivos.
Permisos en Linux y códigos de error
Ahora llega uno de los puntos que como administradores o personal involucrado en el área de IT debemos conocer y es la identificación de los errores que surgen al momento en que un usuario intenta tomar alguna acción en un archivo, por ejemplo el famoso 777.
En los entornos Unix básicamente cada permiso tiene el siguiente valor:
- Lectura: 4
- Escritura: 2
- Ejecución: 1
Debemos aprender a jugar con estos números de la siguiente manera, esto con el fin de hacer nuestra experiencia de Linux la mejor. Si deseamos establecer un permiso de escritura usaremos el 6 (4 + 2= Lectura + Escritura). Si deseamos que un usuario pueda ejecutar usaremos el 7 (4 + 2 + 1= Lectura + Escritura + Ejecución). Ahora contamos con la siguiente tabla de valores:
- 0: Sin permisos
- 1: Ejecución
- 2: Escritura
- 3: Escritura y ejecución
- 4: Lectura
- 5: Lectura y ejecución
- 6: Lectura y escritura
- 7: Lectura, escritura y ejecución
Permisos en Linux: chmod 777, chmod 644, chmod 755, chmod 700, chmod 666
Los tipos de permisos más comunes, o su combinación, son los siguiente:
- 666 ( RW / RW / RW): Esta opción permite que todos los usuarios puedan leer y escribir en un archivo.
- 777 ( RWX / RWX /RWX): Esta opción permite que todos los usuarios puedan leer, escribir y ejecutar en el archivo o carpeta.
- 755 (RWX / RW / RW): Con este permiso el propietario del archivo puede leer, escribir y ejecutar en el archivo mientras que los demás leer y escribir en el archivo mas no ejecutar.
- 644 (RW / R / R): Con este permiso el propietario puede leer y escribir en el archivo mientras los demás solo pueden leer.
- 700 (RWX /—): Con este permiso el propietario tiene el control total del archivo mientras que los demás usuarios no tendrán acceso de ningún tipo al archivo.
Como vemos contamos con diferentes opciones para establecer los respectivos permisos en Linux.
CHMOD permisos a un archivo o carpeta
El procedimiento para establecer el permiso es muy sencillo. Basta con ir a la terminal y ejecutar la siguiente sintaxis:
chmod Tipo de permiso Ruta_Archivo
Por ejemplo:
chmod 666 /home/Solvetic/Solvetic.jpg
Contamos con estas interesantes opciones para establecer los mejores parámetros de seguridad en nuestros archivos y carpetas. Viéndolo en sistemas Linux con letras veríais algo como esto en temas de permisos Linux al completo:
0 = --- = sin acceso
1 = --x = ejecución
2 = -w- = escritura
3 = -wx = escritura y ejecución
4 = r-- = lectura
5 = r-x = lectura y ejecución
6 = rw- = lectura y escritura
7 = rwx = lectura, escritura y ejecución
Si lo que queremos es dar varios permisos, lo que debemos hacer es sumarlos.
Chmod 777
Si por ejemplo usamos el comando chmod 777: Estamos diciendo que les damos a los 3 tipos de usuarios el máximo permiso, dándoles lectura, ejecución y escritura, y es de haber sumado 4+2+1 por eso usamos tres veces 7. Si queremos dar permisos de lectura escritura pues sería 4+2 = 6 si lo que queremos es sólo dar lectura sería 4. Si lo que queremos es dar lectura y ejecución sería de sumar 4 + 1 = 5. De ahí las diferentes combinaciones.
Permisos de archivo sobre el archivo
Os enseñamos en este caso un servidor Linux que conectamos de forma remota con Filezilla y aparece los permisos de forma gráfica tanto de los archivos como de las carpetas.
