En los últimos años los sistemas operativos Gnu/Linux han cambiado mucho, haciendo que su aspecto sea más amigable para el usuario novato y permitiendo que muchos procesos que se hacían solo mediante la fría consola de terminal se puedan hacer desde un escritorio o una pantalla gráfica.
Sin embargo, existen procesos y herramientas que nos son útiles a conocer y saber su funcionamiento aunque nos guste trabajar con el modo gráfico o solamente con la terminal. Esto es el caso de los permisos a usuarios y grupos, un sistema que en Gnu/Linux funciona como una gran herramienta de seguridad y privacidad de nuestros datos.
Al igual que existen en muchos otros sistemas operativos, en Gnu/Linux existe la posibilidad de que ciertos archivos y carpetas puedan estar restringidos a ciertos usuarios o que solo estén disponibles para ciertos usuarios. Además, en este caso, esta funcionalidad va muchos más allá con los grupos, de forma que en el mismo sistema operativo podemos tener varios tipos de usuarios y asignar ciertos privilegios o ciertas gestiones a unos grupos de usuarios u a otros.
En cualquier sistema Gnu/Linux todos los archivos y carpetas tienen tres tipos de permisos: permiso de lectura, permiso de escritura y permiso de ejecución. Si tenemos un archivo con permiso de lectura, podemos leer y ver el archivo pero no podemos modificarlo ni podemos ejecutarlo. Si por el contrario tenemos permiso de ejecución, podemos ejecutar el archivo, pero no podemos ni verlo ni modificarlo. Y finalmente, si tenemos permiso de escritura, podemos modificar un archivo pero no podremos ni leerlo ni ejecutarlo.
Estas tres opciones se pueden usar como una forma de sistema de seguridad, así, podemos asignar que archivos del sistema operativo no puedan modificarse nada más que por un administrador. Esto significaría que solo el administrador puede modificar archivos de sistema, haciendo que usuarios y programas que ejecuten estos usuarios puedan modificar los archivo de sistema. También podemos usarlo para restringir el acceso a archivos, es decir, si tenemos archivos importantes y si además nosotros somos el administrador, podemos hacer que el acceso a ciertos archivos sea imposible o casi difícil de hacer.
Hemos comentado que en Gnu/Linux tenemos la posibilidad de dar permisos a grupos de usuarios. Esta opción no parece ser muy útil en equipos personales a los cuales solo usa una o dos personas a lo sumo, pero es muy útil e importante en entornos profesionales. Muchos administradores de redes y sistemas usan esta función de Gnu/Linux para asociar los grupos de Linux con los departamentos o funciones de una empresa, así un usuario puede estar en un departamento o una determinada función y esto relacionarlo a un grupo el cual tendrá accesos correspondientes a sus funciones, como puede ser hacer copias de seguridad o publicar páginas web o sencillamente acceder a una carpeta con los documentos financieros de la empresa. Las posibilidades son muchas si tenemos un poco de creatividad.
En todas las distribuciones Gnu/Linux encontramos esta función. Lo podemos modificar y personalizar a través de la terminal o bien de forma gráfica. Aunque hemos de decir que esto último suele variar dependiendo de la distribución y el gestor de archivos que utilicemos aunque en todas sigue siendo igual de fácil de hacerlo.
Cómo hacerlo a través de la terminal
Realizar los cambios de permisos a través de una terminal es algo muy fácil, lo más complicado que encontraremos en este proceso es conocer los distintos códigos para asignar los correspondientes permisos.
Cuando listemos o busquemos información sobre un archivo nos aparecerá en la terminal un código muy similar al lo siguiente:
-rwxr-xr-x
Para entender este código, primero hemos de quitar el primer carácter, el cual nos indica si es un archivo(-), un directorio(d) o enlace simbólico (l). El código resultante lo hemos de dividir en grupos de tres caracteres con lo que nos dará tres partes.
La primera parte nos indica qué puede hacer el dueño o propietario del archivo con el documento. El segundo grupo de caracteres nos indica lo que el grupo de usuarios puede hacer con ese archivo y el último grupo de caracteres nos indica que pueden hacer el resto de usuarios que no son ni el propietario ni pertenece al mismo grupo de usuarios. En los tres grupos de caracteres encontraremos las letras que nos dice si puede leerse(r), ejecutarse(x) o modificarse(w).
Ahora bien, vamos a imaginar que queremos cambiar los permisos de un documento. Si lo queremos hacer a través de la terminal hemos de usar el comando chmod seguido de los permisos que queremos asignarlo y el archivo al que queremos modificar los permisos.
Si queremos que el archivo pueda leerse y escribirse por un usuario, entonces hemos de ejecutar el siguiente código:
chmod u+rw movilforum.odt
Si lo que queremos hacer es que el archivo pueda ejecutarse por un usuario, entonces hemos de escribir:
chmod u+rx movilforum.odt
Y si lo que queremos es que el archivo pueda leerse, modificarse y ejecutarse por un usuario, entonces hemos de ejecutar el siguiente código:
chmod u+rwx
Esto lo podemos hacer de igual forma en grupos y en otros. Para hacer esto, hemos de cambiar la primera letra del código anterior por G si queremos que los cambios se apliquen a grupos u O para que los cambios se apliquen a otros. Al usar la terminal, la referencia al grupo será al grupo al que pertenecemos y a otros será a quienes no pertenezcamos.
Existe también una forma más rápida de dar permisos con la terminal. Este método consiste en usar el mismo comando pero usaremos números para habilitar los permisos. El número para lectura es el 4, el número para escritura es 2 y el número para ejecutar sería 1. Además podemos modificar a la vez el permiso de usuario, el del grupo y el de otros, haciendo que cada número represente un grupo de caracteres. Y el número que usemos será la suma de los números de esos permisos. Aunque parezca que esto es muy lioso cuando veis el código es muy sencillo:
chmod 776 movilforum.odt
Esto quiere decir que damos permisos completos al usuario ( es el resultado de sumar 4 + 2 +1), el segundo 7 será los permisos relativos a los grupos y el 6 sería el correspondiente a otros ( 4 + 2 y 0 en ejecución, es decir, no puede ejecutarse.)
Cambiar los permisos de archivos de forma gráfica
Los cambios de permisos en archivos y carpetas de forma gráfica es más fácil aún ya que en todos los gestores de archivos es similar y no se hace mediante códigos sino que a través de menús desplegables con todas las opciones desarrolladas.
Para hacer esto hemos de seleccionar el archivo o la carpeta a la cual queremos modificar sus permisos.
Hacemos click derecho sobre ello y nos vamos a “Propiedades”, se abrirá una pantalla en la cual aparecerá una pestaña que diga “permisos” nos vamos a ella y nos aparecerá los permisos actuales que tiene ese archivo. Solo basta con seleccionar la opción que queremos en cada tipo de permiso y listo.
En el caso de que queramos cambiar el permiso de un archivo de sistema o un archivo al que no tenemos permiso, tendremos que hacerlo como administrador, el usuario que tiene todos los permisos del sistema. Para abrir los archivos como administrador tan solo hemos de ejecutar el comando sudo seguido del nombre del gestor de archivos.
Estas serían las formas que tenemos de controlar los permisos y derechos sobre los archivos y carpetas en Gnu/Linux. Realmente su gestión y uso es muy útil, siendo una herramienta de seguridad muy eficaz que pocos usuarios saben qué tienen disponible de forma gratuita. Así que qué mejor oportunidad que aprovechar ahora el tiempo para ir repasando los permisos de esos archivos que tenemos tan importantes en nuestro sistema operativo.