Centro de Informática
Sistemas Operativos II

Examen Febrero 2001.

A. Sin consulta de material (30 puntos).
Responder brevemente las siguientes preguntas.

1.  ¿Para qué sirve el comando finger? Dar un ejemplo de uso.

2. ¿Qué significa el permiso "x" en un archivo? ¿Y en un directorio?

3. ¿Qué es el "sticky bit? ¿Para qué sirve? ¿Qué permisos debe tener el directorio sobre el cual se aplique?
 

Escribir comandos para realizar las tareas indicadas:

4. Enviar un correo al usuario carola del dominio nsk.com.uy, con título "Saludos matinales". El texto del mensaje está en el archivo saludos-carola.txt.

5. Mostrar los archivos del directorio /usr/doc/HOWTO a) en listado breve; b) en listado largo; c) incluyendo archivos ocultos; d) en listado largo e incluyendo archivos ocultos.

6. Convertir el texto datos.txt todo a mayúscula y guardar en datos-may.txt.

7. Listar, del directorio /usr/doc, sólo los subdirectorios (no los archivos); en formato largo.

8.  Fijar permisos en un archivo perdiz.txt para que dueño y grupo tengan plenos poderes, pero los demás sólo puedan verlo.

9. Extraer de un archivo todas las líneas que contengan la cadena ":deudor:" y presentarlos ordenados por el monto adeudado, en orden decreciente. El monto adeudado está contenido en el campo 5, y el separador es ":".

10. ¿Qué hace el comando which php? ¿Qué condiciones debe cumplir el archivo para obtener un resultado positivo?
 

B. Con libre consulta de material.
1. Escribir un script para encontrar usuarios que haga más de cierto número de días que no ingresan al sistema. Se dispone para ello de los siguientes comandos:
   ypcat passwd
da un listado de todos los usuarios en el sistema.
   lastlog -t$DIAS
da un listado de quienes han ingresan al sistema hace menos de $DIAS. DIAS es una variable inicializada al principio del script, para poder cambiarla fácilmente; fijarla en 30 días. El formato de salida de lastlog es el siguiente:
Username         Port     From             Latest
victor           pts/2    :0.0             mié dic 20 19:29:15 -0300 2000
cristina         :0       console          lun dic 18 14:49:51 -0300 2000
root             tty2                      dom dic 17 20:34:25 -0300 2000
Los separadores son espacios. (20 puntos)


2. A partir del comando ypcat passwd filtrar las cuentas de usuarios del sistema (con UID menores que 1000) para mostrar sólo los usuarios verdaderos (con UID 1000 en adelante). (10 puntos)

3. Escribir un script de arranque tango para un sofware llamado tango que funciona en base a un demonio tangod. El script deberá aceptar los parámetros siguientes y realizar las acciones indicadas:
    start - arrancar el demonio tangod
    stop - detener el demonio tangod, con señal 15
    restart - detener y volver a arrancar tangod
    reload - releer la configuración enviando una señal 1 al proceso tangod.
Sugerencia. El comando ps ax muestra el PID de los procesos en sus primeros 6 caracteres, con relleno de blancos sobre la izquierda. (20 puntos).
Nota para prueba en máquina. El proceso tangod puede simularse con el siguiente script:

#!/bin/bash 
# tangod: emulación de demonio para tango 
# arrancarlo en background 
echo tangod: corriendo... 
trap "echo recibida señal 1" 1 
trap "echo recibida señal 15,terminando ; exit" 15 
while true 
do 
 sleep 6 
done 
###