1.10. Información específica a Red Hat Enterprise Linux

Esta sección describe información relacionada a la filosofía de la administración de sistemas específica a Red Hat Enterprise Linux.

1.10.1. Automatización

La automatización de tareas realizadas frecuentemente bajo Red Hat Enterprise Linux requiere el conocimiento de diferentes tipos de tecnologías. Primero están los comandos que controlan el tiempo de ejecución de los scripts. Los comandos cron y at son los más utilizados para estas funciones.

cron incorpora un sistema de especificación de tiempos fácil de entender, flexible y a la vez poderoso. cron puede planear la ejecución de comandos o scripts en intervalos repetitivos que pueden variar en duración desde minutos hasta meses. El comando crontab es utilizado para manipular los archivos que controlan el demonio cron que planifica la ejecución de cada trabajo cron.

El comando at (y el comando relacionado batch) son más apropiados para planificar la ejecución de comandos o scripts que sólo se ejecutan una vez. Estos comandos implementan un subsistema rudimentario por lotes que consiste de múltiples colas con varias prioridades de planificación. Las prioridades son conocidas como niveles de niceness (debido al nombre del comando — nice). Tanto at como batch son perfectos para las tareas que deben comenzar en un momento determinado pero que no son críticas en términos de cuando finalizar.

Luego están los diferentes lenguajes de scripting. Estos son los "lenguajes de programación" que el administrador de sistemas promedio utiliza para automatizar las operaciones manuales. Hay muchos lenguajes de scripting (y cada administrador tiende a tener un favorito), pero los siguientes son los que se utilizan más a menudo:

Por encima de todas las diferencias obvias entre estos lenguajes, la diferencia más grande está en la forma en que estos lenguajes interactúan con otros utilitarios en un sistema Red Hat Enterprise Linux. Los scripts escritos con el intérprete de comandos bash tienden a hacer un uso más extensivo de muchos pequeños programas de utilerías (por ejemplo, para realizar la manipulación de cadenas de cáracteres), mientras que los scripts perl realizan más este tipo de operaciones usando funcionalidades incorporadas en el lenguaje mismo. Un script escrito usando python puede explotar mejor las capacidades de orientación a objetos del lenguaje, haciendo los scripts complejos extensible más fácilmente.

Esto significa que para manejar bien la programación del shell, debe estar familiarizado con los muchos programas de utilerías (tales como grep y sed) que son parte de Red Hat Enterprise Linux. Por otro lado, aprender perl (y python), tiende a ser un proceso más "autocontenido". Sin embargo, muchas construcciones de perl están basadas en la sintáxis de varios programas de utilerías UNIX y como tales los administradores de sistemas Red Hat Enterprise Linux con experiencia en programación del shell están familiarizados con ellos.

1.10.2. Documentación y comunicación

En las áreas de comunicación y documentación, hay poco que sea específico a Red Hat Enterprise Linux. Puesto que la documentación y comunicación puede consistir de cualquier cosa desde añadir comentarios a un archivo de configuración basado en texto hasta la actualización de una página web o el envío de correo electrónico, un administrador de sistemas usando Red Hat Enterprise Linux debe tener acceso a editores de texto, editores HTML y clientes de correo.

He aquí una pequeña muestra de los muchos editores de texto disponibles bajo Red Hat Enterprise Linux:

El editor de texto gedit es una aplicación estrictamente gráfica (en otras palabras, requiere de un entorno X Window), mientras que vim y Emacs están principalmente basadas en texto.

El tema del mejor editor de texto ha generado un debate que data casi desde que existen las computadoras y continuará así por un tiempo. Por lo tanto, el mejor enfoque es probar cada editor usted mismo y utilizar el que mejor funciona para usted.

Para los editores HTML, los administradores de sistemas pueden utilizar la función Composer del navegador web Mozilla. Por supuesto, algunos administradores de sistemas prefieren codificar manualmente su HTML, haciendo un editor de texto normal una herramienta perfectamente aceptable.

Con respecto al correo electrónico, Red Hat Enterprise Linux incluye el cliente de correo gráfico Evolution, el cliente de correo Mozilla (que también es gráfico) y mutt, que está basado en texto. De la misma manera que con los editores de texto, la selección del cliente de correo tiende a ser personal; como resultado, el mejor enfoque es probar cada cliente usted mismo y utilizar el que mejor se ajusta a usted.

1.10.3. Seguridad

Como se indicó anteriormente en este capítulo, la seguridad nunca puede ser una ocurrencia posterior y la seguridad bajo Red Hat Enterprise Linux es un poco más profunda. La autenticación y los controles de acceso están profundamente integrados dentro del sistema operativo y están basados en diseños recogidos a partir de la larga experiencia en la comunidad UNIX.

Para la autenticación, Red Hat Enterprise Linux utiliza PAM — Pluggable Authentication Modules. PAM hace posible afinar la autenticación de usuarios a través de la configuración de bibliotecas compartidas que todas las aplicaciones compatibles con PAM utilizan, todo, sin requerir ningún cambio a las aplicaciones mismas.

Los controles de acceso bajo Red Hat Enterprise Linux utilizan los permisos tradicionales tipo UNIX (lectura, escritura, ejecución) para las clasificaciones usuario, grupo y "otros". Como UNIX, Red Hat Enterprise Linux también utilizan los bits setuid y setgid para conferir temporalmente los derechos de acceso a procesos ejecutando un programa particular, basado en la propiedad del archivo del programa. Por supuesto, esto hace crítico que cualquier programa que se ejecute con privilegios setuid o setgid debe ser auditado cuidadosamente para asegurarse de que no existan vulnerabilidades explotables.

Red Hat Enterprise Linux también incluye el soporte para las listas de control de acceso. Una lista de control de acceso (ACL) es una construción que permite un control refinado sobre qué usuarios o grupos pueden tener acceso a un archivo o directorio. Por ejemplo, los permisos de un archivo pueden restringir todo el acceso de cualquiera que no sea el dueño del archivo, sin embargo, la ACL del archivo se puede configurar para permitir que solamente el usuario bob a que escriba y al grupo finance a que lea el archivo.

Otro aspecto de la seguridad es poder hacer un seguimiento de la actividad del sistema. Red Hat Enterprise Linux hace un uso extensivo de los registros, tanto al nivel del kernel como de la aplicación. El registro es controlado por el demonio syslogd, el cual registra información del sistema localmente (normalmente a archivos en el directorio /var/log/) o a sistemas remotos (que actúa como un servidor de registro dedicado para múltiples computadores).

Los sistemas de detección de intrusos (IDS) son herramientas poderosas para cualquier administrador de sistemas Red Hat Enterprise Linux. Un IDS hace posible que un administrador pueda determinar si los cambios autorizados fueron realizados a uno o más sistemas. El diseño general del sistema operativo mismo incluye funcionalidades de IDS.

Debido a que Red Hat Enterprise Linux es instalado usando RPM Package Manager (RPM), es posible utilizar RPM para verificar si se han hecho cambios a los paquetes comprendidos dentro del sistema operativo. Sin embargo, debido a que RPM es fundamentalmente una herramienta de administración de paquetes, sus habilidades como IDS son limitadas. Aún así, puede ser un buen primer paso hacia la supervisión de un sistema Red Hat Enterprise Linux para las modificaciones no autorizadas.