Práctica Sistemas Operativos II Fecha de entrega: 17 de Noviembre, 09 am Equipo de 2 a 4 personas. No se aceptan prácticas individuales. Si exceden a 4 personas en el número de equipo, se bajan 2 puntos por personas agregadas. Condiciones de entrega: Deberá ponerse en una pagina web con formato tar y compreso con gzip. Dicho archivo debe ser encriptado con la llave pública de los profesores y usando la herramienta gpg. Ver ejercicio 0. Enviar un correo a gusdelact@yahoo.com.mx, indicando los nombres de cada integrante del equipo y la dirección de WWW donde está la práctica. NO SE ACEPTAN ARCHIVOS ANEXOS AL CORREO. 0. Investigar qué es PGP. En http://www.gnupg.org se encuentra la página del software abierto GPG. Para aprender el uso de la herramienta checar el tutorial de http://www.glump.net/content/gpg_intro/html/3_Creating_Your_Personal.html Hacer ejercicios para aprender como encriptar y desencriptar archivos. La llave pública con la que se debe encriptar la tarea está disponbile en http://www.geocities.com/gusdelact/cib5122003/laboratorioso512.txt Dicha llave se debe importar al llavero público de cada equipo. (Nota, en auriga está instalado gpg. Tambien existen versiones para Win32) 1. Realizar un shell script (usando Bourne Shell) que reciba como parametro el nombre de un proceso y que mate todos los procesos del sistema que coincidan con dicho nombre. NOTA: no se puede utilizar el comando pkill ni killall Ejemplo: mata_todos.sh victima debera buscar todos los procesos que coincidan con la cadena victima y matarlos. 2. Crear dos scripts para empaquetar y desempaquetar archivos. Sintaxis primer script: empaqueta.sh paquete.tgz arch_o_dir_1 arch_o_dir_2 ..... arch_o_dir_n Debera guardar en paquete.tgz los archivos y/o directorios indicados a partir del segundo parametro en formato tar comprimido (gz). Debera validarse que los archivos y/o directorios existan. Sintaxis segundo script: desempaqueta.sh paquete.tgz Debera descomprimir y restaurar el contenido de paquete.tgz 3. Generar un shell script, que sea un menu que presente las siguientes opciones: A. Compilar código fuente B. Redireccionar salida de errores de compilacion hacia un archivo C. Borrar archivos .o D. Generar programa ejecutable E. Salir El programa debe de preguntar al usuario que opción aplicar Se deben utilizar variables de ambiente para especificar al programa la ruta del código fuente y el nombre del ejecutable. + La ubicacion o ruta donde se encuentran los archivos .c se especificara en la variable de ambiente RUTA + El nombre del ejecutable a generar se especificara en la variable de ambiente NOMBRE_EXE La opción para compilar debe usar el comando gcc. Si no se indica el archivo (con la opción B) donde se almacenan los errores de compilación, debe presentar los mensajes de compilación en pantalla (error estandar). Para saber la ruta del código fuente debe usar la variable RUTA. La opción B, sirve para indicar en que archivo se guardan los mensajes de compilación La opción C, debe borrar los archivos objeto (extensión o) generados en el paso A La opción D debe utilizar los archivos objeto generado con la opción A y generar un programa ejecutable, donde debe tomar el valor de la variable de ambiente NOMBRE_EXE para indicar el nombre del programa ejecutable. 4. Generar un shell script que indique cuantas veces se ha conectado cada uno de los usuarios dados de alta en el sistema, ordenandolos de menor a mayor. Ejemplo: lista_usuarios.sh fulanito 5 usuario 7 root 10