Fundamentos de Linux 3 – Parte 1

Introducción

Bienvenidos a la tercera (y última) parte de este módulo de Fundamentos de Linux. En este Linux Fundamentals III de TryHackMe veremos nuevas características del sistema operativo Linux. Hasta el momento, en lo que llevamos visto, se han manejado algunos conceptos fundamentales y se han usado algunos comandos importantes. En esta ocasión veremos algunas utilidades y aplicaciones que usarás en tu día a día. También avanzarás en tus habilidades con Linux aprendiendo acerca de la automatización, la gestión de paquetes y registro de servicios y aplicaciones.

Desplegando tu máquina Linux

Desplegando tu máquina Linux

Para desplegar tu máquina Linux, has de hacer clic sobre el botón verde “Start Machine” en la parte superior derecha de este apartado y después ir a la parte superior de esta página para ver la información del despliegue:

IP Máquina Virtual TryHackMe

La dirección IP mostrada es la dirección de tu máquina Linux, a la cual deberás acceder mediante SSH. Ten esto en cuenta por ahora.

Desplegando tu AttackBox de TryHackMe

En la parte superior de esta página puedes ver el botón azul “Start AttackBox”, mediante el cual podrás desplegar la máquina AttackBox de TryHackMe con la que podrás interactuar. Esta máquina tiene un sistema Linux Ubuntu que está alojado en la nube y con el que puedes interactuar a través de tu navegador web. Puedes usarlo para interactuar con la máquina que despliegues en este apartado.

Usa estas credenciales:

Dirección IP: La dirección IP facilitada por TryHackMe en la máquina desplegada
Username: tryhackme
Password: tryhackme

Editores de texto de la terminal

A lo largo de esta serie solo hemos almacenado texto en archivos gracias al comando echo y los operadores > y >>. Esa no es una forma eficiente de manejar datos cuando trabajas con archivos con múltiples líneas.

Introducción a los editores de texto de terminal

Hay distintas opciones que puedes utilizar, todas ellas con una gran variedad de utilidades y amigables. Este apartado te introducirá en nano, pero también te mostrará una alternativa llamada VIM (sobre la cual TryHackMe tiene una sala dedicada a ella).

Nano

Es sencillo comenzar con Nano. Para crear o editar un archivo usando nano, simplemente usarás el comando nano nombre_del_archivo, reemplazando “nombre_del_archivo” por el nombre del archivo que quieres editar.

Editor de texto Nano Linux Fundamentals TryHackMe

Una vez que pulses Enter para ejecutar el comando, se lanzará nano. Ahí podremos comenzar a introducir o modificar nuestro texto. Puedes navegar por las distintas líneas usando las flechas de “arriba” y “abajo” o comenzar una nueva línea pulsando la tecla “Enter” en tu teclado.

Editor Nano 2 Linux Fundamentals TryHackMe

Nano tiene algunas características que son fáciles de recordar y cubren las acciones más generales que querrás llevar a cabo en un editor de texto, incluyendo:

  • Buscar texto
  • Copiar y pegar
  • Saltar a un número de línea
  • Encontrar en qué número de línea estás

Puedes usar estas características de nano pulsando la tecla “Ctrl” (representada como ^ en Linux) y la tecla correspondiente. Por ejemplo, para salir, tendrías que pulsar “Ctrl” y “X” y saldrás de Nano.

VIM

VIM es mucho más que un editor de texto avanzado. Aunque no se espera que conozcas todas las características avanzadas, será de ayuda mencionarlo para potenciar tus habilidades con Linux.

VIM editor de texto

Algunas de las ventajas de VIM, aunque requiere de más tiempo para familiarizarse con él, incluyen:

  • Personalizable: puedes modificar los atajos de teclado a tu elección.
  • Marcado de sintaxis: es útil si estás escribiendo o manteniendo código, haciéndolo una elección popular para los desarrolladores de software.
  • VIM trabaja con todas las terminales en las que nano puede no estar instalado.
  • Hay un montón de recursos como chuletas y tutoriales que puedes utilizar.

Utilidades Generales

Descargando archivos

Una característica fundamental de la informática es el poder transferir archivos. Por ejemplo, puedes querer descargar un programa, un script, o incluso una imagen. Afortunadamente, existen distintas formas en las que poder conseguir estos archivos.

Por ahora verás el uso de wget. Este comando te permite descargar archivos de la web a través de HTTP tal y como si estuvieras accediendo al archivo desde tu navegador. Simplemente necesitas proporcionar la dirección del recurso que quieres descargar. Por ejemplo, si quieres descargar un archivo llamado “myfile.txt” a tu máquina, asumiendo que conoces la dirección web en la que está alojado, sería algo como esto:

wget https://assets.tryhackme.com/additional/linux-fundamentals/part3/myfile.txt

Transfiriendo archivos de tu alojamiento – SCP (SSH)

Copia segura, o SCP, es simplemente eso, una forma de copiar archivos de forma segura. A diferencia del comando cp, este comando te permite transferir archivos entre dos ordenadores usando el protocolo SSH para proporcionar tanto autenticación como cifrado.

Trabajando en un modelo de FUENTE y DESTINO, SCP te permite:

  • Copiar archivos y directorios desde tu sistema actual a un sistema remoto.
  • Copiar archivos y directorios desde un sistema remoto a tu sistema actual.

Se supone que conoces el nombre de usuario y contraseña de un usuario en tu sistema actual y de un usuario en el sistema remoto. Por ejemplo, para copiar un archivo desde tu máquina a una máquina remota, que queda expuesto en la siguiente tabla:

VariableValor
La dirección IP del sistema remoto192.168.1.30
Usuario en el sistema remotoubuntu
Nombre del archivo en el sistema localimportant.txt
Nombre que queremos darle al archivo para almacenarlo en el sistema remototrasnferred.txt

Con esta información, puedes formar tu comando scp (recuerda que el formato de SCP es solo FUENTE y DESTINO):

scp important.txt ubuntu@192.168.1.30:/home/ubuntu/transferred.txt

Y ahora verás la acción inversa:

scp ubuntu@192.168.1.30:/home/ubuntu/documents.txt notes.txt 

Sirviendo archivos desde tu alojamiento – WEB

Las máquinas Ubuntu vienen con python3 preinstalado. Python proporciona un módulo muy útil y sencillo de usar llamado “HTTPServer”. Este módulo convierte tu ordenador en un rápido y sencillo servidor web que puedes usar para servir tus propios archivos, los cuales pueden ser descargados por otro ordenador usando comandos como curl y wget.

El “HTTPServer” de Python 3 servirá los archivos en el directorio desde el que ejecutes el comando, pero esto se puede cambiar proporcionando las opciones que se pueden encontrar en su página de manual. Simplemente, todo lo que tenemos que hacer es ejecutar python3 -m http.server para arrancar el módulo.

tryhackme@linux3:/tmp# python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

Ahora es momento de usar wget para descargar el archivo usando la dirección IP del ordenador y el nombre del archivo. Un defecto de este módulo es que no hay forma de indexar, por lo que debes saber el nombre exacto y la ubicación del archivo que vas a utilizar. Es por eso que hay gente que prefiere usar Updog, un servidor web más ligero y avanzado. Pero, por ahora, toca aprender a usar el “HTTPServer” de Python.

tryhackme@linux3:/tmp# wget http://127.0.0.1:8000/file

2021-05-04 14:26:16  http://127.0.0.1:8000/file
Connecting to http://127.0.0.1:8000... connected.
HTTP request sent, awaiting response... 200 OK
Length: 51095 (50K) [text]
Saving to: ‘file’

file                    100%[=================================================>]  49.90K  --.-KB/s    in 0.04s

2021-05-04 14:26:16 (1.31 MB/s) - ‘file’ saved [51095/51095]

A continuación, puedes ver que wget ha descargado con éxito el archivo llamado “file” a tu máquina. Esta petición queda registrada por SimpleHTTPServer así como lo haría en cualquier navegador web:

tryhackme@linux3:/tmp# python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
127.0.0.1 - - [04/May/2021/14:26:09] "GET /file HTTP/1.1" 200 -

Y hasta aquí llega la primera mitad de este Linux Fundamentals 3. Dentro de muy poco os traeré la segunda parte, ya que el texto original es bastante largo y he preferido dividirlo en dos publicaciones.

Ya sabéis que para cualquier consulta, me podéis dejar aquí un comentario y os contestaré tan pronto como me sea posible.

Aquí podéis encontrar la sala original en inglés de TryHackMe en la que podéis practicar con las preguntas que vienen en cada apartado. Para cualquier duda sobre estas preguntas, no dudéis en dejar un comentario en este post.

Si queréis consultar las traducciones anteriores de Linux Fundamentals, solo tenéis que hacer clic aquí y os llevará al apartado del blog correspondiente.

1 comentario en «Fundamentos de Linux 3 – Parte 1»

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Ads Blocker Image Powered by Code Help Pro

¡¡¡Ads Blocker Detectado!!!

Hemos detectado que usas extensiones para bloquear anuncios. Por favor, si te interesa el contenido, no bloquees los anuncios, que son lo que nos ayuda a poder publicar más contenido como este 😊