Mortuux

Diario de un estudiante geek. Informática, tecnología, programación, redes, sistemas operativos, bases de datos…

Archivos mensuales: abril 2010

10 herramientas para dar más vida a tus scripts en shell

En la mayoría de nuestros scripts, no utilizamos para nada una GUI, pero a veces, si es un script que va a ir enfocado al usuario, es mejor intentar usar una GUI para que sea más amigable.

Es una tarea que a lo mejor cuesta más porque hay que dedicarle un poco más de tiempo, pero es algo que merece la pena, no todos aprecian la belleza de la consola 😀

  • Notify-send

Comando que envía notificaciones a través del daemon de notificaciones (por defecto, se muestran casi en la esquina superior derecha). Para poder utilizar ese comando, debemos instalar:

$ sudo apt-get install libnotify-bin

Después basta con un simple:

$ notify-send “texto”

Esto puede ser útil para mensajes que no tengan por qué interferir en la actividad, del usuario… por ejemplo para informarle de algo.

notify-send

notify-send

  • Comando setleds

Cambiar el estado de los leds del teclado

$ setleds -D +num

Activaría el NumLock

$ setleds -D -caps

Desactivaría el CapsLock

  • Zenity

Uno de mis favoritos. Muestra diálogos utilizando GTK+. Nos permite mostrar información, pedir datos al usuario, etc…

Zenity

Zenity

El resto de las herramientas, las podéis encontrar aquí

Enlace | nixCraft

Reparar una partición NTFS a través de Linux

Podemos reparar una partición NTFS dañada con la utilidad ntfsfix

Hay que aclarar que no tiene nada que ver con chdsk. Ntfsfix sólo repara algunas inconsistencias y resetea el journal de NTFS.

Para utilizar ntfsfix, debemos instalar:

sudo apt-get install ntfsprogs

Y ahora sólo debemos ejecutar la utilidad apuntando a la partición adecuada:

ntfsfix /dev/sdXY

Cambiar la shell por defecto

El comando chsh, permite cambiar la shell que tenemos por defecto.

Es práctico, si nuestro administrador nos ha asignado una shell con la que no estamos cómodos, o simplemente, que queremos probar otras shells.

La sintaxis básica del comando es

Chsh usuario nueva_shell

El parámetro de la shell, debe ser la ruta completa a la shell, como por ejemplo /bin/bash

Si no sabes que shell tienes, puedes escribir:

Echo $SHELL

Servicio SSH

    1. ¿Qué es el servicio SSH?

Inicialmente la administración remota se hacía con la orden Telnet.

En la actualidad no se debería utilizar Telnet por los importantes agujeros de seguridad que presenta. La transmisión entre cliente y el servidor se realiza completamente en texto plano (sin cifrar), por lo que con cualquier sniffer es posible capturar tramas y obtener de ellas login y la contraseña del usuario.

En la actualidad la herramienta de administración remota más utilizada es Secure Shell (SSH). SSH es un protocolo para iniciar sesiones en máquinas remotas que ofrecen autenticación, confidencialidad e integridad.

SSH es una herramienta que permite realizar conexiones seguras entre equipos unidos mediante una red insegura, como puede ser Internet. Utiliza el puerto 22 y sigue el modelo cliente-servidor.

La seguridad de Ssh se basa en la utilización de mecanismo de criptografía, de forma que toda transmisión de información es cifrada y el mecanismo de autenticación es transparente al usuario.

Ventajas de utilizar SSH

  • Después de la primera conexión, el cliente puede saber que se está conectando al mismo servidor en futuras sesiones.
  • El cliente transmite al servidor la información necesaria para su autenticación en formato cifrado
  • Todos los datos que se envían y se reciben durante la conexión son cifrados
  • El cliente puede ejecutar aplicaciones gráficas desde el Shell.
    1. Encriptación. Tipos de encriptación.

La criptografía es una técnica utilizada para convertir un texto claro en otro, llamado criptograma, cuyo contenido informativo es igual al anterior pero sólo puede ser decodificado por personas autorizadas.

La criptografía se basa en algoritmos cada vez más sofisticados.

SSH utiliza varios algoritmos de encriptación y autenticación:

  • Para establecer la conexión con la máquina remota emplea algoritmos de encriptación asimétrica.
  • Para la transferencia de datos utiliza algoritmos de encriptación simétrica, que son más rápidos.

Los tipos de encriptación son:

  • Encriptación simétrica o de clave compartida.
  • Encriptación asimétrica o de clave pública/privada.

Clave. Una clave es número codificado y encriptado en un archivo que sirve para encriptar/desencriptar los mensajes transmitidos/enviados

      1. Encriptación simétrica o de clave compartida

Esta técnica se basa en la utilización de una clave que es conocida tanto por el emisor como por el receptor o destinatario.

El usuario A y el usuario B conocen la clave K. El mensaje original, utilizando un algoritmo de encriptación simétrico y la clave K, genera el mensaje K que es transmitido al usuario B. Este, aplicando la misma clave y el algoritmo inverso, obtiene el mensaje original.

Ventaja: Es muy eficiente ya que los algoritmos utilizados son muy rápidos.

Desventaja: ambas partes deben conocer la clave.

      1. Encriptación asimétrica o de clave pública

Las técnicas de cifrado asimétrico se basan en el uso de dos claves: una pública y otra privada.

Según esta técnica cada usuario tiene dos claves. La clave privada sólo la conoce el dueño de la clave y no se publica. La clave pública es conocida por otros usuarios en otras máquinas, es decir se publica. Estas claves se generan al mismo tiempo dando lugar a pares biunívocos, de tal forma que la combinación pública-privada es única.

La información que recibe un usuario será segura mientras él controle sus claves privadas. El usuario puede cambiar su clave privada en cualquier momento y puede publicar su clave pública asociada para sustituir la clave pública obsoleta.

Ventaja: La clave privada no se transmite

Desventaja: No utiliza algoritmos eficientes, ya que no son rápidos cifrando y descifrando.

      1. Algoritmos de clave pública

    El algoritmo RSA:

    • Es el algoritmo de cifrado de clave pública más utilizado
    • Puede utilizarse tanto para encriptar como para firmar documentos

    El algoritmo DSA:

    • Puede utilizarse tanto para encriptar como para firmar documentos
    • Mayor grado de seguridad que RSA.