2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 10: Archivos LOG en BASH, introd. A la manipulación.

Slides:



Advertisements
Presentaciones similares
COLEGIO DE BACHILLERES PLANTEL #13 Xochimilco-TEPEPAN
Advertisements

Comandos Sencillos.
PortalVecinos Distribuir Documentos entre los comuneros PortalVecinos (Fácil, útil y económico)
Webquest Diseño IU: Wix.com permite un control total del diseño de la web, pudiendo elegir en cualquier momento que punto modificar o que.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:23 PRESENTACION: BASE DE DATOS ALUMNAS: Velazquez Corona Elsa Ponciano Antonio.
Solución para Control de Presencia Empleados
4. Mantenimiento de los espacios de trabajo. Manual de formación 2 4. Modificación de los espacios de trabajo 4.1 Introducción……………………………….……..……..…pág.
Iniciaremos el proceso de instalación de Ubuntu (Versión 11.04), partiendo de la base que ya se encuentra instalado en nuestro PC el sistema operativo.
Especialista en Business Intelligence Integration Services SSIS (Sesión 7) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
SQL Server Integration Services SSIS
Introducción al software
SISTEMA DE NACIMIENTOS MANUAL DEL USUARIO. El objetivo del presente manual es servir de guía al usuario final para interactuar con el Sistema, permitiéndole.
Especialista en Business Intelligence Integration Services SSIS (Sesión 7) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
INSTALACIÓN Y MANTENIMIENTO DE SISTEMAS OPERATIVOS
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
DE LAS CUENTAS DE USUARIO Y OPCIONES DE CARPETA
HERRAMIENTAS DEL SISTEMA
TRADUCTOR DE UN PROGRAMA
Support.ebsco.com Tutorial de Mi EBSCOhost Tutorial.
Sistema Operativo. ¿Qué es el Sistema Operativo? Un sistema operativo (SO) es el conjunto de programas y utilidades software que permiten al usuario interactuar.
Windows XP Windows XP (cuyo nombre en clave inicial fue Whistler) fue hecho público el 25 de octubre de 2001 por Microsoft. Microsoft inicialmente sacó.
DR. ERNESTO SUAREZ.
UNIDAD 2:Crear, abrir y cerrar una base de datos Hacer clic sobre la opción Nuevo de la pestaña Archivo. Se mostrarán las distintas opciones para nuevos.
Herramientas del sistema Jhonatan Feriz
PARTICIÓN DE DISCOS - HERRAMIENTAS
POP3 UCLV Mapas Conceptuales para la enseñanza de Redes de Computadoras.
File Ownerships and Permissions. Propiedades de Archivos regulares y Permisos.
Clase 10: Estructuras de datos y arreglos.
Correo electrónico Internet
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO MODULO IV ADMINISTRACIÓN DE BASES DE DATOS Administración del DBMS E.I. L.E. Prof. Ramón Castro Liceaga SEMINARIO.
Unit 8 System Monitoring J. Valenzuela Instituto Profesional DUOC UC Semestre
Sistema de Archivos Hernández Martinez Sonia Lizbeth
Especialista en Business Intelligence Integration Services SSIS Tareas de Flujo de Control (Parte I) Microsoft SQL Server 2008 R2 Suscribase a
3. Espacios de trabajo. Manual de formación 2 3. Espacios de trabajo 3.1 Introducción … ……pág.45.
Introducción a los Sistemas Operativos
Gestión de procesos Sistemas Operativos Edwin Morales
Servicio horario NTP - Protocolo NTP Luis Villalta Márquez.
Herramientas del sistema Maira Alejandra Ortiz losada universidad Surcolombiana 2014.
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 5: Comandos de manipulación de Directorios y.
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 7: Control del flujo en BASH Nombre unidad de.
Manual de usuario. Configuración inicial Para comenzar a utilizar la aplicación lo primero que tiene que hacer es configurar el Huso horario y la configuración.
Introducción a Procesos.  Contexto de ejecución: Conjunto de variables y parámetros, que tiene independencia de otro procesos.  Contexto de E/S ◦ Descriptores.
Ficheros de información /var/log
Introducción a los SOs.
Cuentas de usuarios y grupos en windows 2008 server
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 4: Comandos de manipulación de Archivos y filtros.
Trabajo realizado por: Rosa Fernández Extremera Virginia Sánchez López.
Estructura de los Sistemas Operativos
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Sebastian Madrid Perez
Vamos a tratar algunos temas que es necesario conocer a la hora de administrar un sistema informático y que nos van a ser útiles sin importar el sistema.
La configuración general de un curso se realiza desde el bloque "Ajustes", en “Administración del curso”, en “Editar ajustes” (Tenemos que estar en el.
MARIANA PRECIADO VILLA TELECOMUNICACIONES 11º3
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 9: Funciones, variables y arreglos en BASH Nombre.
Luis Villalta Márquez. Servidores de nombres de dominio (DNS)
COLEGIO DE BACHILLERES PLANTEL #13 Xochimilco-TEPEPAN NOMBRE DEL PROFESORA: Gabriela Pichardo NOMBRE DEL ALUMNO: García monroy jazmín GRADO: 3er Semestre.
HERRAMIENTAS DEL SISTEMA DE WINDOWS PROFESOR: Fernando Mejía. ALUMNO: Luis Eduardo Valenzuela Hidalgo.
FL Print Job Tracker 4.0 Administra Controla Audita Almacena “Spend less time managing your printing costs and more time managing your profit”
Elementos y tipos de sistemas operativos
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 2: El sistema de archivos de LINUX Nombre unidad.
1     Sistema de gestión de contactos PARQUE E Miércoles, 29 de Abril de 2015   
Registros del sistema (logs) ● Nos permiten saber qué pasó ● Nos permiten saber qué pasa ● Nos permiten saber qué pasará.
Herramientas del sistema de windows Nombre del maestro: Fernando Mejía Nombre del alumno: Rogelio Ernesto Soria Rangel.
Plataformas e- learning Moodle. Instalacion  Descargamos Moodle de su página oficial  Una vez hemos descargado el archivo, lo descomprimimos y copiamos.
WINDOWS SERVER 2008 r2 ADMINISTRACION DE RECURSOS: Con el Administrador de recursos del sistema de Windows del sistema operativo Windows Server® 2008 R2,
Cristina Sánchez.  Linux y Windows son sistemas multiusos. Esto permite que varias personas puedan usar el mismo ordenador para realizar sus tareas.
QUÉ ES UNA BASE DE DATOS? Es un Conjunto de Información, que está clasificada de distintas maneras; pero que comparten entre sí algún tipo de vínculo,
Operaciones y funciones básicas del sistema operativo Windows Mayo 2010 Castillo Navarro Adolfo y González Bello Edgar Oswaldo (2010). Operaciones y funciones.
ORDENADOR HARDWARE UNIDAD CENTRAL Microprocesador memoria PERIFÉRICOS Teclado, ratón, Escáner, Impresora, Webcam, lápiz, Etc. SOFTWARE SISTEMAS OPERATIVOS.
TEMA 6 Copias de seguridad y Restauración Msc. Rina Arauz.
Transcripción de la presentación:

2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 10: Archivos LOG en BASH, introd. A la manipulación de PROCESOS en LINUX Nombre unidad de aprendizaje: Programación avanzada de SCRIPTS Programación Aplicada

2© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Objetivos  Objetivos de la clase  Programa rutinas utilizando los diferentes tipos de variables, constantes, operadores y sentencias de control en lenguaje Bash.  Construye rutinas scripting para el análisis de LOG.  Construye rutinas scripting Web de monitoreo de proceso y eventos.

3© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Archivos de LOG  El SISTEMA DE LOGS de LINUX (log = registro), es un mecanismo estándar que se encarga de recoger los mensajes generados por el kernel, los programas, aplicaciones y demonios y lo que está ocurriendo en el sistema, y enviarlos a un destino predefinido.  Esta información es muy importante para detectar intentos de acceso no autorizados, como se comporta un manejador, seguridad, estadísticas, detección de problemas, etc.

4© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Archivos de LOG  La información se envía en forma de mensajes a unos archivos conocidos como archivos de registro o archivos de logs.  En cada “mensaje de log” consta la fuente (el programa que generó el mensaje), la prioridad (nivel de importancia del mensaje), la fecha y la hora.

5© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Archivos de LOG  Por ejemplo, un mensaje de error de kernel indicando un problema con los datos de un sistema de archivos ext2fs debería aparecer en los archivos log como: Dec 1 21:03:35 loomer kernel: EXT2-fs error (device 3/2): ext2_check_blocks_bit map: Wrong free blocks count in super block, stored = 27202, counted = 27853

6© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Archivos de LOG  Hay varios niveles de prioridad de los mensajes (de menos a más prioritario: debug, info, notice, warning, warn, err, error, crit, alert, emerg y panic) y varios tipos de mensajes (auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security, syslog, user, uucp y local0-local7).  El SISTEMA DE LOGS arranca con el SCRIPT /etc/init.d/sysklogd, y tiene dos demonios: syslogd y klogd.

7© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Archivos de LOG  El demonio syslogd permite gestionar los logs del sistema.  syslogd distribuye los mensajes a archivos, tuberías, destinos remotos, terminales o usuarios, usando las indicaciones especificadas en su archivo de configuración /etc/syslog.conf, donde se indica qué se “loguea“ y a dónde se envían estos logs.

8© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Archivos de LOG  syslogd responde a la señal 1 (SIGHUP) cerrando los logs, releyendo la configuración y reiniciando la operación. Es por eso que si realizamos algún cambio en la configuración, o si rotamos o movemos los archivos de log, es necesario enviarle una señal SIGHUP a syslogd.

9© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Archivos de LOG  Una herramienta bastante potente para depurar errores en la configuración de syslog es ejecutarlo en modo debug con el flag -d (syslog -d). Ejecutado de este modo syslog despliega una tabla con una columna por cada facility y un renglón por cada acción.  Los números en la tabla desplegada indican a partir de cual nivel se aplica la acción para cada facility.

10© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Archivos de LOG  Cuando se ejecuta en modo debug syslogd no libera el terminal. Después de desplegar la tabla con el resumen de acciones queda desplegando en pantalla cada mensaje que recibe y las acciones que se le aplican.  El comando logger permite enviar eventos al demonio syslogd, por lo que se utiliza en scripts para registrar mensajes vía sysklogd. Por ejemplo, si hacemos:

11© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Archivos de LOG  veremos que se ha añadido a /var/log/messages la línea: # logger -t mi_programa -f /var/log/messages "Mensaje ejemplo" May 14 23:10:13 pc450 mi_programa: Mensaje ejemplo

12© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Archivos de LOG  El demonio klogd se encarga de los logs del kernel. Lo normal es que klogd envíe sus mensajes a syslogd pero no siempre es así, sobre todo en los eventos de alta prioridad, que salen directamente por pantalla.  Los logs se guardan en archivos ubicados en el directorio /var/log, aunque muchos programas manejan sus propios logs y los guardan en /var/log/.

13© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Archivos de LOG  Además, es posible especificar múltiples destinos para un mismo mensaje. Algunos de los log más importantes son:  /var/log/messages: aquí encontraremos los logs que llegan con prioridad info (información), notice (notificación) o warn (aviso).  /var/log/kern.log: aquí se almacenan los logs del kernel, generados por klogd.

14© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Archivos de LOG  /var/log/auth.log: en este log se registran los login en el sistema, las veces que hacemos su, etc. Los intentos fallidos se registran en líneas con información del tipo invalid password o authentication failure.  /var/log/dmesg: en este archivo se almacena la información que genera el kernel durante el arranque del sistema. Podemos ver su contenido con el comando dmesg.

15© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Archivos de LOG  /var/log/wtmp: este log contiene la información relacionada a los “logins” y “logouts” relacionados al sistema (desde donde, horario, fecha, usuario). Para poder verlo tenemos que utilizar el comando last.  Relacionado con este, también tenemos el archivo utmp, el cual nos brinda información acerca de los usuarios “logeados” en el sistema al momento de solicitar la información.

16© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Archivos de LOG  Para acceder a esta información podemos utilizar el comando who (también se puede utilizar el comando last).  /var/log/lastlog: Este archivo contiene información relativa a la fecha y hora del último login de cada usuario, para acceder a esta información podemos hacerlo con el comando lastlog.

17© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Archivos de LOG  Para indicar de que usuario queremos saber, anteponemos -u al nombre de usuario, por ejemplo, podemos usar: lastlog -u alumno.  /var/log/faillog: este log registra los intentos fallidos de cada usuario al querer “logearse” en el sistema, para acceder tenemos el comando faillog. ~]$ faillog –u alumno Username Failures Maximum Latest alumno 0 2

18© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Archivos de LOG  En la columna "Maximum" se indica la cantidad de intentos erróneos que se permiten antes de deshabilitar la cuenta, para modificar este valor se debe usar la orden faillog -u alumno -m valor donde valor es el número máximo.  Para evitar que los archivos log crezcan indefinidamente con los mensajes, se hace que sean circulares (son rotados).

19© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Rotación de los archivos de LOG  Los archivos log pueden volverse grandes y difíciles de manejar, debido a esto LINUX provee un comando para rotarlos y así evitar que la información actual se mezcle con información vieja irrelevante.  El paquete logrotate contiene una tarea de cron que hace circular (rotar) automáticamente los archivos de log.

20© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Rotación de los archivos de LOG  Para esto último será necesario utilizar el archivo de configuración /etc/logrotate.conf y los archivos de configuración en el directorio /etc/logrotate.d.  Se puede configurar el comportamiento automático de logrotate editando el archivo de configuración /etc/logrotate.conf.

21© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Rotación de los archivos de LOG  Generalmente, logrotate se ejecuta cada cierto tiempo automáticamente, aunque también puede ejecutarse de forma manual.  Cuando es ejecutado, logrotate tomará la versión actual de un archivo de log y le añadirá un ".1" al final de su nombre. Luego, cualquier otro archivo rotado previamente será renombrado secuencialmente ".2", ".3", etc. Cuando más grande el número del log, más viejo es el archivo.

22© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Rotación de los archivos de LOG  El programa logrotate puede rotar los archivos log basado en varios parámetros, pudiéndose realizar rotaciones diariamente, semanalmente o mensualmente; además, basado en el tamaño del archivo de log, logrotate puede comprimir los logs para no comprometer el espacio del disco, etc.  En resumen, logrotate es una completa herramienta de administración de los logs del sistema.

23© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Rotación de los archivos de LOG  Una vista parcial del archivo de configuración de logrotate se muestra a continuación: ~]# cat /etc/logrotate.conf # rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 4 # create new (empty) log files after rotating old ones create # uncomment this if you want your log files compressed #compress …

24© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Rotación de los archivos de LOG  Algunas de las directivas de configuración de logrotate incluyen: daily - Los archivos log serán rotados todos los días. weekly - Los archivos log serán rotados una vez por semana. monthly - Los archivos log serán rotados una vez por mes.

25© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Rotación de los archivos de LOG rotate – Especifica el número de veces que los archivos log serán rotados antes de que sean borrados o enviados por correo a una dirección especificada en una directiva mail. compress – Las versiones antiguas de los archivos log serán comprimidas con gzip.  Existen varias otras directivas asociadas con el programa logrotate; como siempre, consultar el manual en línea para más información.

26© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Rotación de los archivos de LOG  Son varias las aplicaciones y/o servicios que instalan sus propios archivos de rotación de logs dentro del directorio /etc/logrotate.d/, esto permite asegurar que sus logs sean adecuadamente rotados.  Por ejemplo, el paquete apache2 crea el archivo de rotación /etc/logrotate/apache2.

27© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Seguridad general de los logs  Por lo general, no se debe permitir que los demás usuarios vean los archivos de log de un servidor, y especialmente que puedan ser capaces de modificarlos o borrarlos.  En general, la mayoría de los archivos de log son propiedad del usuario y grupo root, y no tienen asignados permisos para otros, de modo que en la mayoría de los casos, el único usuario que será capaz de modificar los logs será el root.

28© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Seguridad general de los logs  Se pueden tomar medidas de seguridad adicionales, siendo la más simple el uso de la orden chattr (CHANGE ATTRIBUTES), para dejar exclusivamente permiso de sólo-añadir a los archivos de log.  De tal forma que si se da un problema en /tmp que permita a la gente sobreescribir archivos del sistema no se puedan dañar los archivos de logs.

29© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Seguridad general de los logs  Para dejar un archivo en modo sólo-añadir, se puede utilizar el siguiente comando:  A la función chattr sólo tiene acceso el superusuario. ~]# chattr +a nombre_archivo

30© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Seguridad general de los logs  Si se dejan todos los archivos en modo sólo- añadir, hay que tener en cuenta que fallarán los programas de rotación de logs, puesto que no pueden dejar en cero el archivo de log. Para deshabilitar el atributo sólo-añadir se agrega la siguiente línea al script: chattr -a nombre_archivo

31© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Seguridad general de los logs  y luego, se puede añadir una línea después del script de rotación de logs para reiniciar el flag de sólo-añadir.  Si los archivos de logs se dejan en el sistema, quizás sea preferible activar también el flag de inmutables, de forma que no se puedan falsificar con facilidad.  Para activar el archivo como inmutable, simplemente utilizar el comando:

32© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Seguridad general de los logs  lo que evitará cualquier cambio en el archivo.  sólo el usuario root tiene acceso al flag de inmutable. ~]# chattr +i nombre_archivo

33© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Concepto de PROCESO  La idea más generalmente aceptada acerca de un PROCESO es la de programa en ejecución.  En WINDOWS a los procesos se les denomina TAREAS, en otros sistemas operativos se les denomina TRABAJOS o JOBS. Proceso:=Programa en ejecución

34© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Concepto de PROCESO  Los PROCESOS son entidades activas (se están ejecutando) y los programas son entidades pasivas (NO se están ejecutando, NO tienen actividad), de aquí que: Proceso≠Programa

35© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Concepto de PROCESO  Los PROCESOS son entidades abstractas que el sistema operativo utiliza para controlar y manipular la ejecución de los programas.  Un PROCESO no es más que un programa o aplicación cargado en memoria y ejecutándose.  Durante su existencia los procesos pueden pasar por una serie de “estados” finitos, tal como lo muestra la siguiente figura:

36© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Concepto de PROCESO

37© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Manipulación de PROCESOS en LINUX  En LINUX, el kernel o núcleo del sistema asigna a los PROCESOS un número llamado PID (Process ID o Process IDentification), que permite la identificación única de dicho PROCESO en el sistema.  Aunque se podría pensar que sólo con el nombre ya tendríamos suficiente para identificar un PROCESO, es imprescindible tener el PID, ya que podemos ejecutar un PROCESO tantas veces como queramos.

38© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Manipulación de PROCESOS en LINUX  Con lo anterior, vamos a tener varias instancias del mismo PROCESO, pero cada una con un PID distinto.  En GNU/LINUX (al igual que en UNIX) el comando ps (process status) permite obtener información acerca del estado de los PROCESOS de usuarios y del sistema.

39© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Información de los PROCESOS  Como se puede ver el primer número es el PID que el kernel del sistema le asigna al PROCESO y en la columna CMD se puede ver el nombre del PROCESO. ~]$ ps PIDTTY TIMECMD 8621pts000:00:00-bash 8745pts000:00:00ps ~]$

40© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Información de los PROCESOS  TTY identifica la terminal o consola donde se está ejecutando el PROCESO. La columna TIME nos indica la cantidad de tiempo total que el PROCESO se ha estado ejecutando.  Al ser un comando estándar en todos los UNIX y LINUX, ps soporta una buena cantidad de parámetros y opciones especificadas en versiones anteriores del comando.

41© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Información de los PROCESOS  El parámetro -e devuelve un listado de todos los procesos que se están ejecutando.  El parámetro -f devuelve un listado extendido. En este último caso veremos en pantalla el PPID del proceso (identificador del proceso padre) y la hora en la que se ejecutó el proceso (STIME).

42© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Información de los PROCESOS  Los parámetros pueden aparecer juntos en el mismo comando, es decir, podríamos llamar al comando ps de la siguiente forma: ps –ef, de esta manera obtendríamos un listado extendido de todos los procesos que se están ejecutando en el sistema.  El parámetro -u lista información de los procesos lanzados por un determinado usuario, así, ps -u alumno, listará información de los procesos que está ejecutando el usuario alumno.

43© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Matar/Terminar PROCESOS en LINUX  Otro de los comandos de manipulación de procesos en GNU/LINUX (y UNIX) es el comando kill, asociado básicamente a la acción de “matar” o terminar procesos.  En términos técnicos, el propósito del comando kill no es solamente “matar” o terminar un proceso: el comando kill en realidad está diseñado para enviar una SEÑAL (SIGNAL) a un proceso.

44© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Matar/Terminar PROCESOS en LINUX  Aparte de informarnos sobre los PROCESOS, el sistema operativo, más precisamente el kernel del sistema operativo, nos permite también enviarles señales para informarles de algún evento: quitarlos de la cola de ejecución, terminarlos, aumentar su prioridad, etc.  Es decir, NO todas las señales pasadas con kill son para “matar” o terminar PROCESOS.

45© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Matar/Terminar PROCESOS en LINUX  Hay dos formas básicas de terminar procesos:  Por defecto, la señal pasada al PROCESO en la primera forma del comando es la señal 15, denominada SIGTERM.  SIGTERM se utiliza para “terminar” un PROCESO.  kill kill -9

46© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Matar/Terminar PROCESOS en LINUX  Con la primera forma informamos al proceso (en el comando hay que especificar el PID del PROCESO, no el nombre) que queremos que termine, pero dejamos que guarde su información y finalice de forma correcta.  Con la segunda forma eliminamos el proceso directamente de la cola de ejecución; se utiliza cuando un proceso está “zombie”, colgado o no responde, o simplemente está consumiendo demasiada CPU en un momento determinado.

47© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Matar/Terminar PROCESOS en LINUX  De esta forma, la señal pasada al PROCESO es la señal 9, denominada SIGKILL.  Si queremos “matar” PROCESOS de forma más cómoda, podemos usar el comando killall.  Otro comando útil es skill que nos permite enviar señales a los procesos de forma distinta. Por ejemplo, si queremos detener todas las ejecuciones de un determinado usuario podríamos utilizar:

48© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Matar/Terminar PROCESOS en LINUX  skill -STOP -u, con lo que todos los procesos de dicho usuario terminarían.  Cuando estamos ejecutando un programa en consola y queremos terminarlo, podemos enviar directamente la señal SIGTERM con +, y podemos pausarlo con + y devolverlo luego a primer plano con fg.

49© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Matar/Terminar PROCESOS en LINUX  En resumen, hay un total de 32 señales que se pueden enviar a los procesos, sin embargo, las más utilizadas son las siguientes: kill -1 (SIGHUP) para reiniciar un proceso. kill -9 (SIGKILL) para matar un proceso. kill -15 (SIGTERM) para terminar un proceso.

50© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Resumen  Resumen de la clase  El SISTEMA DE LOGS de LINUX, es un mecanismo estándar que se encarga de recoger los mensajes generados por los programas, aplicaciones y demonios y enviarlos a un destino predefinido.  En cada mensaje de log se deja constancia de la fuente (el programa que generó el mensaje), la prioridad (nivel de importancia del mensaje), la fecha y la hora del evento.  En LINUX, syslogd gestiona los logs del sistema y klogd se encarga de los logs del kernel.  Los logs de los sistemas UNIX/LINUX se guardan en archivos ubicados en el directorio /var/log, aunque, usualmente, muchos programas manejan sus propios logs y los guardan en /var/log/.  Los archivos de log en LINUX son críticos para la resolución de problemas y el mantenimiento del sistema.

51© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Resumen  Resumen de la clase  El registro de los mensajes de log usualmente se hace a archivos de texto, evitando así la necesidad de herramientas propietarias para leerlos. Los archivos de texto son también fáciles de leer con miras a su uso en scripts y programas.  También hay archivos de log binarios, que necesariamente deben ser consultados a través de comandos y/o herramientas LINUX.  Los logs son rotados para evitar que se vuelvan demasiado grandes y son separados de la información actual, dicha rotación es configurable. Se puede decir que logrotate es una completa herramienta de administración de los logs del sistema.  El registro de los logs es altamente configurable, pudiendo incluso ser guardados en sistemas separados por cuestiones de seguridad y/o resguardo.

52© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Resumen  Resumen de la clase  Por lo general, no se debe permitir que los demás usuarios vean los archivos de log de un servidor, y especialmente que puedan ser capaces de modificarlos o borrarlos; en general, la mayoría de los archivos de log son propiedad del usuario y grupo root, y no tienen asignados permisos para otros, de modo que en la mayoría de los casos, el único usuario que será capaz de modificar los logs será el root.  Se pueden tomar medidas de seguridad adicionales, siendo la más simple el uso de la orden chattr, para dejar exclusivamente permiso de sólo- añadir a los archivos de log. Si los archivos de logs se dejan en el sistema, quizás sea preferible activar también el flag de inmutables, de forma que no se puedan falsificar con facilidad.

53© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Resumen  Resumen de la clase  La idea mas generalmente aceptada acerca de un PROCESO es la de programa en ejecución.  Un PROCESO no es más que un programa o aplicación cargado en memoria y ejecutándose. Sin embargo, un PROCESO es mucho mas que un programa en memoria y sobre todo en la clase de sistema operativo que nos compete, con sus funciones de multiusuario y multitarea como lo son los sistemas UNIX/LINUX.  En LINUX, el kernel o núcleo del sistema asigna a los PROCESOS un número llamado PID, que permite la identificación única de dicho PROCESO en el sistema.  PID identificación del proceso, PPID identificación del proceso padre.  En GNU/LINUX el comando ps permite obtener información acerca de los PROCESOS de usuarios y del sistema.

54© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Resumen  Resumen de la clase  El comando kill no solo permite “matar” un proceso; el comando kill en realidad está diseñado para enviar una SEÑAL (SIGNAL) a un proceso. Entre las señales posibles esta la señal de “matar” un proceso: SIGKILL, la de terminar un proceso: SIGTERM, entre otras.