Centro de Informática / Sistemas Operativos II 

Examen Febrero 1999.

Scripts.

1. Construir un script que
a) indique los nombres de los diferentes shells asignados a las cuentas de usuario en el archivo /etc/passwd y la cantidad de cuentas de cada uno de esos shells;
b) muestre los nombres de cuentas sin shell asignado.
 
2. Construir un script que a partir de una lista de nombres de usuario contenida en el archivo alumnos.txt, uno por línea, determine si el usuario existe o no. El script emitirá un listado con los usuarios que figuren en el archivo alumnos.txt pero no existan en el sistema.
Ayuda: el comando id usuario devuelve código de retorno 1 cuando el usuario no existe, 0 si existe. Redireccionar las salidas de id para no confundir el despliegue.
 

3. Un administrador de sistema quiere saber si hay accesos a su servidor Web desde máquinas desconocidas. Para ello dispone de un archivo de log accesos.log cuyo primer campo, separado por blancos, es el nombre de una máquina o su número IP, indistintamente; luego otros dos campos, luego fecha y página solicitada. La lista de máquinas de su propio dominio se encuentran en el archivo /etc/hosts. Escribir un script que muestre los nombres o números IP de máquinas que accedieron el Web y la fecha, omitiendo las máquinas del propio dominio.  Recordar que el archivo /etc/hosts puede tener comentarios, y que accesos.log tiene varios campos.