9.4.- Modificar los ficheros de configuración de la consola

La configuración de la consola requiere la edición de ficheros que se pueden clasificar de un par de maneras. En primer lugar, puede tratarse de ficheros globales que afecten a todos los usuarios o de ficheros locales que afecten sólo a un usuario. Por otra parte, puede tratarse de ficheros de acceso que sólo se ejecutan una vez en un proceso de acceso (por ejemplo, acceso a una consola) o de ficheros que no pertenecen al acceso y que ejecutan otros procesos (por ejemplo, iniciar una ventana xterm). El resultado es una matriz 2×2 de ficheros de configuración, como se muestra en la siguiente tabla:

tabla_ficheros_configuracion

Los ficheros utilizados varían según la distribución pero, independientemente del nombre, estos ficheros son scripts de consola. La mayoría de ellos contienen una serie de comandos de bash, tanto nativos como externos.

Los ficheros de configuración global afectan a todos los usuarios, pero los usuarios individuales pueden invalidar sus parámetros, bien mediante ficheros de configuración de usuario, bien a través de comandos escritos por los propios usuarios.  Por tanto, no deberíamos confiar en los ficheros de configuración globales para definir opciones que los usuarios no deberían cambiar. Es preferible centrarse en las funcionalidades de seguridad global, como los permisos sobre los ficheros ejecutables.

configuracion_etc_profile

El directorio /etc/skel contiene ficheros que se copian en los directorios home de los usuarios cuando se crean las cuentas. Normalmente, este conjunto de ficheros incluye ficheros de inicio de bash locales; podemos alterarlos para que se ajusten a nuestras necesidades.

configuraciom_etc_skel

Los cambios en estos ficheros sólo afectarán a las nuevas cuentas, no a las existentes. Para realizar cambios que afecten tanto a los usuarios existentes como a los nuevos, deberíamos editar un fichero de configuración global. Las consolas poseen scripts  de inicio y de desconexión, en bash este script es ~/.bash_logout.

configuracion_etc_eskel_bash_logout

La mayoría de distribuciones crean este script como parte del directorio home, aunque los usuarios también pueden hacerlo. Este script de desconexión podría ejecutar programas para limpiar los directorios temporales, eliminar claves de seguridad de la memoria u otro tipo de tareas apropiadas cuando un usuario se desconecta.

tux_maestro_derUn problema de los scripts de desconexión es que puede que no funcionen correctamente cuando un usuario accede varias veces. Si tenemos abiertas varias sesiones, como en el caso de tener varias terminales virtuales de Linux, debemos tener cuidado con lo que incluimos en el script de desconexión para evitar borrar ficheros temporales importantes cuando salgamos sólo de una sesión.

Otro fichero de configuración de bash es ~/.inputrc, que sirve para poder personalizar la configuración del teclado. Consta de líneas que tienen el siguiente aspecto:

configuracion_etc_inputrc

Vemos alguna línea que asocia la combinación de teclas Ctrl-Left-Arrow y Ctrl-Right-Arrow (Control-Flecha izquierda y Control-flecha-derecha). La tecla Meta suele ser la tecla Esc y la acción universal-argument es una de las acciones definidas por la biblioteca readline, que es una de las bibliotecas básicas de introducción en modo texto.

Normalmente no es necesario ajustar el fichero ~/.inputrc, las asociaciones por defecto de readline funcionan correctamente con teclados estándar. Sin embargo, si una combinación de teclas no funciona como debería en modo texto, deberíamos investigar más sobre esta configuración.

tux_maestro_derX utiliza sus propias rutinas de introducción por teclado, por lo que ~/.inputrc no afectará a los programas que se ejecuten en X, aunque sean programas en modo texto que se ejecuten dentro de ventanas xterm.

 

Anuncios