educación, informática y demás

2601-Primeros pasos

Instalando un sistema Debian 12 CLI

En esta actividad práctica vamos a instalar un nuevo sistema operativo invitado Debian 12 pero esta vez sin entorno de escritorio, tan solo con interfaz en modo texto con comandos. Este tipo de Interfaz de usuario se denomina Command Line Interface (CLI).

Características de la máquina

La máquina virtual tendrá las siguientes caracteristicas:

  • Nombre: SSOO – Debian 12 CLI 01
  • RAM: 1024 MB
  • HD: 100 GB
  • Red: ASO26-Network

Instalación del sistema operativo

Vamos a instalar el sistema en una única partición de 20GB, dejaremos 2GB de swap. El nombre del usuario administrador será alumno y la contraseña tanto de root como de alumno será ClaveRoot#20.

A ser posible el nombre de la máquina será srv01

Solo vamos a instalar las herramientas básicas del sistema

Preparando el sistema

Usuario alumno con sudo

Ya ha terminado la instalación del SO e iniciamos sesión con el usuario root. El primer paso que vamos a dar es configurar el usuario alumno para que tenga acceso de administración, es decir que pueda ejecutar comandos como root.

El fichero de configuración de sudo está dentro del directorio /etc como el resto de ficheros de configuración de herramientas y servicios del sistema.

Como sabemos sudo es un comando que permite ejecutar comandos con los privilegios de otro usuario en el sistema. Habitualmente ese otro usuario es root.

Lo primero que deberíamos hacer es instalarlo, porque en nuestro sistema no está instalado.

Ya tenemos sudo en el sistema, ahora vamos a echar un vistazo rápido al manual del comando sudo utilizando el comando man.

Vamos a mostrar en pantalla el contenido del fichero /etc/sudoers. Vamos a intentar mostrar solo las líneas que no tengan comentario.

Resulta que aparecen muchas líneas en blanco que nos dificulta comprobar qué configuración real tenemos.

Para ello vamos a utilizar el comando tr. Con el comando tr vamos a utilizar la opción -s que permite compactar.

Como no lo tenemos claro, vamos a mirar la página de manual de tr.

Para probar el funcionamiento de este comando vamos a jugar con el comando echo y las tuberías.

Vamos a utilizar tr -s para quitar los saltos de línea duplicados. Para ello, lo primero que tenemos que saber es cómo se codifica un salto de línea: \n.

Hay una línea que nos llama la atención.

Esta línea indica que cualquier usuario del grupo sudo puede ejecutar cualquier comando. Así que, si queremos que el usuario alumno pueda ejecutar cualquier comando tan solo tenemos que añadir al usuario alumno al grupo sudo.

Después de todo lo que hemos liado para aprender cosillas, vamos a añadir al usuario alumno al grupo sudo, que es, precisamente, lo que queríamos hacer.

Añadimos el usuario alumno al grupo sudo y, utilizando el comando id, mostramos información de identificación del usuario alumno en la que podemos ver que efectivamente ya pertenece al grupo sudo.

El prompt

Como sabemos, el prompt del sistema es la información que nos muestra el sistema en la terminal justo a la izquierda del cursor. Es una línea de texto que no podemos borrar con el cursor, pero si se puede configurar para mostrar la información que más nos interese.

Por defecto, en SO GNU/Linux Debian y en bash en general, el prompt muestra el nombre del usuario, la nombre de la máquina en la que se encuentra conectado (separado con una arroba), la ruta del directorio actual (separado con el caracter «:») y un símbolo que indica el tipo de usuario con el que se esta trabajando en el sistema: $ significa que eres un usuario normal y # que eres root.

Configurando el nombre del equipo

Ahora vamos a echar un vistazo al nombre del equipo. Resulta que este equipo debería llamarse srv01 y en el proceso de instalación lo hemos llamado debian. Así que vamos a cambiar el nombre del equipo.

Vamos a ejecutar el comando hostnamectl.

Queremos cambiar el nombre del equipo a srv01. Vamos a echar un vistazo a la página de manual del comando hostnamectl.

Vamos a ello, aunque spoiler! tendremos que hacer otro paso para que el cambio sea efectivo.

Además de cambiar el nombre del equipo con hostnamectl tenemos que modificar otro fichero que contiene la resolución estática de nombres local en nuestro sistema. Este fichero es /etc/host y es una reminiscencia del pasado 🙂

Este fichero almacena asociaciones entre nombres y direcciones IP. Vamos a editarlo directamente con el editor de textos nano.

Si nos fijamos en este fichero se asocia la dirección ip de loopback 127.0.1.1 con el nombre debian, que es el nombre anterior del equipo. Para que todo el sistema funcione correctamente tenemos que cambiar ese nombre por el nombre actual: srv01.

Guardamos y sobrescribimos y ya se ha cambiado el nombre del equipo. En esta sesión el sistema nos sigue mostrando debian, para que se utilice la información actualizada tenemos que cerrar la sesión y abrir una nueva.

Ya en el login nos muestra el nuevo nombre de la máquina.

Configuración de la red

Como este equipo lo vamos a utilizar para que realice tareas de servidor más adelante, vamos a configurar la red para que utilice una dirección ip estática dentro de la red LAN a la que está conectado.

Instalar y configurar servicio SSH

Instalamos el servicio ssh en nuestro sistema, para ello instalamos el paquete openssh-server.

Una vez instalado podemos comprobar si está en funcionamiento con el comando systemctl con la opción status y el nombre del servicio, que en este caso es sshd.

Ya configuraremos y gestionaremos este servicio que nos permitirá administrar un sistema de forma remota a través de comandos, pero por ahora tan solo vamos a comprobar el directorio que contiene los ficheros de configuración tanto del cliente como del servidor ssh: /etc/ssh.

El fichero de configuración del cliente ssh es /etc/ssh/ssh_config. El fichero de configuración del servidor ssh es /etc/ssh/sshd_config

Crear una OVA para poder transportar la máquina virtual

Vamos a crear una OVA con esta máquina virtual para que podamos trabajar con ella en casa o en otro sistema anfitrión y podamos practicar administración de un sistema GNU/Linux desde línea de comandos.

Dejar una respuesta