Diferencia entre revisiones de «Ejercicios boletín 1 y 2»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
 
Línea 1: Línea 1:
 +
= Ejercicio 1 =
 +
 
* Cree una máquina virtual
 
* Cree una máquina virtual
 
* Obtenga dirección IP, compruebe conectividad, actualice paquetes
 
* Obtenga dirección IP, compruebe conectividad, actualice paquetes
Línea 50: Línea 52:
  
 
  ./example.py
 
  ./example.py
 +
 +
= Ejercicio 2 =
 +
 +
* Cree una máquina virtual
 +
* Obtenga dirección IP, compruebe conectividad, actualice paquetes
 +
* Cree dos usuarios 'prueba1' y 'prueba2'
 +
* Cree el grupo 'prueba'
 +
* Añada 'prueba1' y 'prueba2' al grupo 'prueba'
 +
* Cree el siguiente árbol de carpetas y ficheros en el home de 'prueba1'
 +
 +
|
 +
|--a
 +
|  |_ x.txt
 +
|  |_ y.txt
 +
|
 +
|__b
 +
* copie la carpeta a al temporal.
 +
* mueva el contenido de la carpeta 'a' a la carpeta 'b'
 +
* Dé permiso al grupo prueba para que prueba2 pueda acceder a las carpetas a y b en el home de prueba1.
 +
* Instale el paquete 'cowsay'
 +
* Ejecute el programa 'cowsay' con:
 +
 +
cowsay "Hola amigos"
 +
 +
* Vuelque la salida de cowsay al fichero "prueba.txt"
 +
* Cree el fichero example.py con el siguiente contenido:
 +
 +
import http.server
 +
import socketserver
 +
 +
PORT = 8080
 +
Handler = http.server.SimpleHTTPRequestHandler
 +
 +
with socketserver.TCPServer(("", PORT), Handler) as httpd:
 +
    print("serving at port", PORT)
 +
    httpd.serve_forever()
 +
 +
* Láncelo con: python3 example.py
 +
* Averigue el PID del proceso 'python3 example.py' lanzado anteriormente y termine la ejecución del proceso mediante la señal abrupta

Revisión actual del 17:17 7 abr 2022

Ejercicio 1

  • Cree una máquina virtual
  • Obtenga dirección IP, compruebe conectividad, actualice paquetes
  • Cree un usuario 'prueba' y úselo
  • Cree el siguiente árbol de carpetas y ficheros en el home de 'prueba', como usuario 'prueba'
|
|--a
|
|--b
|
|--c
   |
   |--d
   |
   |--e

donde haya un fichero x.txt en a y un fichero y.txt en b.

  • Copie la carpeta c al temporal
  • Renombre b a w
  • Establezca permisos de sólo lectura para el propietario del fichero x
  • Como root, cree el fichero prueba.txt en el temporal y cambie el propietario y el grupo al usuario prueba
  • Muestre todos los directorios que hay en el home del usuario prueba
  • Cuenta el número de directorios que hay en el home del usuario prueba
  • Instale el paquete python3-hug.
  • Edite el fichero example.py que contenga lo siguiente:
import hug

@hug.get()
def hello():
   return "hello world!"


  • lance el programa con:
hug -f example.py
  • Averigue el PID del proceso hug y termine su ejecución de manera no abrupta.
  • Edite el fichero example.py y añada en la primera línea del fichero:
#!/usr/bin/hug -f

- NOTA: Esta nomenclatura se denomina shebang e indica el binario que permite ejecutar el programa descrito en dicho fichero.

  • Dé permisos de lectura, escritura y ejecución a example.py al propietario, no dé ningún permiso al grupo y al resto del mundo
  • Pruebe a lanzar el programa example.py mediante:
./example.py

Ejercicio 2

  • Cree una máquina virtual
  • Obtenga dirección IP, compruebe conectividad, actualice paquetes
  • Cree dos usuarios 'prueba1' y 'prueba2'
  • Cree el grupo 'prueba'
  • Añada 'prueba1' y 'prueba2' al grupo 'prueba'
  • Cree el siguiente árbol de carpetas y ficheros en el home de 'prueba1'
|
|--a
|  |_ x.txt
|  |_ y.txt
|
|__b
  • copie la carpeta a al temporal.
  • mueva el contenido de la carpeta 'a' a la carpeta 'b'
  • Dé permiso al grupo prueba para que prueba2 pueda acceder a las carpetas a y b en el home de prueba1.
  • Instale el paquete 'cowsay'
  • Ejecute el programa 'cowsay' con:
cowsay "Hola amigos"
  • Vuelque la salida de cowsay al fichero "prueba.txt"
  • Cree el fichero example.py con el siguiente contenido:
import http.server
import socketserver
PORT = 8080
Handler = http.server.SimpleHTTPRequestHandler
with socketserver.TCPServer(("", PORT), Handler) as httpd:
    print("serving at port", PORT)
    httpd.serve_forever()
  • Láncelo con: python3 example.py
  • Averigue el PID del proceso 'python3 example.py' lanzado anteriormente y termine la ejecución del proceso mediante la señal abrupta