Diferencia entre revisiones de «Ejercicios boletín 1 y 2»
De Wiki de Sistemas Operativos
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
- Con wget, envíe una petición a http://127.0.0.1:8000/hello
- 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