Download Tarea 1 - Escuela de Ingeniería Civil Informática, UV

Document related concepts
Transcript
Tarea 1
Taller de Sistemas Operativos
Escuela de Ingeniería Civil Informática
Universidad de Valparaíso
1
Objetivos de aprendizaje
Conocer y utilizar un software de Emulación de Hardware (Virtual Box) para implementar un servidor
basado en Linux.
Conocer el proceso de instalación de una distribución Linux, específicamente GNU/Debian, con el fin de
implementar un servidor.
Conocer y utilizar las herramientas básicas de administración de usuarios de un sistema Linux.
Configurar el sistema instalado para aceptar conexiones remotas vía ssh.
Configurar el sistema para tener herramientas de desarrollo de software básica.
Configurar el ambiente local de trabajo y el servidor para trabajar con el sistema de ventanas X de Unix.
2
Instalación del sistema base
Una vez que termine este punto, usted habrá construido esta arquitectura.
Figura 1
a)
Crear una máquina virtual (MV) con las siguientes características:
 Disco duro de 20[GB], RAM 512[MB], 1 core.
 Interfaz de red 1 (principal), en modo NAT
 Interfaz de red 2 (secundario), en modo Host Only
La interfaz principal de su computador virtual permitirá al respectivo Sistema Operativo invitado
salir a Internet. Por otro lado, la interfaz secundaria, permitirá conectar las aplicaciones de red del
Host (computador real) a ciertos servicios de red que eventualmente tuviese el Sitema Operativo
Invitado.
b) Instalar la distribución Debian 8.3 (debian-8.3.0-i386-netinst.iso) según los siguiente requerimientos:
 Lenguaje: inglés.
 Nombre del host: el que su grupo decida.
 Disco duro particionado en 5 particiones (1 Primaria y 4 Lógicas), cuyos tamaños y puntos de
montaje son (los ID de las particiones pueden variar en su instalación):
Partición
/dev/sda1
/dev/sda5
Punto de montaje
/
/usr
Tamaño
512[MB]
10[GB]
/dev/sda6
/dev/sda7
/dev/sda8



c)
/var
/home
/tmp
3[GB]
5[GB]
Lo que sobre
Contraseña de root: la que su grupo decida.
Repositorio de paquetes de software: http://ftp.cl.debian.org
Software a instalar en el proceso de instalación: sólo standard system utilities. NADA más.
Si su instalación está correcta, usted podrá acceder a su sistema a través de la consola de su máquina
virtual, como se muestra en la Figura 2.
Figura 2
d) Revise la configuración de red a través del comando ifconfig. Debería tener configurada la interfaz
eth0, que está asociada a la interfaz NAT de la máquina virtual. La ip debe pertenecer a la red
10.0.2.0/24. La otra interfaz es la de Loopback (lo).
Figura 3
e)
Compruebe que el Sistema Operativo reconoce la otra tarjeta de red (eth1). Utilice el comando
dmesg(1) y grep(1) apropiadamente para evidenciar esto.
Figura 4
f)
Configure la interfaz eth1 (asociada a la interfaz Host-Only), con una IP estática en el rango
192.168.56.0/24, respetando el esquema de la Figura 1. Para esto, debe editar apropiadamente el
archivo /etc/network/interfaces. Para esto, estudie el capítulo 8.2 de [1].
Figura 5
g) Una vez que edite dicho archivo, debe reiniciar el servicio de red con el comando service:
service networking restart
Por lo menos, debería tener conectividad al default gateway (192.168.56.1).
Figura 6
Responda: Cuando usted comprueba conectividad a la IP 192.168.56.1, ¿con qué elemento de la
Figura 1 se está conectando?
Su respuesta:
3
Instalación de software
La instalación/actualización/eliminación de software en un sistema operativo es una de las tantas tareas
que el administrador debe realizar. Siempre se recomiendo utilizar el sistema de administración de
paquetes de software del sistema que se está administrando. En el caso de Linux Debian, una de las
formas estándar es a través del comando apt-get(8).
a)
A través de la lectura de la páguina de manual respectiva, responda:
a. Función del archivo /etc/apt/sources.list
b. Función de la opción update.
c. Función de la opción upgrade.
d. Función de la opción install.
e. Función de la opción remove.
f. Función de la opción purge.
b) Ejecute el siguiente comando:
apt-get update
Copie aquí las líneas iniciales y finales de
la salida del comando mencionado
Tabla 1
¿Qué es lo que está haciendo con este comando?
No siga hasta que el comando termine adecuadamente.
c)
Ejecute el siguiente comando:
apt-get upgrade
¿Qué es lo que está haciendo con este comando?
No siga hasta que el comando termine adecuadamente.
d) Instale el editor de texto joe.
Copie aquí el comando utilizado
Tabla 2
Copie aquí la salida del comando utilizado
Tabla 3
e)
Revise los paquetes que están instalados en su sistema con el comando
dpkg --get-selections
Verifique que el programa joe esté instalado.
Figura 7
f)
Verifique que el software openssh-server, openssh-client y openssh-sftp-server
estén instalados. Si no lo están, instálelos.
Figura 8
4
Administración de usuarios
La administración de usuarios consiste en agregar/modificar/eliminarlos siguiendo las políticas de la
organización.
a)
Agregue tres usuarios a su sistema e ingrese vía SSH (ver Figura 1).
Figura 9 Agregar un usuario
Figura 10 Conexión SSH desde el computador Host al Invitado
b) Verifique que sus respectivos HOME han sido creados.
Figura 11 HOME de los usuarios creados
c)
Agregue un nuevo grupo, de nombre desarrollo, en donde los usuarios creados anteriormente
deben ser agregados. Modifique adecuadamente el archivo /etc/group para realizar esta tarea y
luego verifique que los usuarios estén realmente incluidos en dicho grupo.
Figura 12 Archivo /etc/group modificado (extracto)
Figura 13 Ejemplo de verificación de usuario creado
que está agregado correctamente el grupo desarrollo.
5
Configuración acceso remoto
Nota: este punto no lo puede hacer hasta que usted pueda acceder vía SSH a su máquina virtual.
Es normal que un servidor tenga acceso SSH. Lo que se debe evitar, es que el usuario root tenga acceso
desde fuera del servidor, por motivos de seguridad. Para esto, en forma LOCAL, usted deberá
reconfigurar el daemon SSH para que no permita el acceso remoto del usuario root. Para esto, deberá
editar adecuadamente el archivo /etc/ssh/sshd_config. Recuerde que debe reiniciar el sevicio
respectivo para recargar el archivo de configuración.
Copie aquí la línea del archivo que modificó
Tabla 4
Figura 14 Reinicio del servicio SSH
Figura 15 Comprobación que el usuario root NO puede acceder en
forma remota y sí lo puede hacer en forma local
Elevación de privilegios de usuarios normales
6
Comando su(1)
6.1
La idea de un conexión remota es no tener que estar al frente del servidor para realizar ciertas tareas de
administración. Pero dichas tareas la debe realizar el usuario root. La pregunta es, si el usuario root no
puede ingresar directamente al servidor, cómo éste va a realizar las tareas de administración.
Todas las soluciones apuntan a que deben exitir cierto tipo de usuarios que puedan elevar sus privilegios
hacia los del usuario root. La forma más fácil (y riesgosa) es a través del comando su(1).
Ingrese vía SSH a su máquina virtual con algún usuario creado, y eleve sus privilegios a través del
comando su.
Figura 16 Elevación de privilegios con el comando su.
Responda: ¿Por qué es riesgoso utilizar el comando su?
Comando sudo(8)
6.2
Otra forma de elevar los privilegios de un usuario es a través del comando sudo(8). A diferencia de
su, este comando puede elevar los privilegios sólo para ciertos comandos (eventualemente, pueden ser
todos los comandos del sistema).
En una instalación básica como la que tiene, el comando sudo no está instalado, por lo que debe
proceder a instalarlo. El paquete de software que lo contiene es sudo.
Figura 17 Instalación del software sudo.
Este comando lee su configuración desde el archivo /etc/sudoers. Este archivo, cuando se requiera,
DEBE ser modificado a través del comando visudo, no directamente.
Usted deberá crear un nuevo grupo, denominado admins. Uno de los usuarios creados deberá pertenecer
a dicho grupo. Luego, deberá configurar el comando sudo para que todos los usuarios que pertenezcan al
grupo admins, puedan ejecutar cualquier comando del sistema a nombre del usuario root.
Por ejemplo:


Si el usuario pdonald está incluido en el grupo admins, debería poder agregar usuarios a
través del comando sudo adduser.
Si el usuario bbunny no está incluido en el grupo admins, el sistema deberá entregar un error.
Figura 18 Pruebas de uso del comando sudo
Explicación de las pruebas utilizadas:
7
Instalación de herramientas de desarrollo
Instale lo necesario para compilar programas en C y Java. La herramienta make es indispensable. Todo el
software debe ser instalado a través del comando apt-get install.
Comandos utilizar:
Muestre en la siguiente figura sólo los paquetes que fueron instalados en este punto.
Figura 19 Paquetes instalados para el desarrollo
de software en C y Java.
Implemente una par de códigos “Hola Mundo” (en C y java). Muestre su compilación y su respectiva
ejecución
Figura 20 Compilación y ejecución de programas
de ejemplo en C y Java.
8
Sistema de ventanas X
Instale algunas aplicaciones que tengan una GUI en su máquina virtual (ddd, xterm, etc). Instale lo
mínimamente necesario para que dichas aplicaciones se puedan visualizar en el computador anfitrión.
Deje evidencia de su trabajo y del funcionamiento de forma análoga a lo ya realizado en este trabajo.
9
Bibliografía
[1] The Debian’s Handbook, R. Hertzog y R. Mas, https://www.debian.org/doc/manuals/debianhandbook/, Edition 1.
Related documents