Prácticas con diversas herramientas
Laboratorio de Administración y Gestión de Redes y Sistemas 2018-2019
Grado en Ingeniería Telemática
Escuela Técnica Superior de Ingeniería de Telecomunicación
Universidad Rey Juan Carlos
Crea el fichero ~/lagrs/practica02.txt
, que contendrá la memoria que escribas sobre este segundo bloque de prácticas. En la primera línea, indica tu nombre y login. Recuerda que la recogida de las prácticas se hará automáticamente el dia del examen, así que es muy importante que respetes al pie de la letra todos los nombres de ficheros y directorios que indiquen todos los enunciados.
Observa los ficheros de inicio de la shell de tu cuenta del laboratorio. Créalos si no los tienes. ¿Cuándo se ejecuta .bashrc
? ¿Solamente en las shell de login? ¿Solamente en las shell que no son de login? ¿O en ambos tipos de shell? ¿Por qué?
Comprueba que los diferentes tipos de ficheros que se tienen que ejecutar en la invocación de la shell (interactivo y de login, interactivo no de login, no interactivo) se comportan como cabe esperar. Usa trazas como
echo prueba blabla
o
echo prueba blabla >> /tmp/mi_traza.txt
Define en .bashrc
un alias que pueda usarse para un ataque o una broma. Haz una demostración.
Ahora practicarás con el troceado de ficheros. Supongamos que quieres llevarte a casa la máquina virtual ubuntu.18.04.ova
que está en el directorio /var/lib/vms/cli-ubuntu.18.04.v01
de los puestos del laboratorio
Comprime el directorio de la máquina virtual en un fichero .tgz
. Ponle el nombre que te parezca adecuado. Naturalmente, no puedes escribir en /var/lib/vms
hazlo en otro directorio donde tengas permiso. Un buen sitio es /tmp/<TU_LOGIN>
Divídelo en trozos, del tamaño que te parezca adecuado.
Entra uno de los puestos virtuales del laboratorio y crea el directorio /tmp/<TU_LOGIN>
Usando scp, lleva los trozos a la máquina remota, al directorio que acabas de crear.
Reconstruye el directorio.
Usando md5sum
, comprueba que el fichero es correcto. (Encontrarás el hash original dentro del fichero leeme.txt)
Guarda dos o tres contraseñas, de prueba o reales, usando
gpg
LibreOffice
LastPass
KeePassx
Usa recordatorios de contraseña en todos los casos, en un fichero de texto aparte. Guarda los ficheros donde quieras, describe brevemente en la memoria los pasos que has seguido
Usa ssss para descomponer una contraseña en 6 trozos, de forma que baste con 4 para restaurarlos. Recomponla.
En esta práctica probarás el acceso a una máquina por ssh sin teclear contraseñas
Lanza la máquina jpercaa01
y haz todo lo necesario en ella para poder entrar por ssh desde el contenedor hasta tu puesto del laboratorio sin teclear contraseñas. Usa claves ed25519, con una passphrase sencilla. Como siempre, documenta en ~/lagrs/practica02.txt
los pasos que des, y pega los resultados de la ejecución.
Borra en el puesto la clave pública que acabas de añadir, y comprueba que ya no puede entrar desde el contenedor. Puedes borrar el par de claves que has usado en este ejercicio.
Crea un nuevo par de claves ed25519 de ssh. Sin passphrase.
Configura tu puesto del laboratorio para que puedas entrar desde cualquier máquina hasta cualquier otra máquina disponible del laboratorio (son las máquinas indicadas en https://labs.gsyc.urjc.es/?page_id=941)
Configura tu portátil o el ordenador de escritorio que tengas en casa para entrar en tu cuenta del laboratorio usando el mismo par de claves que acabas de crear.
Si quieres puedes dejar esta configuración de forma permanente, te será útil.
Ahora prepararás dos contenedores, de forma que se pueda entrar por ssh desde uno en el otro, sin teclear contraseñas.
Como en prácticas anteriores, estos contenedores reconocerán los nombres de máquinas del laboratorio, estarán configurados en español y tendrán disponibles las órdenes ping
e ifconfig
.
Puedes añadir algún paquete adicional si quieres, con tal de que no resulte un contenedor mucho más pesado.
Los contenedores hechos desde la imagen cad
tendrán el usuario juan
. Créalo (desde el Dockerfile) con la orden useradd
. De esta forma el usuario se crea sin hacer preguntas, sin ponerle contraseña y sin su directorio home.
La contraseña no hará falta (podrías crearla con la orden chpasswd). El directorio home del usuario, sí.
Los contenedores hechos desde la imagen cad
tendrán configurado un servidor de ssh, configurado para que se pueda entrar desde un cliente en un contenedor creado desde la imagen cae
, sin usar contraseñas (ni passphares)
Usa el siguiente par de claves: http://gsyc.urjc.es/~mortuno/claves_compartidas.tgz
Siguiendo nuestro criterio habitual, prepara los ficheros para el contenedor con el servidor de ssh:
~/lagrs/cad/construye.sh
~/lagrs/cad/lanza_jpercad01.sh
~/lagrs/cad/context/Dockerfile
~/lagrs/cad/context/entrypoint.sh
Y para el contenedor con el cliente de ssh:
~/lagrs/cae/construye.sh
~/lagrs/cae/lanza_jpercae01.sh
~/lagrs/cae/context/Dockerfile
~/lagrs/cae/context/entrypoint.sh
Sugerencia:
Desde el fichero Dockerfile crea el usuario y su directorio home. Copia en las imágenes todos los ficheros necesarios.
Desde el entrypoint, pon a los ficheros los permisos requeridos.
Toma dos o tres ficheros, cámbiales la extensión y comprueba que eso no engaña a la orden file
.
Comprueba qué sucede con el gestor de ficheros en este caso. Esto es, al hacer click sobre un fichero con extensión errónea ¿A cuál de estos dos programas invoca el gestor de ficheros?
Al programa asociado a la extensión.
Al programa asociado al tipo de fichero indicado por file.
La orden xdg-open
equivale al doble click del gestor de ficheros, pero desde la shell. Esto es, abre el fichero que se le pase como argumento con el programa adecuado.
Comprueba cómo trata xdg-open
este fichero con extensión errónea.
Crea un enlace simbólico cualquiera. Observa como aparece en un listado largo.
Comprueba que puedes editar el fichero original y el enlazado y es el mismo fichero.
Borra el fichero original y observa que el enlace queda roto.
Repite los pasos anteriores con un enlace duro y observa las diferencias.
En este ejercicio probarás Vagrant
Si estás en el laboratorio, confirma que VirtualBox sigue configurado para usar /var/tmp/tulogin
como carpeta predeterminada de máquinas
Crea un project directory de Vagrant en ~/lagrs/pc02
Prepara una máquina Ubuntu 18.04 LTS Bionic.
Lanza la máquina y entra usando vagrant.
Comprueba que el project directory del host está montado dentro de la máquina virtual en /vagrant
Para ello, edita un fichero en este directorio desde el guest o el host, guárdalo y vuelve a editarlo desde la otra máquina (el host si antes usaste el guest y viceversa).
Apaga la máquina (sin destruirla) y haz que su nombre sea pc02
, tanto visto desde VirtualBox como desde dentro de la propia máquina. Vuelve a lanzarla y comprueba que lo has hecho bien. Observa la máquina virtual desde el GUI de VirtualBox.
Desde un terminal del host, sin usar vagrant, entre por ssh en pc02
. Tendrás que tener en cuenta la redirección de puertos y usar la clave privada preparada por Vagrant.
Ejecuta el script ~mortuno/revisa practicas lagrs
para comprobar que los nombres de los ficheros son correctos.