domingo, 10 de abril de 2016

Ruta directorio en variable de entorno. Ubuntu

Cuando accedemos a un archivo, navegamos por las carpetas de nuestro ordenador hasta completar la ruta o path en el que se aloja.

En esta entrada se explica cómo guardar dicha ruta en una variable de entorno de nuestro sistema operativo de modo que escribiéndola en terminal se accede directamente a la carpeta deseada (directorio) sin tener que navegar hasta ella o crear un acceso directo.

Imagen 1. Ruta directorio en variable entorno. Ubuntu

Las explicaciones son para que quede guardada de manera permanente, es decir, estará disponible hasta que no se borre del mismo modo que se añadió.

Introducción


¿Qué es el PATH de los sistemas operativos?

Se trata de una variable de entorno, es decir un valor que el sistema operativo tiene en cuenta a la hora de ejecutar acciones, que guarda las rutas donde el sistema operativo busca los programas a ejecutar. Siendo una ruta la dirección hacia algo, es decir, las carpetas que hay que recorrer para llegar al objetivo.

De este modo, al guardar en el PATH una variable que contenga la ruta, se podrá trabajar desde terminal con dicha variable en lugar de tener que escribir la ruta.

Ubuntu


Tras tener claro el concepto de PATH, se va a crear una variable de entorno que pese a que no se incluirá en el PATH, tendrá el mismo efecto que si así se hiciera. 

Para ello se trabaja con el archivo .bashrc alojado en la carpeta personal del usuario.

1. Acceder al archivo

Para modificar el archivo indicado, primero se abre el terminal (control + t) y en él se ejecuta la orden:

nano ~/.bashrc

Pulsar tecla enter.

Explicación:
- nano: comando para escribir en un archivo.
- ~: ruta a la carpeta personal del usuario. Se escribe pulsando alt gr + ñ
- /: separa la ruta del archivo
- .bashrc: script que se ejecuta cada vez que se inicie el terminal en modo interactivo (para más detalles visitar el link sobre este archivo indicado al final de la entrada).

2. Modificar archivo

En pantalla aparece toda la información que contiene el archivo, bajamos hasta el final con la flecha que apunta hacia abajo del teclado y ya en la última línea debe escribirse (puede dejarse una línea en blanco pulsando enter):

export nombreVariable = ruta

ejemplo: export SCANEO_HOME=/home/moli/Descargas/pentesting_core

Explicación:
- export: necesario para crear la variable.
- SCANEO_HOME: nombre de la variable, debe definir bien adonde lleva. En este ejemplo se crea para poder lanzar la herramienta de pentesting en la que participo, desarrollando como TFG.
- /home/moli/Documentos/pentesting_core: ruta a guardar en la variable.

Truco: para indicar la ruta sin necesidad de escribirla, simplemente con arrastrar y soltar la carpeta al terminal aparece, pero se debe borrar las comillas que aparecerán al principio y al final de la ruta.

Tras modificar el archivo se guardan los cambios, pulsando:

control + o

Indica el archivo que se modificará, aceptamos pulsando enter. Para salir, control + x.

3. Aplicar cambios

Tras añadir la variable, para poder utilizarla deben aplicarse los cambios en el archivo, para ello escribir en el terminal:

source ~/.bashrc

Y pulsar enter.

4. Comprobar funcionamiento

Para ver la ruta añadida, escribir en el terminal $nombreVariable o echo $nombreVariable. En el primer caso muestra su contenido y define qué es, y en el segundo muestra su contenido. 

Con el ejemplo se comportaría del siguiente modo (el símbolo $ antes de la orden indican que se trabaja con el el terminal de Ubuntu y el símbolo ~ el directorio actual de trabajo):

~$ $SCANEO_HOME
bash: /home/
moli/Descargas/pentesting_core: Es un directorio 

~$ echo $SCANEO_HOME
/home/
moli/
Descargas/pentesting_core

En caso de no funcionar y haber seguido los pasos correctamente, cerrar el terminal y abrir una nueva.

5. Utilización

El objetivo de esta entrada es poder acceder a una carpeta o utilizar su contenido sin tener que navegar a través de todas las que la contienen, ni tener que crear un acceso directo, por lo que trabajando con la variable de entorno, desde el terminal conseguimos esto.

5.1. Acceder a la carpeta

Cambiar de ruta con el comando cd, sin olvidar el símbolo $:

cd $nombreVariable

Ejemplo: cd $SCANEO_HOME

En el terminal se aprecia que el directorio de trabajo ha cambiado:
~/Descargas/pentesting_core$

Ahora desde terminal se puede trabajar con los archivos en dicha ruta, para abrir la carpeta del directorio actual, escribir:

nautilus .

Pulsar enter.

5.2. Utilizar contenido de la carpeta

Por último, como la ruta está en el PATH, puede utilizarse la variable creada para ejecutar lo que contenga el directorio sin necesidad de acceder a la carpeta.

En el siguiente ejemplo se lanza un script contenido en la ruta guardada en la variable de entorno que he llamado MOLI_SCRIPTS, añadiendo barra (/) al final:

~$ python $MOLI_SCRIPTS/

Tras esto se pulsa el botón tabulador del teclado y aparece la ruta almacenada

~$ python /home/moli/Software/

Solo debe escribirse el nombre del script a ejecutar y pulsar enter.

~$ python /home/moli/Software/deleteMetadata.py

El script utilizado en este último ejemplo borra los metadatos de las imágenes indicadas, puede descargarse desde mi cuenta en GitHub.
 
Todo esto resulta muy útil cuando se trabaja habitualmente con el contenido de una carpeta gracias al ahorro de tiempo que conlleva.

Un saludo,

Webs


Mi cuenta en GitHub

Definición path

Definición variable de entorno

Archivo .bashrc Ubuntu

Modificar path Ubuntu

Entradas sobre herramienta de pentesting de mi TFG
http://cmoli.blogspot.com.es/2016/03/tfg-i-nmap-scan-instalacion.html

No hay comentarios:

Publicar un comentario