77
Módulo 10: Administración de Linux 1 Índice Descripción general ................................................................................................................................ 2 10.1 Administración de la Interfaz del Usuario ............................................................................. 3 10.1.1 Procedimientos de inicio de sesión .............................................................................. 3 10.1.2 Interfaz GUI ........................................................................................................................ 3 10.1.3 Interfaz CLI ......................................................................................................................... 6 10.1.4 Los shells de Linux ........................................................................................................ 14 10.1.5 Editor VI ............................................................................................................................ 16 10.1.6 awk .................................................................................................................................... 18 10.2 Cuentas de Usuario y Cuentas de Grupo ............................................................................ 21 10.2.1 Cuentas de usuario y grupo en un entorno Linux .................................................... 21 10.2.2 Agregado y Eliminación de Cuentas de Usuario ...................................................... 24 10.2.3 Administración de cuentas de usuario ....................................................................... 27 10.2.4 Creación de grupos y agregado de usuarios a grupos ........................................... 29 10.3 Sistema de Archivos y Administración de Servicios ........................................................ 32 10.3.1 Crear y compartir directorios ....................................................................................... 32 10.3.2 Uso de find y Grez................................................................................................................. 32 10.3.2 Contraseñas y permisos................................................................................................ 34 10.3.4 Archivos de configuración del sistema de archivos ................................................37 10.3.5 Administración de niveles de ejecución..................................................................... 45 10.3.6 Documentación de la configuración de un sistema Linux ...................................... 53 10.4 Daemons.................................................................................................................................... 57 10.4.1 Introducción a los daemons Linux .............................................................................. 57 10.4.2 Inicio, detención y reinicio de daemons ..................................................................... 58 10.4.3 http .................................................................................................................................... 61 10.4.4 FTP .................................................................................................................................... 63 10.4.5 Telnet ................................................................................................................................ 64 10.4.6 Protocolo Bloque de Mensaje de Servidor (SMB)..................................................... 66 10.4.7 NFS (Sistema de Archivos de Red).............................................................................. 68 10.4.8 Cliente de Correo ............................................................................................................ 69 10.4.9 Impresión en un entorno Linux .................................................................................... 70 10.4.10 Scripts ............................................................................................................................... 75 Resumen ................................................................................................................................................. 77

Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Embed Size (px)

DESCRIPTION

ESPAÑOLCapitulo 10 IT Essentials 2 Sistemas Operativos de Red - EspañolINACAP Primavera 2009*El curso de este curriculo de Cisco ya no se realiza pero la informacion es válida.

Citation preview

Page 1: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

1

Índice

Descripción general ................................................................................................................................210.1 Administración de la Interfaz del Usuario .............................................................................3

10.1.1 Procedimientos de inicio de sesión ..............................................................................310.1.2 Interfaz GUI ........................................................................................................................310.1.3 Interfaz CLI .........................................................................................................................610.1.4 Los shells de Linux ........................................................................................................1410.1.5 Editor VI ............................................................................................................................1610.1.6 awk ....................................................................................................................................18

10.2 Cuentas de Usuario y Cuentas de Grupo ............................................................................2110.2.1 Cuentas de usuario y grupo en un entorno Linux....................................................2110.2.2 Agregado y Eliminación de Cuentas de Usuario ......................................................2410.2.3 Administración de cuentas de usuario .......................................................................2710.2.4 Creación de grupos y agregado de usuarios a grupos ...........................................29

10.3 Sistema de Archivos y Administración de Servicios ........................................................3210.3.1 Crear y compartir directorios .......................................................................................3210.3.2 Uso de find y Grez.................................................................................................................3210.3.2 Contraseñas y permisos................................................................................................3410.3.4 Archivos de configuración del sistema de archivos ................................................3710.3.5 Administración de niveles de ejecución.....................................................................4510.3.6 Documentación de la configuración de un sistema Linux......................................53

10.4 Daemons....................................................................................................................................5710.4.1 Introducción a los daemons Linux ..............................................................................5710.4.2 Inicio, detención y reinicio de daemons.....................................................................5810.4.3 http ....................................................................................................................................6110.4.4 FTP ....................................................................................................................................6310.4.5 Telnet ................................................................................................................................6410.4.6 Protocolo Bloque de Mensaje de Servidor (SMB).....................................................6610.4.7 NFS (Sistema de Archivos de Red)..............................................................................6810.4.8 Cliente de Correo ............................................................................................................6910.4.9 Impresión en un entorno Linux ....................................................................................7010.4.10 Scripts...............................................................................................................................75

Resumen .................................................................................................................................................77

Page 2: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

2

Descripción general

Este capítulo detalla el sistema operativo Linux. Linux tiene como objetivo principal ser un SistemaOperativo de Red (NOS) basado en servidor. La instalación incluye unos pocos pasos adicionalesque no se encuentran en Windows 2000. Una vez verificado que el sistema es compatible, Linuxguía al administrador al paso final de iniciar sesión. Administrar cuentas de usuario y el sistema dearchivos también se tratan en este capítulo para proporcionar al administrador la informaciónnecesaria para compartir carpetas, archivos, y asignar permisos. El alumno también aprenderásobre los daemons Linux que se configuran para servir contenido web, proporcionar servicio de e-mail, etcétera.

Page 3: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

3

10.1 Administración de la Interfaz del Usuario

10.1.1 Procedimientos de inicio de sesión

Los usuarios pueden iniciar sesión en un sistema operativo Linux usando la Interfaz de Línea deComandos (CLI), que es similar a la interfaz de Windows 2000. Un ejemplo de la pantalla de iniciode sesión en modo texto para Linux Red Hat se muestra en la Figura . La consola de Linux sedenomina CLI y se tratará en más detalle posteriormente en este capítulo. En lugar de mostrarrecuadros de texto y botones como la GUI de Windows 2000, la CLI de Linux proporciona alusuario sucesivos prompts de texto para introducir un nombre de usuario y una contraseña. No serequiere ninguna información adicional sobre el dominio. A diferencia de Windows 2000, lascontraseñas de Linux se enmascaran completamente al ser tipeadas, haciendo importante prestarmucha atención al introducirlas. Los usuarios deberían también ser cuidadosos de no introducirinformación de cuenta inválida continuamente. Esto se debe al hecho de que algunosadministradores de sistemas implementan funciones de seguridad para bloquear o reiniciar elsistema después de una cantidad de intentos fallidos. Una vez que la información de la cuenta seha entregado exitosamente, el usuario iniciará sesión en el sistema, será llevado a su directoriohome, y se le otorgará un prompt de comandos.

Cuando el sistema está configurado para arrancar en la Interfaz Gráfica del Usuario (GUI), seránecesario introducir un nombre de usuario y una contraseña para autenticar al usuario en la red.

10.1.2 Interfaz GUI

Las diferencias entre una Interfaz de Línea de Comandos (CLI) y una Interfaz Gráfica del Usuario(GUI) se trataron anteriormente. Recuerde que Linux usa una CLI con comandos basados en texto

Page 4: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

4

introducidos en un prompt de comandos. Aunque este formato tiene sus ventajas, también hayventajas en la GUI usada por Windows. En 1984, un equipo de expertos en software del InstitutoTecnológico de Massachsetts (MIT) crearon una interfaz gráfica llamada "X Window" que permite aLinux operar similarmente a las otras GUIs.

Debido al potente diseño del sistema operativo Linux, el aspecto de X Window puedepersonalizarse fácilmente y programarse en una cantidad infinita de formas. En el OS Windows2000, los principales elementos de la interfaz del usuario para íconos, menúes, la barra de tareas,etcétera, son idénticos para todos los usuarios. Los usuarios de Linux pueden personalizarcompletamente su interfaz X Window para que cumpla con sus necesidades y deseos específicosinstalando diferentes programas llamados "Administradores de Ventanas" y "Entornos deEscritorio". Tratar todos estos diferentes paquetes de software está más allá del alcance de estecurso, en cambio nos concentraremos en las similitudes subyacentes halladas en todos lossistemas X Window.

Similitudes con Windows 2000Una interfaz X Window típica tendrá un aspecto bastante familiar a la de un usuario de Windows2000. Se usa un mouse como dispositivo puntero. También hay una barra de tareas, íconos querepresentan datos, y ventanas que muestran información al usuario. Un ejemplo de la GUI XWindow se muestra en la Figura . Aunque los tamaños, formas y colores de estos elementospueden variar, los principios básicos son muy similares a la GUI de Windows 2000. Este diseñofamiliar tiene como objetivo ayudar a los usuarios a volverse rápidamente productivos con elsistema X Window y es por lo común el enfoque estándar. Pero nuevamente, la flexibilidad deLinux también permite a los programadores la creación de nuevas e innovadoras interfaces XWindow que podrían diferir radicalmente de cualquier cosa vista antes.

Aprendiendo los Conceptos BásicosLos usuarios primerizos de X Window deberán sentirse cómodos con los diversos elementos delsistema. Determine si los íconos se lanzan con un solo clic o con doble clic. Haga clic en la barrade tareas para investigar las diversas herramientas que contiene. Practique cómo cambiar eltamaño, minimizar y cerrar la ventana. Una vez que los usuarios se sienten cómodos al navegarpor la interfaz X Window, están listos para comenzar a aprender sus funciones básicas.

No importa qué colores, estilos y funcionalidad pueda tener un entorno de escritorio X Window, laconsola de línea de comandos es un elemento importante que siempre será constante. La consolade línea de comandos permanece constante. Recuerde que Linux es una CLI, y X Window esrealmente una representación gráfica de esta CLI. Por lo tanto, tiene sentido que un usuario de XWindow probablemente quiera interactuar con una consola de comandos Linux en algún punto.Esto puede hacerse por lo común de dos maneras: ventana terminal y consola principal.

Ventana TerminalUna ventana terminal muestra un prompt de comandos Linux estándar en una pequeña ventana dela pantalla. Un ejemplo de una ventana terminal de Linux se muestra en la Figura . El programaterminal de X Window estándar se denomina xterm. Ejecutar xterm muestra una ventana terminalde Linux para que el usuario introduzca comandos. Busque xterm o cualquier otro programa determinal en el menú de la barra de tareas de X Window.

Consola principalAdemás de ejecutar una CLI Linux con ventanas dentro de X Window, los usuarios también puedenpasar sus pantallas a la consola principal de pantalla completa. Recuerde que al arrancar lacomputadora, Linux se carga primero seguido por X Window, el administrador de ventanas, y luegoel entorno de escritorio. Puesto que Linux en sí siempre se está ejecutando en segundo plano, esposible pasar el sistema de X Window a la CLI de Linux usando el teclado [CTRL + ALT + (F1 -F6)]. La consola principal y las ventanas de terminal funcionan idénticamente. Usar una en lugar dela otra es por lo general una cuestión de preferencia personal. Es posible ejecutar dos sesiones X

Page 5: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

5

al mismo tiempo así como usar terminales virtuales. X se ejecuta en la terminal virtual 7, y como seenunció antes, puede pasarse a cualquiera de las terminales virtuales CLI usando el comando[CTRL + ALT + (F1 - F6)]. Una segunda sesión de X puede iniciarse en la terminal virtual 8 usandoel comando [startx - :1 vt8].

Aunque muchas tareas comunes de Linux pueden llevarse a cabo usando las aplicaciones gráficasde X Window, hay muchas más que solamente están disponibles para los usuarios mediante elprompt de comandos. Por esta razón es importante saber cómo llegar al prompt de comandos deLinux desde dentro de X Window. En secciones posteriores prestaremos más atención a la CLILinux y sus comandos básicos.

La última habilidad básica X Window a comprender es la capacidad para salir del sistema.Dependiendo de qué entorno de escritorio se está ejecutando actualmente, esto se hace por locomún de manera muy similar a Windows 2000. Simplemente ubique el menú de la barra de tareasy una de las primeras selecciones del menú será la opción Cerrar Sesión [Log Off]. Seleccionaresta opción permitirá al usuario apagar o reiniciar Linux.

Page 6: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

6

10.1.3 Interfaz CLI

Page 7: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

7

La interfaz de línea de comandos (CLI) Linux permite al usuario interactuar con el sistema de lamisma forma que el intérprete de comandos de Windows 2000. Después de iniciar sesión en Linux,el sistema navega hasta el directorio home del usuario y presenta el prompt de comandos. Losusuarios ahora pueden tipear comandos, presionar la tecla Enter, y ver cualquier salida en lapantalla. Aunque la operación de Linux sigue el mismo flujo básico que el intérprete de comandosde Windows 2000, la sintaxis de comandos entre los dos es por lo general bastante diferente.

Como ayuda para familiarizarse mejor con el uso de Linux, los usuarios deberían intentar introducirlos comandos básicos mostrados en la Figura en el prompt. Un ejemplo de la salida del comandowhoami se muestra en la Figura . Algunos de los diferentes usos para el comando cd semuestran en la Figura .

No se recomienda que los usuarios intenten adivinar comandos al azar, ya que una actividad taldescuidada podría tener un serio impacto en el sistema. La mayoría de los sistemas operativos CLIsuponen que los usuarios saben lo que están haciendo y no verifican la intención de suscomandos. Por lo tanto, los usuarios siempre deberán ser precisos y alertas al emitir comandos enel sistema para evitar resultados no deseados.

Páginas ManLos usuarios pueden aprender más acerca de cualquier comando mediante el uso de las páginasman, que es abreviatura de páginas del manual. Estos archivos de ayuda muestran informacióndetallada acerca de cualquier comando Linux disponible para el usuario.

Las páginas man describen lo que los usuarios necesitan saber acerca de los comandos online delsistema, llamados al sistema, formatos de archivos y mantenimiento del sistema. Las páginas manonline son parte del OS Linux y se instalan por defecto. Las páginas man asumen la forma depantallas basadas en caracteres simples y no son gráficas.

Para acceder a las páginas man, los usuarios necesitan estar en un prompt de comandos. Losusuarios pueden iniciar sesión en la línea de comandos o abrir una ventana de Terminal en lainterfaz KDE e iniciar con un prompt de comandos. Las páginas man son de ayuda cuando losusuarios desean usar un comando o utilidad y han olvidado la sintaxis o tan sólo necesitan algunainformación respecto a cómo usarlo. Las páginas man proporcionan información acerca de cómointroducir el comando, una descripción de su propósito, y qué opciones o argumentos estándisponibles. Algunos comandos no funcionarán con los tres shells. Las páginas man indican quécomandos funcionarán con qué shells. Se refieren al shell Bourne como (sh), al shell Korn como(ksh), al shell C como (csh) y al Bourne Again SHell como (bash). Los alumnos aprenderán acercade estos shells diferentes en la siguiente sección.

El Comando manEl comando man muestra páginas man online para cualquiera de los cientos de comandos Linuxdisponibles. Un listado de todos los comandos Linux con una breve descripción de lo que hacenpuede obtenerse introduciendo man intro en la línea de comandos. Incluso puede mostrarse unapágina man sobre el comando man en sí tipeando man man.

El comando man puede usarse de varias formas. La forma básica es man nombre, donde nombrees el nombre del comando para el cual el usuario desea información. Hay varias opciones útilesque usar con el comando man para llevar a cabo búsquedas de palabras clave y mostrar seccionesespecíficas del Manual del Programador. Hay varias formas diferentes de usar el comando mancomo muestra la Figura .

La Figura ilustra un ejemplo del uso del comando man para obtener ayuda con el comandomkdir.

Page 8: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

8

Trabajo con las Páginas ManLas páginas man son una forma rápida y conveniente de verificar la sintaxis de comandos Linuxdesde un prompt de comandos.

Encabezados de las Páginas ManUna cantidad de diferentes encabezados o áreas informativas aparecen en una página man típica.Los más comunes se incluyen en la lista mostrada en la Figura .

Estos encabezados se muestran en la salida de la página man en todas letras mayúsculas.Dependiendo del comando y de su propósito, la página man podría no contener todos losencabezados. Por ejemplo, el comando imprimir directorio de trabajo (pwd) no tiene unencabezado de opción o información sobre operandos porque no se pueden usar opciones nioperandos con el comando. Todos los comandos tendrán al menos un nombre, una sinopsis y unadescripción. Un comando Linux común es cd, que permite a los usuarios cambiar de directorio. Losresultados de la página man para el comando ls se muestran en la Figura . Note los diferentesencabezados que se trataron anteriormente. Parte de la salida se ha omitido porque la salida de lapágina man de cd es normalmente de nueve páginas de largo.

El Comando lsUno de los más importantes comandos que se usarán al navegar por el sistema de archivos Linuxen la Interfaz de Línea de Comandos es el comando ls. El propósito del comando ls es hacer unalista del contenido del directorio actual. La sintaxis para el comando ls es la siguiente:

ls [opciones] [archivos]

Una vez que se ha visto la página man para el comando ls entonces se conocerán las numerosasopciones que pueden usarse junto con este comando. Algunas de las opciones más comunes quese usan con el comando ls se muestran en la Figura .

El comando ls puede emitirse con las [opciones] y la lista de [archivos] para mostrar elcontenido de un directorio específico. No obstante estos son opcionales y cuando se emite elcomando ls sin estas opciones entonces se presentará el contenido del directorio actual. Además,más de un nombre de archivo puede darse para que el comando ls muestre la lista del contenidode varios directorios. La Figura ilustra algunas de las tareas típicas de navegación llevadas acabo mediante el comando ls.

Page 9: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

9

Page 10: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

10

Page 11: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

11

Page 12: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

12

Page 13: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

13

Page 14: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

14

10.1.4 Los shells de Linux

Los shells de Linux operan como "intérpretes de comandos". Los shells de Linux funcionan demanera muy similar a como el programa command.com funciona para MS-DOS. Los shells deLinux toman la entrada que tipea el administrador y usan esa entrada para lanzar comandos ycontrolar el sistema operativo. No obstante, éstas son las únicas funciones similares de los shellsde Linux y el intérprete de comandos MS-DOS. Por ejemplo, en Linux el shell solamente se cargaal sistema cuando el usuario lo solicita o si el usuario inicia sesión en el shell. En MS-DOS, elintérprete de comandos se integra al kernel y está siempre en funcionamiento. En Linux, el shellfunciona como cualquier otro programa y no está integrado al kernel del sistema operativo. Otradiferencia principal de los shells Linux es que el usuario puede elegir de muchos shells diferentes.Con Linux, puede elegirse un shell que se ajusta a las preferencias o el entorno.

El Shell BourneÉste es conocido como el shell UNIX original. El nombre del programa es (sh) y es conocido comoshell bash en sistemas Linux. Este shell proporciona todas las funciones de (sh) así comoprogramación del shell usando archivos script del shell.

El Shell CEste shell no se usa ampliamente porque es uno de los shells más complicados con los cualestrabajar. Usa una sintaxis mucho más compleja para la programación del shell que algunos de losotros shells. Por esta razón el shell C no se recomienda para programación del shell o para crearprogramas de shell.

El Shell KornÉste es un shell que fue escrito por David Korn. Combina las funciones interactivas que hicieronpopular al shell C con la sintaxis de programación del shell del shell Bourne. Un ejemplo de la

Page 15: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

15

sintaxis usada para cambiar el Shell Korn y el prompt del shell Korn se muestran en la Figura . Elshell Korn (habilitado ejecutando ksh) no se incluye en la instalación por defecto de Red Hat.

Shell Born AgainComo se dijo antes, este shell fue creado como extensión mejorada del Shell Bourne. Este shell sedenomina shell bash y se usa en muchos sistemas "tipo UNIX", como Linux. La Figuraproporciona un ejemplo del prompt del shell bash.

Page 16: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

16

10.1.5 Editor VI

Page 17: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

17

La mayor parte de toda la administración de Linux se hace desde la línea de comandos usando losdiversos comandos, configuración, y archivos script para llevar a cabo estas funciones. A menudoestos comandos, configuración y archivos script necesitan editarse y cambiarse para que funcionende la forma que es apta para el entorno de red. Linux incluye una potente herramienta de ediciónllamada Editor vi que permite la edición de los archivos de configuración y script así como lacreación de algunos archivos de configuración y script. Un ejemplo de la pantalla del editor vi semuestra en la Figura . Llevar a cabo cualquier tipo de administración del sistema con un servidorLinux requiere que el administrador tenga un conocimiento funcional del Editor vi. La flexibilidad delEditor vi permite la interacción con aplicaciones del sistema de manera tal que virtualmenteproporcionará a un administrador cualquier funcionalidad necesaria. El Editor vi puede parecerdifícil de comprender porque no funciona como Microsoft Word para su software suite de oficina uotros editores de texto. Cuando se abre el Editor vi y se intenta tipear nada ocurrirá excepto que elsistema hará "bip". Esto se debe a que el Editor vi está en modo de "comandos" cuando se lo abrepor primera vez. El comando correcto debe tipearse para entrar al modo "edición", modo deentrada, donde la introducción de texto puede comenzar. Entre al modo "edición" eligiendo elcomando i.

Los Modos de viLos tres modos de operación en el Editor vi son comandos, edición/entrada, y última línea.Comprender la función de estos tres modos es la clave para trabajar con el Editor vi. Todos loscomandos disponibles con el Editor vi pueden clasificarse en uno de los tres modos. La Figura presenta una lista de los modos y proporciona una breve descripción de cada uno.

Lo importante a saber acerca del Editor vi es que no funcionará como un editor de texto típico.Puede tipearse cualquier clase de texto pero no funciona como un editor Lo Que Ve Es Lo QueObtiene [What You See Is What You Get (WYSIWYG)] como Microsoft Word. El Editor vi nocontiene ninguna función de formato. Si el usuario desea que una cadena de texto tenga sangría,el Editor vi no contiene ningún medio para ello. El usuario debe tipear el comando que hará lasangría. Esta salida aparecerá en la copia impresa.

Obtener una completa comprensión del Editor vi y de cuáles son sus capacidades estaría más alládel alcance de este curso. Hay libros y clases completos que tratan el Editor vi solamente. Noobstante, el potencial completo de un servidor Linux no puede lograrse sin tener conocimiento delEditor vi y de algunos de los comandos básicos que se usan para navegar y editar scripts yarchivos de configuración. Los laboratorios acompañantes proporcionan algunos ejemplos paraabrir el Editor vi y ejecutar algunos de estos comandos para editar texto y crear un archivo script.

Page 18: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

18

10.1.6 awk

Page 19: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

19

La utilidad awk le permite crear programas breves que leen archivos de entrada, ordenan datos, losprocesan, llevan a cabo aritmética en la entrada, y generan informes. Para expresarlo de la maneramás simple posible, awk es una herramienta de lenguaje de programación usada para manipulartexto. El lenguaje de la utilidad awk se parece al lenguaje de programación de shell en muchasáreas, aunque la sintaxis de awk es única. awk fue diseñado inicialmente para trabajar en el áreadel procesamiento de texto, y el lenguaje se basa en la ejecución de una serie de instruccionescada vez que un patrón coincide en los datos entrantes. La utilidad escanea cada línea de unarchivo, buscando patrones que coincidan con los proporcionados en la línea de comandos. Si seencuentra una coincidencia, da el siguiente paso de programación. Si no se encuentra ningunacoincidencia, procede hacia la siguiente línea. Aunque las operaciones pueden volverse complejas,la sintaxis para el comando es la misma, que es la que sigue:

awk '{patrón + acción}' {nombresdearchivos}

En la sintaxis de arriba, "patrón" representa lo que AWK busca en los datos, y "acción" es unaserie de comandos ejecutados cuando se encuentra una coincidencia. Las llaves ({}) no siempre serequieren encerrando su programa, pero se usan para agrupar una serie de instrucciones basadasen un patrón específico.

Considere el siguiente ejemplo del uso de awk. El primer paso sería crear un archivo de datosusando cualquier editor de texto como vi, como se muestra a continuación:

inventario

vestidos pedir 5

zapatos bien 12

camisas pedir 6

medias bien 15

pantalones bien 8

Una vez creado y guardado el archivo, emita el siguiente comando:

#awk '/bien/ {print $3}' inventario12158

El comando anterior le indica a la utilidad awk que seleccione cada registro del archivo quecontenga la palabra "bien" y una acción de imprimir el tercer campo (Cantidad de ítemsdisponibles). Usando la salida de arriba como ejemplo se puede apreciar que sería posible crearuna multitud de archivos de datos conteniendo una multitud de información de cualquier tipo. Luegoutilizando la utilidad awk, se puede extraer la información exacta de los archivos usando palabrasclave específicas como alias. awk lee la entrada de estos archivos dados una línea a la vez, luegocada línea se compara con el "patrón". Si el "patrón" coincide para cada línea entonces laacción dada se toma. "patrón" puede consistir en una o más expresiones regulares. Un resumen demetacaracteres awk comunes se muestra en la Figura .

Page 20: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

20

Page 21: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

21

10.2 Cuentas de Usuario y Cuentas de Grupo

10.2.1 Cuentas de usuario y grupo en un entorno Linux

Antes de introducirnos en la verdadera administración de usuario y grupo, es una buena ideaaprender los conceptos e y detalles de implementación de las cuentas de usuario en un sistemamultiusuario. Comprender estos conceptos puede ayudar a cualquier administrador a planificar unaseguridad eficaz de cuentas de usuario y grupo.

Cuentas de Usuario en un Entorno MultiusuarioLas cuentas de usuario en un sistema Linux permiten a varias personas iniciar sesión en el sistemaal mismo tiempo o an momentos diferentes sin interferir entre sí. Un usuario puede incluso tenervarios inicios de sesión activos a la vez. Antes de llevar a cabo tareas administrativsa con cuentasde usuario o grupo, es importante comprender qué permiten hacer las cuentas de usuario a unmultiusuario en el sistema Linux, y cómo se identifican usuarios y grupos diferentes.

Hay varios términos importantes que es necesario aprender para poder comprender el lenguajeque trata con la administración de cuentas del usuario. Primero, los términos usuario y cuenta aveces se usan de manera intercambiable. Por ejemplo, pueden escucharse los términos "borraruna cuenta" o "borrar el usuario". Con este propósito significan lo mismo, borrar la cuenta delusuario o su acceso al sistema. Hay varios otros términos importantes que es necesario aprender.Algunos de ellos se muestran en la Figura y se tratan a continuación.

Nombre de usuarioÉste es un nombre único que se otorga a cada persona a quien esté permitido iniciar sesión en elsistema. Es una buena idea tener reglas respecto a los nombres de usuario para hacer más fácilidentificar a un usuario por su nombre de usuario. Nombres de usuario comunes son la primeraletra del nombre del usuario y su apellido entero. Por ejemplo, el nombre de usuario de John Smithsería jsmith.

Privilegios de Inicio de SesiónUna vez que se ha otorgado un nombre de usuario y contraseña a un usuario y se les permiteiniciar sesión en el sistema, a los usuarios solamente se les otorga acceso a ciertos directorios. Losusuarios también se ven limitados en cuanto a lo que se les permite hacer en el sistema. Losprivilegios de inicio de sesión enuncian qué tipo de derecho se otorgará a un usuario una vez queacceda al sistema.

Protección con ContraseñasJunto con un nombre de usuario, los usuarios deben proporcionar una contraseña para iniciarsesión en un sistema Linux. La contraseña está oculta a diferencia del nombre de usuario, que seconoce públicamente. Muchos sistemas Linux tienen reglas respecto a las contraseñas como lalongitud o tipos de caracteres usados.

PermisosEl sistema de archivos controla quién tiene permiso para acceder a archivos y ejecutar programas.Los permisos de archivos se tratarán en detalle en este capítulo.

Directorio HomeEn un sistema Linux, cada cuenta de usuario tiene un directorio home asociado a él. El usuariotiene completo acceso a este directorio. El usuario puede agregar o borrar archivos de estedirectorio o puede usárselo simplemente para almacenar archivos.

Page 22: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

22

IDs de Usuario y GrupoÉstos son números que el sistema operativo Linux usa para identificar a un usuario o grupo. Linuxno usa nombres. El sistema operativo usa números por lo que usa la ID de usuario (UID) paraidentificar usuarios y una ID de grupo (GID) para identificar grupos de usuarios.

Shell por DefectoCuando un usuario inicia sesión en un sistema Linux e introduce comandos en la línea decomandos, lo está haciendo desde el prompt del shell. Esto es lo que se usa para interpretar estoscomandos para el kernel Linux. Hay varios shells de los cuales elegir. El shell por defecto es elshell presentado al usuario cuando inicia sesión.

Toda esta información para cuentas de usuario se almacena en dos archivos de configuración delsistema Linux: los archivos /etc/passwd y /etc/shadow. El propósito y la diferencia entre estosarchivos se explicaron en el capítulo anterior.

Cuentas de Usuario en un Sistema MultitareaEl sistema operativo Linux es tanto un sistema multiusuario como multitarea. La naturaleza de lascuentas de usuario es tal que varios usuarios pueden haber iniciado sesión en un único sistemaLinux al mismo tiempo. Los usuarios pueden haber iniciado sesión localmente o remotamente pormedio de una red. Por esta razón, un sistema multitareas que está siendo usado por usuariossimultáneos requerirá conectividad de red. Estos usuarios pueden estar usando más de unprograma a la vez y pueden incluso usar el mismo programa al mismo tiempo. Por ejemplo, unusuario puede haber iniciado sesión y estar usando XEmacs, otro usuario puede haber iniciadosesión y estar usando el navegador web, y otros dos usuarios pueden haber iniciado sesiónusando un editor de texto al mismo tiempo. Es posible configurar Linux para que sea un OS deusuarios múltiples en el que varios usuarios pueden iniciar sesión usando una única cuenta deusuario. No obstante, esto no se recomienda por varias razones. Proporcionar a cada usuario supropia cuenta de usuario otorga al administrador la capacidad de controlar la seguridad usuario porusuario.

Tenga en cuenta que aunque Linux es un sistema multitareas, no puede soportar una cantidadilimitada de usuarios simultáneos. Si una gran cantidad de usuarios han iniciado sesión en elsistema y muchos de estos usuarios están intentando todos usar el mismo programa,experimentarán un deterioro en el desempeño. La cantidad real de usuarios que un único sistemaLinux puede soportar depende de diversos factores. Depende de qué programas están siendousados en ese momento. Algunos programas consumen más recursos del sistema, como la RAM,el tiempo de la CPU, o I/O de disco, que otros. Por esta razón, otros factores incluyen cuántos deestos recursos tiene el sistema. Un sistema con más RAM, una CPU más rápida, velocidad dedisco más rápida, y más capacidad en disco puede manejar más usuarios simultáneos.

La Cuenta SuperusuarioLa cuenta de usuario más importante en un sistema Linux es la cuenta Superusuario. También sedenomina cuenta raíz. Recordemos del capítulo anterior, esta cuenta es creada por defectodurante el proceso de instalación. Ésta es la cuenta que es usada por el administrador del sistemapara llevar a cabo cualquier tarea administrativa en un sistema Linux. La cuenta Superusuariopuede usarse de varias maneras.

• Inicio de sesión como raíz La cuenta raíz puede usarse para iniciar sesión en lacomputadora desde la consola principal. De hecho, iniciar sesión como raíz de estamanera solamente puede hacerse desde la consola principal. Una vez iniciada la sesión,cualquier acción que se lleve a cabo en el sistema se hará como raíz. Esto puederepresentar amenazas a la seguridad por lo cual se recomienda que se haga durantebreves periodos y después cerrar la sesión de la cuenta Superusuario.

• Su La cuenta su puede usarse para adquirir temporalmente privilegios de superusuario enun sistema Linux para llevar a cabo tareas administrativas o ejecutar un comando que

Page 23: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

23

requiere privilegios de superusuario. Tipee el comando y presione Enter. Aparecerá unprompt para la contraseña superusuario y si se la introduce correctamente se otorgaránprivilegios raíz. Para volver a la cuenta con privilegios de usuario normal tipee exit. Elcomando su también puede usarse para pasarse a la cuenta de otro usuario. Por ejemplo,tipee su jsmith para asumir el rol de la cuenta de jsmith. Si ya había iniciado sesión comoraíz no habrá prompt para la contraseña de jsmith. Esto se debe al hecho de que cuandose ha iniciado sesión como raíz se otorgará acceso a cualquier cuenta de usuario delsistema.

• Sudo Este comando permite a un administrador seleccionar ciertos comandos que puedenintroducirse sin tener que ser raíz, que de otro modo requerirían privilegios desuperusuario. Esto se hace editando el archivo /etc/sudoers y especificando qué usuarios ycomandos pueden introducir estos comandos en la línea de comandos sin tener que serraíz.

• Archivos raíz SUID Es posible seleccionar un archivo a ejecutar como si fuera ejecutadopor el raíz, pero puede ser ejecutado por cualquier usuario del sistema.

Es importante ser muy cauteloso al usar la cuenta superusuario a causa de los problemas deseguridad y del daño que puede causar a la computadora. Por esta razón, no se recomienda que lacuenta raíz sea usada como cuenta regular incluso por el administrador del sistema. Un simpleerror tipográfico al ejecutar un comando puede ocasionar un daño serio y no intencional al sistema.Por ejemplo, supongamos que hubiera que borrar /home/jsmith/tempdir. El comando rm -r/home/jsmith/tempdir se introduciría para ello. No obstante, supongamos que se cometió un errory se introdujo el comando equivocado. Se introdujo rm -r / home/jsmith/tempdir por error,colocando un espacio entre / y home. Esto haría que la computadora borrara todos los archivos enel directorio / así como en /home/jsmith/tempdir. Si esto ocurriera mientras se ha iniciado sesióncon una cuenta de usuario regular, habría un prompt para cambiar a la cuenta superusuario parallevar a cabo esto y el error se atraparía antes de completar este comando.

Cuentas de GrupoLos grupos en un sistema Linux se usan con los mismos propósitos que en otros sistemasoperativos. Los grupos proporcionan un medio para vincular usuarios similares por motivos deproductividad y hacer la administración de cuentas de usuario mucho más fácil. Las cuentas degrupo son similares a las cuentas de usuario en el hecho de que se las define en un único archivo,/etc/groups, similar al archivo /etc/passwd para cuentas de usuario. Segundo, los grupos tambiéntienen nombres, similares a los nombres de usuario para las cuentas de usuario. Por último, comose mencionó anteriormente, los grupos están ligados a una ID (GID).

Las cuentas de grupo no obstante, no son cuentas de usuario. Las cuentas de grupo son unaforma de agrupar un conjunto de usuarios similares con propósitos de seguridad. Por ejemplo, esposible agrupar a los ejecutivos de una compañía que podrían tener cierto acceso a archivos yagrupar a otros empleados, que pueden no tener acceso a estos archivos. Recuerde que Linuxcontrola el acceso al hardware mediante archivos. Los grupos pueden usarse para limitar el uso dehardware del sistema a un grupo específico de usuarios también. Más detalles, incluyendo lacreación de grupos y el agregado de usuarios, se tratarán posteriormente en este capítulo.

Page 24: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

24

10.2.2 Agregado y Eliminación de Cuentas de Usuario

La primera cuenta de usuario creada durante una instalación de Linux es la cuenta "raíz". Estacuenta superusuario es usada por el administrador del sistema para crear todas las otras cuentasde usuario del sistema. Por defecto y por razones de seguridad, ningún otro usuario tiene el poderde agregar usuarios excepto por el raíz. El proceso de crear un usuario Linux completamentepersonalizado puede ser bastante complejo, por lo tanto solamente los comandos, indicadores yparámetros básicos se tratarán aquí.

El Comando useraddEl usuario raíz crea otros usuarios Linux mediante el comando useradd. Un ejemplo de esteproceso está ilustrado en la Figura . Cuando este comando se introduce en el prompt, Linux llevaa cabo muchas tareas simultáneas para crear la cuenta del usuario, como crear un directorio homey asignar permisos por defecto. La sintaxis básica del comando es la siguiente:

useradd nombreusuario -c"nombre real"Por ejemplo: useradd jdoe -c "John Doe"

Esta cadena entera se tipea en el prompt de comandos Linux antes de presionar la tecla Enter. Elparámetro nombre de usuario será el nombre de inicio de sesión para el nuevo usuario al iniciarsesión en el sistema. Es sensible al uso de mayúsculas y minúsculas y siempre deberá tipearse entodos caracteres minúsculos. El indicador -c se usa para introducir el campo de comentario, que enla mayoría de los sistemas se usa para almacenar el nombre real del usuario. Otros indicadores deparámetros existen para el comando useradd y pueden encontrarse viendo su página man. Lasalida de la página man para el comando useradd (man useradd) se muestra en la Figura . Losadministradores del sistema en general usarán muchos más de estas opciones de comandos para

Page 25: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

25

personalizar completamente a sus nuevos usuarios. No obstante, el ejemplo demuestra losconceptos básicos del comando con configuraciones por defecto principalmente.

El Comando passwdUna vez que una nueva cuenta de usuario ha sido creada, debe dársele una contraseña antes deque el usuario pueda iniciar sesión en el sistema. Esto se hace en Linux mediante el comandopasswd. Los usuarios pueden ejecutar este comando para cambiar sus propias contraseñas, peroel usuario raíz también puede usarlo para modificar las contraseñas de todos los usuarios. Por lotanto, una vez creada una nueva cuenta, el siguiente comando es introducido por el usuario raízpara crear la contraseña de la nueva cuenta:

passwd nombreusuarioPor ejemplo: passwd jdoe

Al usuario raíz se le pedirá que introduzca una nueva contraseña y que la confirme volviéndola atipear. Una vez completo este proceso, el nuevo usuario estará listo para iniciar sesión en elsistema con los recientemente creados nombre de usuario y contraseña. Después de iniciar sesiónpor primera vez, la contraseña deberá cambiarse nuevamente mediante el comando passwd.Hágalo sin el parámetro nombreusuario, y a una que sea más privada y desconocida por eladministrador del sistema.

El Comando userdelLa forma más fácil de eliminar una cuenta de usuario es mediante el comando "userdel". Estecomando solamente puede ejecutarse con la cuenta raíz. Un ejemplo de la sintaxis del comando esel siguiente:

userdel nombreusuario

El comando anterior eliminará la entrada que coincide con el nombre de usuario del archivo"/etc/passwd''. Si está usando el formato de contraseña Shadow, eliminará la cuenta del usuario delarchivo "/etc/shadow''.

Tenga en cuenta que emitiendo el comando anterior sin opciones, se borrará solamente la cuentadel usuario. El directorio home y cualquier archivo dentro del directorio home de la cuenta delusuario no se borrarán. Si desea borrar el directorio home del usuario también, agregue la opción "-r" al comando "userdel', como se muestra a continuación.

userdel -r nombreusuario

Page 26: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

26

Page 27: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

27

10.2.3 Administración de cuentas de usuario

Con la CLI Linux, la administración de usuarios nuevamente se realiza mediante diversoscomandos, indicadores y parámetros, como lo muestra la Figura . En particular, cambiar unnombre de usuario, cambiar una contraseña, o borrar una cuenta puede llevarse a cabo concomandos mínimos. No obstante, el proceso de inhabilitar una cuenta requiere un poco más deesfuerzo. El administrador del sistema debe editar el archivo que almacena toda la información deusuarios del sistema e inhabilitar manualmente la contraseña del usuario.

Este procedimiento no es tan difícil como puede sonar. En la mayoría de los sistemas Linux, lascontraseñas del usuario se almacenan en un archivo central denominado archivo "shadow", queestá ubicado en el directorio /etc. Este archivo puede editarse con un editor de texto como el Editorvi. El comando para editar el archivo shadow sería el siguiente:

vi /etc/shadow

La Figura muestra un ejemplo del archivo /etc/shadow mostrado en el editor vi.

Page 28: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

28

Pico, otro editor de texto, permite el uso de las teclas de flechas para navegar por la lista decuentas de usuario hasta hallar la cuenta a ser inhabilitada. La información del usuario se enumerade manera continuada en una única fila con dos puntos (:) separando cada campo. El primercampo es el nombre de usuario, y el segundo es la contraseña cifrada del usuario. Para inhabilitarla cuenta, el administrador del sistema puede simplemente colocar un asterisco (*) al principio de lacontraseña cifrada. Esto hará que la contraseña sea imposible de introducir al iniciar sesión,inhabilitando así eficazmente la cuenta hasta que el administrador del sistema elimina el asterisconuevamente. Para guardar el archivo shadow, presione CTRL-X para salir de pico y presione latecla Y para guardar los cambios.

Algunos de los otros comandos importantes y útiles para ayudar a administrar y controlar laseguridad de las cuentas de usuario y grupo se muestran en la Figura .

Page 29: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

29

10.2.4 Creación de grupos y agregado de usuarios a grupos

Page 30: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

30

Cada grupo de un sistema Linux puede tener desde ningún miembro hasta muchos miembroscomo cuentas de usuario en el sistema. Recuerde de la sección anterior, la membresía de grupoestá controlada por el archivo /etc/group. Éste es el archivo que contiene una lista de todos losgrupos y miembros de esos grupos en un sistema Linux.

Cada usuario, al iniciar sesión en un sistema Linux, inicia sesión en su grupo principal. Éste es elgrupo que es pecifica la membresía de grupo por defecto y se establece en el archivo deconfiguración del usuario. Cuando un usuario inicia sesión en su grupo principal, puede acceder alos archivos y ejecutar programas asociados con ese grupo en particular al cual pertenecen. Si unusuario desea acceso a los archivos o programas que no están en su grupo principal, puedenpasar al grupo con el cual el archivo o programa en particular está asociado. No obstante, elusuario debe ser miembro de ese grupo para poder pasarse a él. Éste es un medio excelente decontrolar la seguridad en un sistema Linux. Para cambiar a un grupo diferente después de iniciarsesión en el sistema use el comando newgrp. La sintaxis para este comando es la siguiente:

newgrp nombre-grupoPor ejemplo: newgrp ingeniería

En un sistema Linux, solamente la cuenta raíz, superusuario, tiene el poder para crear yadministrar grupos. Estas tareas se llevan a cabo usando comandos simples para crear,renombrar, o borrar grupos desde el sistema. A la mayoría de los usuarios Linux se les asigna ungrupo durante el proceso de creación de la cuenta. La siguiente sintaxis se usa para crear un grupoen un sistema Linux:

groupadd nombregrupoPor ejemplo: groupadd ingeniería

Este comando crea el grupo ingeniería. Una vez creado el grupo, los usuarios pueden agregarse algrupo. Esto se puede hacer mediante los siguientes comandos.

Una forma de agregar un usuario a un grupo es hacerlo al crear la cuenta de usuario. La siguientesintaxis se usa para expandir el comando useradd:

useradd -g grupo nombreusuario -c "nombre real"Por ejemplo: useradd -g ejecutivos jdoe -c "John Doe"

Para agregar uno o más usuarios (miembros) a un grupo, se usa el siguiente comando:

gpasswd -M nombreusuario1 [nombreusuario2 nombreusuario3 ...] grupo

El comando gpasswd puede usarse para modificar grupos existentes. Solamente el usuario raíz(administrador del sistema) puede usar la opción -M (miembros). Algunas otras opciones que estándisponibles para usar con el comando gpasswd se muestran en la Figura .

Este comando puede introducirse sin ninguna opción en cuyo caso permitirá el cambio de lacontraseña de grupo. Ésta es la contraseña que puede ser usada por los usuarios para volversemiembros temporales de un grupo si necesitaran acceso a los archivos o programas asociados aese grupo.

El comando groups puede usarse entonces para mostrar los grupos actuales al cual pertenece unusuario. Note que el usuario raíz es un miembro de todos los grupos por defecto. Losadministradores de sistemas Linux deberían asegurarse de consultar las páginas man para todosestos comandos para aprender más acerca de sus otras funciones relacionadas.

Page 31: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

31

Page 32: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

32

10.3 Sistema de Archivos y Administración de Servicios

10.3.1 Crear y compartir directorios

Al igual que navegar por el sistema de archivos Linux, crear archivos y directorios en Linux essimplemente una cuestión de conocer los comandos apropiados y cómo usarlos. Los comandosaquí presentados permitirán al usuario crear, copiar, mover, renombrar y borrar archivos,directorios, o ambos. Note que algunos de los comandos usan la misma sintaxis tanto paraarchivos como para directorios, mientras que otros son diferentes. Como todos los sistemas CLI,esto requiere que el usuario memorice y comprenda cómo usar cada comando.

Cuando se usa cualquiera de estos comandos por primera vez, especialmente los comandos deeliminación, es una buena idea probar los comandos en archivos de prueba y directorios deprueba. Note que los usuarios pueden modificar solamente archivos y directorios para los cualestengan los permisos del sistema necesarios. Esto evita que los usuarios maliciosa oaccidentalmente modifiquen datos, como borrar archivos del sistema Linux importantes. Lospermisos se tratarán en una sección posterior.

10.3.2 Uso de find y Grez

El comando findEl comando find es una de las más útiles e importantes utilidades de administración de archivos

Page 33: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

33

en Linux. El comando find se usa para localizar uno o más archivos suponiendo que se conocensus nombres de archivo aproximados. Vale la pena comprenderlo en profundidad porque hacemucho más que localizar archivos. El comando find le permite especificar filtros, y ejecutarcomandos en el contenido de árboles de directorio enteros. Desafortunadamente, find no está biendocumentado, pero es realmente simple de usar y una excelente herramienta Linux.

Para comprender cómo usar el comando find considere un caso en el cual puede habersetipeado un documento y no se recuerda el nombre del documento, pero sabe que lo creó hacemenos de 4 días, era más pequeño que 350k, y contenía el trabajo'Biología_Ciencia_Experimento'. La siguiente sintaxis es un ejemplo de cómo podría usar elcomando find para ubicar el archivo.

$ find /home/rtalbot-type f -size -350k -atime-4 | xargs -0 grep'Biología_Ciencia_Experimento'

El comando find desciende a través de la jerarquía de directorios y aplica la cadena lógica a cadaítem de la carpeta. En el ejemplo, find comienza en la carpeta home /rtalbot. Luego para cadaítem de esa carpeta, aplica la cadena lógica. En este caso: -type f -size -286k -atime -4. Cadaatributo de prueba es evaluado, y si es cierto, pasa al siguiente atributo de prueba. Si la entrada esun directorio, find desciende en él.

La siguiente lista describe los diversos atributos del ejemplo anterior:

• '-type f' ¿es la entrada un archivo?• '-size -100k' ¿tiene la entrada menos de 100k?• '-atime -7' ¿es el tiempo de acceso menos de hace 7 días?

Si cualquiera de los atributos de prueba falla, find deja de procesar el resto de los atributos deprueba y pasa a la siguiente entrada. Usando el ejemplo de arriba, cualquier archivo que sea másde 350k falla la prueba del atributo tamaño y no se probará para su tiempo de acceso o cualquieratributo de prueba subsecuente.

El comando grepEl comando grep le permite buscar un patrón en una lista de archivos. Estos patrones seespecifican como expresiones regulares, que son cadenas, como palabras o fragmentos deoraciones. La forma de buscar una cadena mediante el comando grep es colocar las palabras queestá buscando juntas entre comillas simples. La sintaxis de grep es la siguiente:

$ grep pattern file-name-1file-name-2 file-name-n

Un ejemplo se muestra en el ejemplo de arriba del comando find. También podrían agregarse alfinal los nombres de archivos "Lab_A", "Lab_B", y "Lab_C" después de la cadena de búsqueda"Biología_Ciencia_Experimento" como se muestra a continuación:

$ grep 'Biología_Ciencia_ Experimento' Lab_A Lab_B Lab_C

El resultado que se devuelve mostraría todas las líneas de los archivos "Lab_A", "Lab_B", y"Lab_C" que contengan la cadena "Biología_Ciencia_Experimento".

Page 34: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

34

10.3.2 Contraseñas y permisos

El sistema de permisos de Linux es mucho más difícil que el de Windows 2000. Se da más controla los administradores de sistemas mediante el uso de tres categorías de permisos distintivas delectura, escritura y ejecución. Un ejemplo de algunos archivos Linux con explicaciones detalladasde los permisos de archivos y directorios por defecto se muestran en la Figura . En Windows2000, el permiso de lectura controla la capacidad de un usuario para entrar a y ver un directorio.Esta funcionalidad se divide en dos permisos separados en Linux. Por lo tanto, el permiso deejecución controla la capacidad de un usuario de entrar a un directorio, mientras que el permiso delectura controla su legibilidad. Esto permite un control muy detallado de los permisos del sistema.También hace a la necesidad de seguridad aún más importante ya que usuarios inexpertos puedenno estar al tanto de ningún "agujero" de seguridad que hayan creado inintencionadamente.

El Comando chownLos permisos de archivos y directorios en Linux se controlan mediante el uso de los dos comandosmuy importantes chown y chmod. El comando chown es llevado a cabo por todos los usuariospara especificar la pertenencia a usuario y gruop de un archivo o directorio y sigue el formato:

chown nombreusuario.grupo nombrearchivoPor ejemplo: chown jdoe.ejecutivos informe_01

En este ejemplo, el usuario jdoe y el grupo ejecutivos son ahora los propietarios del archivollamado informe_01.

El Comando chmodLa propiedad de archivos y directorios es un concepto importante en Linux porque los permisos sedeclaran tanto para usuarios como para grupos basándose en esta pertenencia. Por ejemplo, si elarchivo informe_01 permite acceso completo al usuario y denega todo acceso del grupo, entoncesjdoe podrá acceder al archivo, pero los miembros del grupo ejecutivos serán bloqueados. Estospermisos se declaran mediante el uso del comando chmod:

chmod modo nombrearchivoPor ejemplo: chmod 700 informe_01

Este comando de muestra ha otorgado ahora al usuario todos los permisos de lectura, escritura yejecución, no dándole a su grupo ni a todos los otros usuarios ningún permiso. Esto se especificaen el modo del comando, que en este caso es 700. Cada dígito del número representa los tresdiferentes tipos de usuarios del sistema. Comenzando desde la izquierda, el primer dígitorepresenta al usuario o propietario, el dígito medio representa al grupo, y el dígito del extremoderecho representa a todos los otros usuarios del sistema (usuario-grupo-otro). A los tres tipos depermisos de lectura, escritura y ejecución se les otorga valores numéricos según se muestra acontinuación:

Lectura = 4Escritura = 2Ejecución = 1

Para otorgar a un usuario en particular permisos específicos, los números apropiados se suman yluego se los enumera en el orden apropiado. Por ejemplo, para otorgar al propietario permisos delectura y ejecución, al grupo permiso de ejecución, y a todos los otros usuarios permiso deescritura, el número apropiado sería 512. Y por supuesto, para no otorgar ningún permiso, un cero

Page 35: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

35

se adjudica para esa categoría de usuario. Asignar permisos en Linux es bastante más tedioso quela interfaz manejada por menúes de Windows 2000. No obstante, la flexibilidad de Linux síproporciona mayor control al administrador de sistemas experimentado.

El atributo sticky bitLos permisos de acceso a directorios estipulan que si un usuario tiene permiso de escritura en undirectorio, puede modificar o borrar archivos en dicho directorio, incluso archivos que no lepertenecen. Muchas versiones de Linux tienen una forma de evitar eso. El propietario de undirectorio puede establecer el atributo sticky bit. En este caso, la única persona que puederenombrar o eliminar cualquier archivo en ese directorio son el propietario del archivo, el propietariodel directorio o la cuenta raíz. El siguiente ejemplo muestra cómo establecer el permiso sticky biten el directorio testdir y también la diferencia entre antes y después de haber establecido elatributo:

Root$ ls -ld testdirdrwxrwxrwx 2 rtalbot rtalbot 512 Jul 15 21:23 testdirRoot$ chmod +t testdirRoot$ ls -ld testdirdrwxrwxrwt 2 rtalbot rtalbot 512 Jul 15 21:23 testdir

10.3.3 Montaje y administración de sistemas de archivos

Los dos comandos que usa Linux para montar y desmontar sistemas de archivos y particiones sonmount y umount. La sintaxis para el comando mount es la siguiente:

mount [-alrsvw] [-t fstype] [-o options]

Sigue una lista de los parámetros comunes que pueden usarse junto con el comando mount.Tenga en cuenta que ésta no es una lista completa de todos los parámetros que pueden usarsecon el comando mount Para encontrar una lista abarcativa, se recomienda consultar la página mande mount. Algunas de las opciones que pueden usarse junto con el comando mount se muestranen la Figura .

La opción -o toma una lista de las opciones separadas por coma, que se muestra en la Figura .

Un administrador muy a menudo sólo utilizará el argumento por defecto con el comando mount. Lasintaxis tendría este aspecto:

mount/dev/hda4/mnt/ITEss2

Este comando montaría el contenido de /dev/hda4 en el directorio /mnt/ITEss2, auto-detectando etipo de sistema de archivos y usando las opciones por defecto.

Uso del Comando umountEl uso del comando umount es más simple que el uso del comando mount. La sintaxis para el usodel comando umount es la siguiente:

umount[-anrv] [-t fstype] [device | mountpoint]

Los parámetros que se usan con el comando umount son muy similares a los usados con elcomando mount. Algunas de las diferencias más importantes se muestran en la Figura .

Page 36: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

36

Las mismas reglas para mount se aplican a umount en relación a quién se le permite ejecutar estoscomandos. Solamente el usuario raíz puede usar el comando umount. Esto es a menos que unusuario o propietario específico en la lista del archivo /etc/fstab/ tenga permiso para usar elcomando umount para desmontar una partición, sistema de archivos, o dispositivo.

Uso del Comando dfEl comando df es un comando útil usado para ayudar a administrar sistemas de archivos enmáquinas Linux. Un ejemplo de la salida del comando df se muestra en la Figura . El comandodf mostrará información acerca de una unidad de disco rígido o partición que incluya espacio endisco rígido total, usado y disponible. Hay muchos parámetros que pueden usarse con estecomando también. Algunos de los importantes se muestran en la Figura .

El comando df puede usarse solo o en combinación con estos parámetros para mostrarinformación sobre cualquier sistema de archivos que se monta en un sistema Linux. Puedemostrarse información sobre un dispositivo o partición específicos agregando el dispositivo en elcual reside la partición o cualquier archivo o directorio del sistema de archivos, que limitará lasalida a una partición específica.

Uso del Comando duEl comando df es un comando muy útil que puede usarse para mostrar información acerca desistemas de archivos y particiones que se montan en un sistema Linux. No obstante, a veces esnecesario encontrar información acerca de directorios o archivos individuales que están ubicadosen una de estas particiones. Por ejemplo, si es necesario liberar espacio en un disco rígido, use elcomando du para mostrar información acerca del directorio home de un usuario específico paratomar una decisión respecto a qué archivos mover o borrar para hacer espacio. Un ejemplo de lasalida del comando du se muestra en la Figura . Usar el comando df podría brindar informaciónsobre toda la partición o unidad pero no sobre un directorio específico.

Al igual que con el comando df, hay varios parámetros que pueden usarse junto con el comandodu. Algunos de ellos se muestran en la Figura .

Ésta no es una lista completa de todos los parámetros que pueden usarse con el comando du.Para encontrar una lista abarcativa, se recomienda consultar la página man de mount. El comandodu puede usarse solo o en conjunción con estos parámetros para mostrar información acerca decualquier archivo o directorio que se monta en un sistema Linux.

Page 37: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

37

10.3.4 Archivos de configuración del sistema de archivos

Existen dos tipos de archivos de configuración para el sistema de archivos Linux. Ellos sonarchivos de configuración del Usuario y del Sistema. Los archivos de configuración del usuarioalmacenan información que es específica de un usuario individual como las ubicaciones de losíconos del escritorio, las preferencias del administrador de ventanas, y los scripts que se configuranpara ejecutarse automáticamente. Los archivos de configuración del usuario son componentesesenciales que componen un sistema multiusuario. Estos archivos almacenan información paracada usuario para que cuando inician sesión para usar el sistema, todas sus configuracionespermanezcan intactas. Los archivos de configuración del sistema controlan las configuracionespara todo el sistema. Éstos son archivos que controlan servicios que se configuran para ejecutarsepara cada usuario que inicia sesión en el sistema. Saber dónde localizar estos archivos y editarlosayudará a cualquier administrador a resolver una variedad de problemas asociados con el sistemaoperativo Linux.

Archivos de Configuración del UsuarioPuesto que estos archivos controlan la configuración de cada usuario individual, los archivos quealmacenan estas configuraciones se almacenan en el directorio home de cada usuario. Losarchivos de configuración del usuario se almacenan como archivos de punto (.). La Figuraproporciona un ejemplo de un directorio home de muestra con los archivos de punto (.) visibles. Porejemplo, la configuración del usuario para la interfaz KDE se almacenan en los archivos .kde y.kderc. Estos archivos de punto están ocultos y son ignorados por la mayoría de las herramientasde Linux. Si se usa el comando ls para enumerar el contenido del directorio home del usuario,estos archivos no figurarán en la lista. Pueden figurar agregando el parámetro -A al comando ls.Este comando enumera todo excepto los archivos . y ... El OS Linux hace a estos archivos ocultospara que no distraigan y parezcan ejecutarse en segundo plano. Algunos archivos de configuracióndel usuario importantes se muestran en la Figura .

Page 38: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

38

Éstos son solamente algunos de los archivos de configuración del usuario que se almacenan en unsistema Linux. Al inspeccionar el directorio home se notarán más y a medida que se instalan yejecutan programas, incluso más pueden aparecer. También hay muchos archivos deconfiguración asociados con programas que almacenan información específica de un usuarioindividual.

Archivos de Configuración del SistemaLos archivos de configuración del sistema controlan aspectos del sistema operativo que serelacionan con todo el sistema en oposición a cualquier usuario específico. Estos archivos seencuentran usualmente en su correspondiente subdirectorio ubicado en el directorio /etc. Porejemplo, los archivos de configuración de Samba pueden encontrarse en el directorio /etc/Samba.Éstas son unas pocas diferentes categorías de archivos de configuración del sistema. Algunos seejecutan cuando el sistema se inicia, otros controlan el sistema después de que se ha iniciado, yotros controlan servidores específicos de un sistema Linux.

Archivos de Configuración de InicioEl programa principal que se usa para ejecutar los archivos de configuración de inicio es elprograma init. Este programa usa el archivo de configuración /etc/inittab para almacenar lasconfiguraciones respecto a cómo deberá iniciarse el sistema. Red Hat Linux usa el script deinicialización /etc/rc.d/rc.sysinit, que se especifica en el archivo de configuración para que ejecuteuna serie de scripts de inicio que indican cómo se supone que arranque el sistema.Específicamente, estos scripts se ejecutan de acuerdo al nivel de ejecución del sistema. Losniveles de ejecución se tratarán posteriormente en este capítulo. En este punto simplementecomprenda que el sistema siempre se inicia en un nivel de ejecución en particular, 0-6. Si elsistema se configura para que inicie en el nivel de ejecución 5, entonces todos los scripts que estánconfigurados para ejecutarse en el script de inicialización /etc/rc.d/rc.sysinit inician cuando elsistema se inicia en el nivel de ejecución 5. Todos los servidores y utilidades del sistema que estánconfigurados para ejecutarse en un nivel de ejecución en particular se almacenan en archivos deacuerdo al nivel de ejecución en particular en el cual se inician. En Red Hat Linux, el nombre deeste archivo es /etc/rc.d/rc#.d, donde # es el número de nivel de ejecución. Los scripts que sealmacenan en estos archivos se configuran para iniciar o eliminar un servidor o utilidad del sistemaen particular cuando el sistema se inicia en ese nivel de ejecución en particular.

El resultado de estos archivos de configuración de inicio es que un administrador puede configurarun sistema para controlar qué servidores y utilidades del sistema se inician en cualquier nivel deejecución determinado automáticamente al iniciarse el sistema.

Archivos de Configuración de Función del SistemaLos archvos de configuración de función del sistema controlan las funciones del sistema una vezque éste ha arrancado. A diferencia de los archivos de configuración de inicio, estos archivos noson scripts. Son archivos usados por otros programas. Algunos de los más importantes archivos deconfiguración de función del sistema se muestran en la Figura .

Éstos son solamente unos pocos de los muchos archivos de configuración que controlan funcionesdel sistema una vez que el sistema ha arrancado. Hay muchos más pero la mayoría de ellos nuncanecesitarán ser configurados. Dependiendo de la distribución de Linux en particular que se estáusando, las ubicaciones o nombres exactos de estos archivos podrían ser levemente diferentes. Noobstante, usualmente todos llevarán a cabo las mismas funciones.

Archivos de Configuración para Servidores EspecíficosLos archivos para servidores también están ubicados en el directorio /etc. Estos archivos controlanprogramas que se ejecutan en segundo plano, más a menudo inadvertidos por el usuario. Estosarchivos están configurados usualmente para iniciar el servidor o cambiar su comportamiento enalguna forma si el servidor ya se ha iniciado. Algunos de los servidores más importantes que usaráun administradores se muestran en la Figura .

Page 39: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

39

Nuevamente, hay muchos otros servidores ubicados en /etc o en un subdirectorio de /etc. Noobstante, estos servidores son los más populares que se configurarán en un sistema Linux. Esposible también que los archivos de configuración de los servidores estén ubicados en otrosdirectorios. Usualmente es fácil hacer coincidir un servidor en particular con el nombre hallado en eldirectorio. Como puede apreciarse, como con el archivo httpd.conf por ejemplo, tiene sentido queéste tuviera algo que ver con el servidor web.

Edición de los Archivos de ConfiguraciónComprender la diferencia entre archivos de configuración del usuario y del sistema y dónde seubican estos archivos es solamente el primer paso para poder administrar apropiadamente unsistema Linux. Un administrador de un sistema Linux tendrá que editar apropiadamente estosarchvos para que éstos configuren apropiadamente un sistema Linux. No hay una forma deexplicar a alguien cómo editar cualquiera de estos archivos. Esto es porque dependiendo delsistema en sí, el usuario, y muchos otros factores, cómo se editan estos archivos puede variarcompletamente de un sistema a otro. Un mejor enfoque a tomar es explicar el formato de estosarchivos y cómo todas las líneas de los siguientes archivos de configuración cambiarán qué hará elsistema. Tomando este enfoque, cualquier administrador de sistemas puede configurar estosarchivos según sus propias necesidades. Tenga en cuenta que estos archivos pueden editarseusando cualquier editor de texto como vi y que más información puede hallarse sobre estoscomandos observando sus páginas man.

El Archivo /etc/inittabEl archivo /etc/inittab se describió en la sección anterior. Recuerde que el archivo /etc/inittab esresponsable de controlar procesos init, lo cual ejecuta los scripts de inicio en un sistema Linux. Haydos tipos de líneas que se encontrarán en los archivos /etc/inittab: líneas de comentario y líneasde control. Las líneas de comentario son tipos típicos de líneas que se encontrarán en todos losscripts de cualquier sistema operativo. Éstas son las líneas que se comentan usando un signonumeral (#). Estas líneas se ignoran y no se procesan. Las líneas de control son las líneas que leeel programa. Las líneas de control del archivo /etc/inittab se muestran en el siguente formato enlas Figuras y .

id:runlevel:action:process

Observe la Figura para ver que la parte de id del archivo se muestra en el formato n, donde n esel nivel de ejecución (0-6). Esto representa la acción a tomar al pasar a un nuevo nivel deejecución. Refiérase a la Figura , para ver qué nivel de ejecución puede mostrarse usando unúnico nivel de ejecución o múltiples niveles de ejecución y puede usarse aquí como 2345 para losniveles de ejecución 2-5.

Hay diversas razones por las cuales un administrador necesitaría editar el /etc/inittab. Una de lasrazones más comunes es cambiar el nivel de ejecución por defecto del sistema. Los niveles deejecución se tratarán en más detalle en la sección 10.3.6.

El Archivo /etc/fstabTal como se aprendió en la sección anterior, el archivo /etc/fstab proporciona acceso a particionesde disco y a dispositivos de medios removibles. Linux soporta una estructura de directoriosunificada lo que significa que cada directorio está ubicado en algún lugar en relación a la raíz delárbol que es /. Cualquier dispositivo o partición que se monta en un sistema Linux también se ubicaen esta estructura de directorios. Por ejemplo, los archivos de un cdrom que se monta puedenhallarse en el directorio /mnt/cdrom. Los directorios ubicados fuera de esta raíz (/) pueden serotras particiones, discos o directorios. Un sistema Linux tratará a todos de la misma manera. Eldirectorio /etc deberá estar en el mismo directorio que la raíz pero otros directorios como losdirectorios home pueden almacenarse en otra partición o disco en el cual no esté la raíz. El archivo/etc/fstab maneja esto permitiendo a un sistema Linux saber dónde se ubican estos archivos paraque puedan ser accesibles al sistema operativo.

Page 40: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

40

La estructura de /etc/fstab es como la muestra la Figura . Observe este archivo y note que hayseis columnas separadas por espacios. Vea la línea comentada en la parte superior, que indica loque cada una de estas columnas representa. Nuevamente, cualquier línea que comience con unsigno numeral (#) será comentada e ignorada. Los significados de cada una de estas columnas semuestran en la Figura .

Page 41: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

41

Page 42: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

42

Page 43: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

43

Page 44: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

44

Page 45: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

45

10.3.5 Administración de niveles de ejecución

Los niveles de ejecución se han mencionado en las secciones anteriores de este capítulo. Hastaeste punto todo lo que ha sido mencionado acerca de los niveles de ejecución es que controlanqué conjunto predeterminado de programas se ejecutarán en el sistema cuando el sistema arranca.En otras palabras, hay programas que solamente se ejecutan en niveles de ejecución específicos.En qué nivel de ejecución se arranca el sistema determinará qué programas se cargan al sistema.La misma regla se aplica aquí para los niveles de ejecución que para los archivos de configuración.Como administrador, no es suficiente simplemente saber qué hacen los niveles de ejecución. Elconocimiento de cómo administrar eficazmente niveles de ejecución en un sistema Linux tambiénes necesario.

La administración apropiada de niveles de ejecución es un método que puede usar unadministrador de sistemas para cambiar qué servicios ofrece un sistema. Por ejemplo, un sistemaLinux puede configurarse para arrancar con dos configuraciones diferentes. Una configuraciónpodría ser con todos los servidores de red y la otra podría ser un conjunto más limitado de serviciosdel sistema en el cual otras tareas como mantenimiento del sistema necesiten hacerse. En lugar detener que detener manualmente todos estos servicios, puede arrancarse con un nivel de ejecucióndiferente y ninguno de los servidores del sistema se cargarían. Usar el sistema X Window es otroejemplo donde puede usarse el nivel de ejecución. Arrancar en una interfaz en modo texto o enuna interfaz GUI puede hacerse automáticamente arrancando con diferentes niveles de ejecución.

Cambio del Nivel de EjecuciónTambién se mencionó en secciones anteriores de este capítulo que el programa init controla losniveles de ejecución en un sistema Linux. Las configuraciones que controlan cómo arranca elsistema y en qué nivel de ejecución arrancar están almacenadas en el archivo /etc/inittab. El

Page 46: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

46

programa init lee las configuraciones de este archivo y por lo tanto configura el nivel de ejecucióninicial del sistema.

Una vez que el sistema ha arrancado es posible cambiar el nivel de ejecución usando losprogramas init o telinit. La sintaxis para estos dos comandos es la siguiente:

telinit niveldeejecucióninit niveldeejecución

La mayoría de las veces, para nivel de ejecución, simplemente introduzca el nivel de ejecución alque ha de pasarse, ya sea 0-6. No obstante, también hay unos pocos códigos que puedenintroducirse aquí en lugar de un número. Por ejemplo introducir S o s cambiará el nivel deejecución a modo de usuario único y Q o q leerá nuevamente el archivo /etc/inittab eimplementará cualquier cambio que se hayan hecho en el mismo.

Para averiguar cuál es el nivel de ejecución actual, use el comando runlevel. Este comandomostrará el nivel de ejecución anterior del sistema, así como el nivel de ejecución actual.

Un parámetro de utilidad a usar con los programas telinit o init es -t tiempo. Esto retrasará elcambio hasta el tiempo especificado. Este parámetro puede ser útil porque al cambiar de nivel deejecución muchos de los procesos del sistema se eliminarán. Inicialmente, los sistemas intentanhacer esto mediante el comando SIGTERM. El comando SIGTERM permite a un programaadministrar su propio proceso de cerrado, haciéndolo por lo tanto de manera segura. No obstante,si el proceso no se cierra, el sistema usará el comando SIGKILL que inmediatamente finalizará elproceso y podría ocasionar daño al sistema. Usar el parámetro -t tiempo puede retrasar el procesodurante un tiempo para dar a todos los procesos del sistema tiempo para cerrarse por sí mismos.

Cambiar al nivel de ejecución 0 es un caso especial porque requiere apagar la computadora ydetenerla. Dependiendo de la distribución de Linux que se esté usando, cambiar a nivel deejecución 0 apagará el sistema así como toda la alimentación del mismo donde sea seguro apagarmanualmente la alimentación. Pasar a nivel de ejecución 0, para apagar el sistema, puede hacersemediante los comandos telinit o init. No obstante, se recomienda usar el comandoshutdown en cambio por las muchas opciones que brinda. La sintaxis para el comando shutdownes:

shutdown [-t sec] [-arkhcfF] time [warning-message]

Estos parámetros para el comando shutdown se explican en la Figura .

Cambiar el Nivel de Ejecución por DefectoCambiar el nivel de ejecución por defecto en un sistema Linux permanentemente es un procesomuy simple. Simplemente involucra editar el archivo /etc/inittab. Específicamente, la líneaid:3:initdefault:. Esta línea indica a un sistema que está configurado para el nivel de ejecución tres(3) por defecto. Para cambiar esto, simplemente cambie el 3 por el nivel de ejecución deseado enel que ha de arrancar el sistema. Despues de hacer este cambio, use el comando init q paraescanear el archivo /etc/inittab e implementar el cambio.

Page 47: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

47

Page 48: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

48

Page 49: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

49

Page 50: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

50

Page 51: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

51

Page 52: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

52

Page 53: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

53

10.3.6 Documentación de la configuración de un sistema Linux

Page 54: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

54

Un paso muy importante a recordar para cualquier administrador, al cambiar cualquier tipo deconfiguración en un sistema Linux, es documentar los cambios que se han realizado. Ladocumentación es un paso extremadamente importante, especialmente al administrar un sistemaLinux. Como se aprendió a lo largo de los pasos anteriores, la mayor parte de todas lasconfiguraciones Linux tienen lugar editando los diversos archivos de configuración. Puede serimposible seguir el rastro de todos los cambios que se han hecho en un sistema sin mantener unabuena documentación. Sin una documentación apropiada, los cambios que se han efectuadopueden olvidarse, lo cual puede conducir a problemas en el futuro. Una documentación apropiadaahorrará tiempo valioso al detectar problemas en el sistema posteriormente. Por ejemplo, si loscambios en la configuración se hicieron en un script de inicio para lanzar un servidor al inicio,entonces posteriormente un servidor se actualiza o reemplaza sin actualizar la configuración delscript de inicio, serios errores podrían resultar, haciendo que el sistema no pueda iniciar. Ladocumentación apropiada del sistema habría ahorrado mucho tiempo y problemas. Los cambios deconfiguración que se hicieron podrían haber sido vistos y luego cambiados de acuerdo a ello.

Log de Mantenimiento del SistemaMuchos administradores mantienen un log para administradores en el cual mantienen registro detodos los cambios de configuración que hacen en sus sistemas. En general es una buena reglamantener un log del administrador en un cuaderno que puede escribirse y no electrónicamente enuna computadora. Esto hace fácil la referencia, pero también lo hace disponible incluso si lacomputadora en la cual se almacena se cae.

Hay varias cosas importantes que documentar en un log del administrador. Unos pocos de estosítems son los siguientes, pero esto puede ser diferente dependiendo de la red y la configuración delsistema.

• Configuración inicial• Instalaciones de paquetes• Ediciones de los archivos de configuración• Cambios en el sistema de archivos• Recompilaciones del kernel• Cambios en el hardware

Configuración InicialEs importante documentar cómo estaba configurado originalmente el sistema durante el procesode instalación. Esto puede incluir cosas como el hardware que se instaló en el sistema. Además,incluya cualquier configuración de hardware que se haya hecho, cualquier información sobre eldisco rígido como esquemas de particionamiento, el número de versión de la distribución de Linux,y también qué opciones de instalación se instalaron, como los paquetes.

Instalaciones de PaquetesEs importante registrar qué paquetes de software se instalaron en el sistema. Esto esespecialmente importante si los paquetes instalaron son tarballs o si el paquete se ha compiladomanualmente. No se mantiene ninguna base de datos de estos paquetes, por lo cual es importantetener una.

Ediciones de los Archivos de ConfiguraciónHan habido muchos archivos que se han tratado en este capítulo que requieren efectuar edicionesde configuración. Es una buena idea mantener un registro de estos cambios en el libro log. Si elcambio es pequeño, escribir el cambio exacto que se efectuó está bien. Si fue un gran cambio en elarchivo de configuración, usualmente lo mejor es escribir una descripción general de qué cambiose efectuó.

Page 55: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

55

Cambios en el Sistema de ArchivosA menudo hay muchos cambios que deben efectuarse en el sistema de archivos. Estos cambiospodrían ser archivos o directorios que es necesario mover o cuando el sistema de archivosnecesita un cambio de tamaño.

Recompilaciones del KernelSi y cuando el kernel Linux necesita recompilarse o actualizarse, siempre es una buena idea hacernotas acerca de los cambios. Estos cambios deberán incluir el número de versión, cualquierfunción que se agregó o eliminó, así como el nombre del nuevo Kernel.

Cambios en el HardwareCada vez que se hace cualquier cambio en el hardware, es importante tomar notas de los cambiosque se harán en el archivo /etc/fstab para el disco rígido y para las configuraciones del servidor Xcon la placa de video.

El libro log deberá ser fácilmente accesible pero también deberá almacenarse en un lugar seguro.La documentación de los cambios de configuración ahorrará tiempo a un administrador al haceractualizaciones e instalar cualquier nuevo hardware o software. Esta práctica es invalorable paracualquier buen administrador de sistemas.

Copia Backup del Directorio /etcOtro medio de documentar cualquier cambio de configuración es hacer un backup de todo eldirectorio /etc. Usando el comando tar es posible hacer un backup del directorio /etc en cualquierdispositivo montado. Hacer esto esencialmente preserva una copia de la documentación delsistema. Esto puede usarse para ir hacia atrás y usarse como referencia para ver qué cambios enla configuración se han efectuado. La sintaxis de comandos para ello se muestra en la Figura .

En este ejemplo, en lugar de xxxx, coloque cualquier dispositivo en el que se hizo el backup. Hacerun backup de todo el directorio /etc es a veces una buena idea para hacerlo antes de hacercualquier cambio extensivo en la configuración. De esta forma, si se comete un error el antiguodirectorio siempre puede restaurarse del backup.

Tenga en cuenta no obstante, que este método no es un sustituto de mantener un log demantenimiento. Es solamente otro medio de ayuda al efectuar cambios en la configuración.Mantener un log puede conducir directamente a un cambio de configuración que se efectuó. Noobstante, si había solamente un backup, todos esos archivos deberán analizarse para hallar elcambio de configuración que se efectuó.

Page 56: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

56

Page 57: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

57

10.4 Daemons

10.4.1 Introducción a los daemons Linux

Podría no ser enteramente correcto llamar a todos estos procesos de Red/NOS, servicios. Tal vezun término más genérico, independiente del sistema operativo sería más correcto. Esto se debe aque si los usuarios se refieren a estas funciones como servicios, están usando el término queMicrosoft usa para referirse a estos procesos de red. Si los usuarios estuvieran usando Linux, sereferirían a estos servicios como daemons. Novell se refiere a estos servicios como MódulosDescargables Netware (NLMs). Servicios, daemons y NLMs todos llevan a cabo esencialmente lasmismas tareas. Permiten al sistema operativo proporcionar funciones como Internet, archivoscompartidos, intercambio de correo, servicios de directorio, administración remota, y servicios deimpresión. No obstante, funcionan un tanto diferentemente en Windows en oposición a Linux oNovell.

Las funciones que se denominan servicios en Windows y Módulos Descargables Netware (NLMs)en Novell se denominan daemons en Linux. Ejemplos de daemons Linux son FTPD y HTTPD. Losdaemons no están integrados al sistema operativo como los servicios lo están en Windows. Losdaemons se ejecutan como procesos en segundo plano. Se ejecutan continuamente sin producirninguna salida visible. Por ejemplo, el daemon FTP (FTPD) se ejecutará en segundo plano. Amedida que procesa solicitudes entrantes, enviará los archivos según sea necesario, pero nomostrará nada en la pantalla. Las actividades de los daemons se registran en un archivo log.Muchos daemons pueden ejecutarse en un sistema Linux en cualquier momento determinado. Hayvarios daemons Linux comunes:

• HTTPD Este daemon es responsable de las solicitudes del navegador web.• Inetd Este daemon esperará que se haga una solicitud entrante y luego envía esa solicitud

al daemon apropiado.• Crond Este daemon ejecutará scripts en un momento especificado.• Syslogd Este daemon registrará información acerca de programas en ejecución

actualmente al archivo log del sistema.

Los daemons pueden cargarse o descargarse de la memoria en cualquier momento. Tambiénpueden reiniciarse sin tener que reiniciar todo el sistema. La Figura muestra un ejemplo deldaemon xinetd.d siendo iniciado. Con Microsoft, el sistema debe reiniciarse cuando se instala unaaplicación o servicio. Pero Novell y Linux pueden cargar, descargar y reiniciar un daemon o NLMsin requerir que un administrador reinicie el sistema.

Page 58: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

58

10.4.2 Inicio, detención y reinicio de daemons

Antes de entrar en descripciones y ejemplos de daemons específicos de Linux y cómoconfigurarlos, primero es necesario aprender cómo iniciar o detener estos servicios. Cuando unsistema Linux está funcionando e incluso cuando no hay nada en la pantalla excepto un prompt deinicio de sesión, aún hay varios programas y servicios en continua ejecución. Algunos de ellos sonsimples programas que manejan cosas tales como prompts de inicio de sesión basados en texto.Hay otros servicios más complejos que se están ejecutando que hacen el sistema disponible paraotros sistemas exteriores. En un sistema operativo Linux, muchos de estos servicios que se iniciany detienen se denominan daemons. Estos daemons necesitan iniciarse de alguna manera y enciertas ocasiones incluso necesitan ser detenidos o reiniciados. Linux proporciona varias formasdiferentes de configurar un sistema para que inicie daemons o programas.

Uso de Scripts Sys V para Iniciar y Detener Servicios y Daemons LinuxLos scripts Sys V pueden usarse para iniciar, detener o reiniciar daemons Linux. Los scripts seubican en directorios en particular, más comúnmente en los directorios /etc/rc.d/init.d o /etc/init.d.Para ejecutar estos scripts, necesitan ir seguidos por opciones tales como start, stop o restart. Laopción status puede usarse en algunos scripts también para obtener feedback acerca de en quéestado actual se encuentra el daemon. Por ejemplo, el siguiente comando reiniciará el daemonApache Web server en un sistema Red Hat 7.2.

# /etc/rc.d/init.d/httpd restart

Si por alguna razón este script es ejecutado y si devuelve un mensaje de Fallido [Failed], indicaque hay algo mal en la configuración.

Page 59: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

59

Hay algunas cosas que es importante saber al iniciar o detener manualmente un daemon de estamanera.

Primero, dependiendo de qué distribución de Linux se está usando, el nombre exacto del scriptpuede ser levemente diferente. Por ejemplo, en algunas distribuciones el servidor Samba usa elscript smb y en otras, usa el script samba para iniciar, detener o reiniciar el daemon Samba. Otrainstancia en la cual el nombre del script de inicio podría no estar estandarizado es cuando hayscripts que llevan a cabo operaciones complejas que comienzan varios otros programas junto conel programa o daemon que se pretende que se inicie con el script. El script Network o Networkinges un ejemplo que se incluye en algunas distribuciones que se usa para inicializar muchasfunciones de red.

Segundo, los scripts de inicio Sys V están diseñados para ser ejecutados en distribucionesparticulares de Linux. Un script de inicio Sys V de Red Hat no funcionará en otras distribuciones deLinux.

Tercero, se mencionó antes qué indica un mensaje Failed cuando se ejecuta el script. No obstante,a veces un script se ejecutará y parecerá estar funcionando correctamente incluso aunque no estáoperando correctamente. Si el daemon no está funcionando apropiadamente verifique el archivolog, usualmente localizado en el archivo /var/log/messages. Este archivo log puede proporcionaralguna indicación respecto a qué errores se están generando.

Cuarto, siempre es una buena idea leer la documentación específica del daemon para lasdiferentes opciones que reconoce el script. Esto se debe a que algunos scripts soportan diferentesopciones que otros. Por ejemplo, algunos daemons necesitan reiniciarse cuando se ha efectuadoun cambio en la configuración. Para hacer esto, simplemente ejecute el script con la opción dereinicio. Algunos scripts no necesitan reiniciarse sino que necesitan detenerse completamente yluego volverse a iniciar. Algunos daemons tienen comandos que simplemente releen laconfiguración sin tener que reiniciarlos.

Iniciar o Detener un Daemon o Servicio de Forma Permanente mediante scripts Sys VPara poder iniciar o detener eficazmente un servicio o daemon que se ejecuta en un sistema Linux,es necesaria una buena comprensión de qué son los niveles de ejecución. Comprender cómo losniveles de ejecución pueden usarse para controlar qué servicios, programas y daemons cargaautomáticamente el sistema cuando inicia también es necesario. Refiérase a la sección 10.3.5 pararepasar niveles de ejecución.

También se mencionó anteriormente en esta sección que los scripts de inicio Sys V que se usanpara iniciar, detener y reiniciar temporalmente los daemons están ubicados en los directorios/etc/rc.d/init.d o /etc/init.d. También hay varios directorios dentro de la estructura de directoriosLinux que contienen vínculos simbólicos a estos scripts. Estos vínculos simbólicos están asociadosa los diferentes niveles de ejecución. Cuando un sistema Linux se arranca en un nivel de ejecuciónespecífico, estos vínculos simbólicos que están asociados a un nivel de ejecución específico,hacen referencia a los scripts Sys V para que carguen servicios, programas y daemons de manerapermanente. Estos directorios que contienen los vínculos simbólicos se denominan por lo común/etc/rc.d/rcx.d o /etc/rcx.d. La x es el número de nivel de ejecución especificado, que se trató enla sección 10.3.5. Los vínculos simbólicos de estos directorios contienen archivos que ejecutan losscripts Sys V cuando el sistema arranca en el nivel de ejecución correspondiente. Estos nombresde archivo asumen la forma Kxxdaemon o Sxxdaemon, donde xx es un número de dos dígitos ydaemon es el nombre del daemon. Cuando el sistema introduce un nivel de ejecución especificadolos scripts Kxxdaemon y Sxxdaemon se ejecutan y los daemons o servicios que comienzan con Sreciben el comando start. Los scripts que comienzan con K reciben el comando stop. Por lotanto, daemon y servicios pueden iniciarse o detenerse con facilidad permanente yautomáticamente cuando el sistema arranca, renombrando estos scripts en los directorios devínculos simbólicos con una S o una K. El número de dos dígitos representa el orden en el cual los

Page 60: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

60

daemons o servicios se inician o detienen. El sistema ejecutará los scripts con el número más bajoprimero. Esto puede ser importante porque algunos servicios deberán iniciarse o detenerse antesque otros. Por ejemplo, el daemon del servidor web Apache deberá iniciarse después de que losservicios básicos de networking se hayan iniciado.

Los Archivos xinetd.conf y xinetd.dLos scripts Sys V son ideales para ejecutar daemons y servicios que necesitan estar ejecutándoseconstantemente. No obstante, ejecutar estos daemons y servicios de forma permanente, consumenvaliosos recursos del sistema y memoria incluso cuando no están siendo usados. El archivoxinetd.d es lo que se denomina un super-servidor. El concepto principal detrás de los super-servidores es escuchar solicitudes para cualquiera de los daemons y servicios del servidor. Luego,cargar el daemon o servicio en la memoria solamente cuando se ha hecho una solicitud y está enuso. Hasta que la solicitud se haya hecho, el daemon no estará ejecutándose ni consumirá nada dememoria. Un problema con la disposición del super-servidor es que puede tomar un poco más detiempo acceder al servidor. Esto se debe a que el daemon o servicio necesita cargarse en lamemoria primero. Los dos tipos de super-servidores que se usan en Linux son inetd.d y xinetd.d.Este curso trata solamente xinetd.d porque éste es el super-servidor que se usa en Red Hat 7.2.Red Hat usaba inetd.d antes de pasarse a xinetd.d. El super-servidor xinetd.d proporcionafunciones de seguridad adicionales que son similares a los wrappers TCP. Recuerde que loswrappers TCP se trataron en capítulos anteriores. El archivo xinetd.conf, que se muestra en laFigura , es el archivo de configuración que controla a xinetd.d. El archivo xinetd.conf contieneconfiguraciones y directivas a archivos que están almacenados en /etc/xinetd.d. Cada daemon yservicio que haya sido configurado para ejecutarse instalará un archivo en /etc/xinetd.d con suspropias opciones de configuración. Las siguientes secciones describen cómo configurar servidoresindividuales para ejecutarlos usando xinetd.d.

Uso de Scripts de Inicio PersonalizadosHay otra forma de iniciar automáticamente un daemon o servicio cuando el sistema arranca.Colocando el texto apropiado en el script /etc/rc.d/rc.local, es posible iniciar cualquier daemon oproceso. Este script se ejecuta después de que los scripts de inicio Sys V se ejecutan y carga loque se especifica en este script. Este método puede ser práctico para su uso cuando eldesempeño es un problema o cuando el daemon o servidor no pueden ejecutarse en un script deinicio Sys V. Por ejemplo, para iniciar el servidor web Apache en el script /etc/rc.d/rc.local, que semuestra en la Figura , coloque la siguiente línea en el archivo:

/etc/rc.d/init.d/httpd start

Es importante comprender que iniciar y ejecutar un daemon o servicio de esta forma noproporciona ningún medio para detener el servicio como puede hacerse usando el comando stop.La única forma de detener un daemon que ha sido iniciado colocando una entrada en el script/etc/rc.d/rc.local es usar los comandos kill o killall después de localizar el número de ID delproceso (PID) usando el comando ps.

Page 61: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

61

10.4.3 http

Page 62: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

62

El NOS Linux no es capaz de proporcionar el daemon HTTP a los usuarios. En cambio, unprograma de web-hosting separado y extremadamente popular llamado Apache es la solucióncomún. Apache proporciona los mismos daemons HTTP para Linux que la herramienta Serviciosde Información de Internet (IIS) proporciona para Windows 2000. La diferencia entre las dosimplementaciones es que la configuración basada en texto CLI de Apache difiere de las opcionesmanejadas con menúes de Windows 2000. Además, Apache tiende a ser mucho más complejo,proporcionando un nivel más profundo de personalización y potencia a los administradores desistemas. Una configuración típica del servidor web Apache se muestra en la Figura . Note cómoel gráfico demuestra cómo cualquier usuario que ejecute cualquier sistema operativo puedeacceder al servidor web. No tiene que estar ejecutando un sistema Linux para acceder al daemondel servidor web Apache porque el servidor web Apache es accedido mediante el protocolo HTTP,que es independiente del sistema operativo.

La complejidad adicional de Apache requiere a menudo un sólido conocimiento de web hosting ytemas de seguridad antes de que los administradores del sistema intenten configurar su servicioHTTP para Linux. El proceso de configuración tiene lugar editando cuatro archivos de configuraciónhttpd.conf, srm.conf, access.conf, y mimes.types. Éstos se encuentran en el directorio /conf de lainstalación de Apache. Estos archivos contienen todas las configuraciones de inicialización paraApache, como los tipos de datos a servir y las estructuras de directorios web. Solamenteadministradores de sistemas experimentados deberían intentar editar estos archivos en un servidorweb, ya que una configuración inapropiada podría crear "agujeros" de seguridad en el sistema.

Apache, como Linux, está disponible para su descarga sin costo para los usuarios. Apache estádisponible en http://www.apache.org. Diferentes versiones del programa se configuran,empaquetan y envían con la mayoría de las opciones populares de Linux, como Red Hat Linux. Entales casos, Linux inicia Apache automáticamente y el servicio HTTP (HTTPD) además de otrosdaemons como FTP (FTPD) cada vez que arranca el sistema.

A los usuarios de un sistema Linux habilitado para HTTP se les da típicamente un directorioespecial dentro de su directorio home para colocar archivos web públicos. Este directorio a menudose llama "public_html" y se convierte automáticamente en el directorio web raíz del usuario. Unejemplo de esta página se muestra en la Figura . Por ejemplo, si un usuario llamado jdoe existeen un sistema Linux con una dirección IP de 123.45.67.90, el usuario tendría también una direcciónweb por defecto:

http://123.45.67.90/~jdoe

A los directorios o archivos ubicados en el directorio public_html se les otorga los permisosapropiados, la categoría "otros" debe tener permisos de lectura y/o ejecución, y son tambiénvisibles por Internet. Por ejemplo, un subdirectorio llamado "images" y un archivo dentro de élllamado "mom.jpg" sería visible en la siguiente dirección web:

http://123.45.67.90/~jdoe/ images/mom.jpg

Page 63: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

63

10.4.4 FTP

Page 64: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

64

Aunque el servicio FTP de Windows 2000 puede o no estar disponible por defecto, el servicio FTPde Linux no necesita configuración. Esta configuración se encuentra en /etc/rc.d/init.d/xinetd con lalínea mostrada en la Figura .

Si un administrador de sistemas desea inhabilitar el servicio, un signo numeral (#) puede ubicarseal principio de la línea. De otro modo, Linux inicia automáticamente el daemon FTP (FTPD) duranteel proceso de inicio, y los usuarios pueden usar FTP remotamente a la máquina en cualquiermomento.

Al iniciar sesión en una máquina Linux usando FTP, los usuarios a menudo son llevadosinmediatamente a su directorio home. En otros casos, los administradores de sistemas puedencrear un directorio especial para que sirva como punto de entrada al sistema para todos losusuarios. Este directorio raíz virtual aparece ante los usuarios FTP en la parte superior de laestructura de directorios del sistema y no permite un acceso más alto dentro del sistema.Implementar este método proporciona a un administrador de sistemas mayor control sobre losdatos y proporciona una seguridad del sistema más estrecha. También proporciona una ubicacióncentral para crear directorios públicos donde los datos puedan compartirse libremente entreusuarios FTP. Recuerde que las mismas pertenencias y permisos de archivos y directorios seaplican en el entorno FTP que los que se aplican en cualquier otro entorno Linux. Por ejemplo, losusuarios que desean obtener un archivo remoto ubicado en un directorio específico deben tenerpermisos de usuario, grupo u otros para ese directorio. De otro modo, el acceso al directorio sedenegará de manera muy similar a como se denegaría en un prompt de comandos estándar deLinux.

10.4.5 Telnet

Page 65: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

65

Telnet permite a un usuario remoto iniciar sesión en un sistema con el propósito de emitircomandos y acceder a archivos usando una Interfaz de Línea de Comandos (CLI). Telnet fuedesarrollado para que los usuarios finales puedan acceder a potentes mainframes desdeterminales bobas. Hoy, los administradores usan Telnet para administrar remotamenteservidoresde red, impresoras y otros dispositivos. La Figura ilustra un usuario remoto que estáusando Telnet para administrar dispositivos remotos.

La conveniencia de administrar remotamente un sistema no se obtiene sin precio. Configurando unNOS para que acepte conexiones Telnet, los administradores crean un problema potencial deseguridad. Telnet debe configurarse de modo tal que solamente los usuarios autorizados puedanacceder al servidor.

Establecer una contraseña a menudo no es suficiente. Cuando se configura un daemon, comoTelnet, el servidor se ve forzado a escuchar solicitudes. Al descubrir que un servidor estáescuchando solicitudes Telnet, un hacker puede intentar usar la fuerza bruta para irrumpir en elsistema. Un ataque de fuerza bruta puede involucrar el uso de un programa que adivina lacontraseña, usando un diccionario como fuente de sus adivinaciones.

Incluso si un hacker no puede irrumpir en el sistema usando la fuerza bruta, un servidor enescucha puede aún ser vulnerable a ataques de Denegación del Servicio (DoS). Un ataque DoSpor lo común involucra la inundación de un servidor con solicitudes falsas, evitando que el servidorresponda a fuentes legítimas.

El protocolo Telnet en sí no es especialmente seguro. Por ejemplo, Telnet envía nombres deusuario y contraseñas en texto claro, que puede ser leído por otros hosts de la red. Una alternativamás segura a Telnet es Secure Shell (SSH). Muchas organizaciones implementan SSH en lugar dedaemons Telnet porque SSH cifra las contraseñas y proporciona otras funciones de seguridad.

La mayoría de los sistemas UNIX ejecutan daemons Telnet por defecto. No obstante, a causa delos problemas de seguridad arriba anotadas, el administrador debe habilitar Telnet manualmenteen Red Hat Linux 7. Configurar daemons Telnet en Red Hat Linux y Windows 2000 se trata en lassiguientes secciones.

Hay un comando CLI estándar para abrir una conexión Telnet a una computadora remota:

telnet hostname | IP_address

Por ejemplo:telnet computer.company.comotelnet 123.45.67.90

Page 66: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

66

10.4.6 Protocolo Bloque de Mensaje de Servidor (SMB)

Page 67: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

67

El protocolo Bloque de Mensaje de Servidor (SMB) está diseñado para ser un protocolo paracompartir archivos. Ha sido renombrado Sistema Común de Archivos de Internet (CIFS) pero aúnse usa para compartir archivos e impresoras. Este protocolo se utiliza para permitir que sistemasno Linux ni UNIX monten sistemas de archivos e impresoras Linux en la red. El protocolo SMBpermite que un cliente Windows haga esto de la misma forma en que si estuviera conectado a otrosistema Windows. Esto proporciona una forma fácil para que los sistemas clientes que corranwindows accedan a un archivo o un servidor de impresión Linux.

Linux incluye una herramienta para hacer esto llamada Samba que proporciona al sistema Linux lacapacidad de interactuar con los sistemas Windows que usan SMB/CIFS. Samba viene con todaslas principales distribuciones de Linux..

Samba usa dos programas clientes llamados smbclient y smbmount. El smbclient es un programaque permite que otro cliente Linux o UNIX acceda a compartidos en un sistema Linux o Windowsusando un inicio de sesión e interfaz en modo texto. Si server es el nombre del servidor sambaLinux a ser accedido y share es la unidad o directorio a ser accedido, escriba smbclient//server/share. El smbclient usa el nombre de sesión como nombre de usuario pero aún senecesitará ingresar una password para acceder al compartido. Una vez autenticado, use comandospara transferir archivos y obtener listados de archivos y directorios de la misma forma en que siestuviera conectado usando FTP con los comandos dir, get, y put.

El programa smbclient es muy útil cuando se está restringido a una interfaz en modo texto. Sinembargo, SMB/CIFS se pensó para brindar acceso directo para compartir archivos y usando elutilitario smbmount. Éste realmente montará el compartido en Linux. La sintaxis es similar alcomando smbclient. Por esta razón, la ubicación del punto de montaje necesita ser agregada alcomando. Escriba smbmount//server/share/mnt/xxx, donde xxx es la ubicación del compartido deLinux. Usar el utilitario smbmount tiene muchas ventajas en que monta el compartido directamentesobre el sistema para que el usuario pueda accederlo como si estuviera en una unidad local. Elusuario puede abrir un documento, editarlo, y luego grabarlo en el servidor.

Otra forma de acceder a un compartido SMB/CIFS es usar el comando mount para montar elcompartido smb. El tipo de sistema de archivos smbfs necesitará ser especificado con el comandomount. La sintaxis para el comando es la siguiente:

# mount t smbfs// server/share/mnt/xxx

El servidor Samba se configura con el archivo smb.conf que está ubicado en /etc/samba. Laconfiguración predeterminada de Samba funcionará. Sin embargo, hay un par de items que podríanecesitar configurar antes de que Samba funcione por completo. Primero, si el sistema cliente esparte de un grupo de trabajo o dominio, este nombre de grupo de trabajo o dominio debe serlistado en el archivo smb.conf con el parámetro workgroup. Segundo, alguna versión nueva deWindows usa passwords encriptadas pero lo predeterminado de Samba para eso es usarpasswords encriptadas. Si se está usando una versión de Windows que utiliza passwordsencriptadas, entonces fije el parámetro encrypt passwords en yes en el archivo smb.conf. Luego,para agregar una password para el usuario, use el comando smbpasswd. La sintaxis para estecomando es la siguiente:

# smbpasswd a jsmith

Esto fijará una password encriptada para jsmith. Luego, finalmente defina cuál será el compartidoen el sistema Linux. La configuración predeterminada permite que los usuarios accedan a susdirectorios principales. Puede encontrar más información en http://www.samba.org y hay libroscompletos que sólo hablan del servidor Samba.

Page 68: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

68

10.4.7 NFS (Sistema de Archivos de Red)

Similar al protocolo SMB/CIFS, NFS se usa como medio para compartir archivos entre variossistemas informáticos conectados en una red. No obstante, la principal diferencia con NFS es queestá diseñado para funcionar en sistemas UNIX. Puesto que la arquitectura de los sistemas Linuxsemejan mucho la de los sistemas UNIX, NFS puede usarse para intercambiar archivos entresistemas Linux conectados mediante una red y es realmente el método preferido para compartirarchivos entre sistemas Linux.

NFS es el método preferido para compartir archivos entre sistemas Linux y UNIX. Esto se debe aque los sistemas clientes pueden acceder a partes compartidas NFS en un servidor de archivosNFS con utilidades de acceso a archivos Linux. Por ejemplo, para acceder a una parte compartidaNFS desde una estación de trabajo cliente, el usuario solamente necesita montar la ubicación de laparte compartida usando el comando mount. Este comando se ha tratado a lo largo de todo estecapítulo así como en la sección anterior, SMB. Usando este comando, los sistemas cliente Linuxpueden acceder a partes compartidas NFS en el servidor de archivos y usar la parte compartidacomo si estuviera almacenada localmente en su sistema. La sintaxis usada desde la estación detrabajo cliente para montar la parte compartida NFS es la siguiente:

# mount /mnt/xxx

Para desmontar la unidad un usuario tipearía:

# umount /mnt/xxx

Page 69: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

69

Hay algunos pasos que el administrador debe dar antes de que el usuario pueda montar la partecompartida NFS así de fácilmente. Las partes compartidas necesitan montarse en un servidor dearchivos y hacerse disponibles primero. Esto se hace usando el comando mount también pero lasintaxis es levemente diferente. La sintaxis para este comando es la siguiente:

# mount server:/home/jsmith/mnt/xxx

En este comando, reemplace server con el nombre de host del servidor. Las xxx son la ubicaciónde la parte compartida en el servidor de archivos. Tenga en cuenta que los usuarios regulares nopodrán usar el comando mount por defecto. Recuerde que editando el archivo /etc/fstab esposible habilitar un comando normalmente sólo disponible para la cuenta raíz para que seautilizado por cuentas de usuario regulares. Específicamente, la siguiente línea necesitaríaagregarse a este archivo:

server:/home/jsmith/mnt/xxx nfs user,noauto,exec 0 0

Agregando este archivo, cualquier usuario podría montar y desmontar la parte compartida NFSusando los comandos mencionados anteriormente. Otras opciones para agregar esta línea alarchivo /etc/fstab es dejar la sección no automática del usuario. Esto montaría automáticamente laparte compartida cada vez que el sistema arranca. No hay contraseña que tenga que usarse paraacceder a la parte compartida. El servidor se basa en la seguridad del lado del cliente paracontrolar el acceso a la parte compartida.

10.4.8 Cliente de Correo

Page 70: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

70

Al configurar el e-mail en el sistema Linux, el administrador tendrá una amplia variedad deopciones. El tipo de e-mail seleccionado dependerá de si el módem de conexión telefónica se usapara acceder al ISP o si hay una conexión permanente a Internet usando una conexión LAN. Laforma en la cual los usuarios envían y reciben e-mail determinará qué configuración se elige paraconfigurar e-mail en un sistema Linux.

Para configurar el daemon de e-mail en Linux, el administrador necesitará configurar un agente deusuario de correo, también conocido como mailer, el agente de transferencia de correo (MTA), y elprotocolo de transporte. El mailer proporciona al usuario una interfaz para leer y componermensajes. El mailer usa el MTA para transferir el correo desde el emisor al destinatario y viceversa.El MTA usa un protocolo de transferencia para hacer la transferencia.

Cuando se configura correo en un sistema Linux, el administrador primero necesitará seleccionarqué tipo de MTA usar. Los dos MTAs importantes son SMTP y Sendmail. Una vez que el MTA estáconfigurado y el protocolo es determinado, debe configurarse un mailer. Un ejemplo sería IMAP oPOP3. Hay varios mailers populares de los cuales elegir, como Elm, Pine o Netscape Messenger.

10.4.9 Impresión en un entorno Linux

La configuración de impresoras en un entorno Linux puede ser una tarea muy complicada porquerequiere conocimientos de edición y configuración de archivos de impresión específicos. No es unproceso paso a paso como con un sistema Windows 2000. La configuración puede ser muycomplicada porque es necesario saber los comandos y textos que se deben ingresar en el archivoapropiado. El proceso funciona en forma similar a Windows 2000 pero no es tan directo. Unaimpresora puede ser configurada localmente, o un servidor de impresión puede ser configuradopara que administre los pedidos de impresión y envíe esos pedidos hacia la impresora apropiada.

Componentes de la impresión en LinuxAl igual que con otros sistemas operativos configurados como servidores de impresión, elcomponente principal de la impresión en Linux es la cola de impresión. La cola de impresión es lo

Page 71: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

71

que reside en un servidor de impresión Linux que manipula todas las tareas de impresión entrantesdirigidas a las impresoras en red. Las colas de impresión pueden ser configuradas en una variedadde formas en el servidor de impresión. Normalmente, habrá una cola de impresión por cadaimpresora a la que esté sirviendo el servidor de impresión. Sin embargo, es posible configurarmúltiples colas de impresión para una impresora. Esto es útil cuando hay una cola que imprimehojas de un solo lado y otra cola que imprime las hojas doble faz.

El utilitario Linux que se usa para imprimir se llama lpr. Este comando puede ser ingresadomanualmente en la línea de comando para especificar una tarea de impresión que se quiere enviara la cola de impresión u otros programas pueden llamar a este comando para que les permitaimprimir archivos. El programa Daemon de Impresora en Línea (lpd) es el que administra las colasde impresión en un servidor de impresión Linux. Cuando lpr o computadoras remotas envían unpedido de impresión a una cola, el programa lpd acepta la tarea de impresión, y la dirige hacia laimpresora correcta. El programa lpd también monitorea las colas de impresión y además dirige lastareas de impresión desde las colas de impresión hacia las múltiples impresoras. Para realizaresto, el programa lpd usa el archivo de configuración /etc/printcap, que será tratado en la secciónsiguiente.

Otro aspecto importante a saber sobre la impresión con un sistema Linux es que a veces puede serdifícil de trabajar con ella porque es esencialmente unidireccional. Esto significa que las tareas deimpresión se originan en una aplicación y son enviadas a ciegas a la impresora sin saber el tipo deimpresora a la que se está enviando el trabajo. Linux envía sus tareas de impresión usando ellenguaje de impresora PostScrip, sin embargo no todas las impresoras son capaces de manipularel lenguaje Postscript.

El archivo de configuración /etc/printcapCuando se configura el servidor de impresión Linux, que a menudo será en un entorno de trabajo,el administrador necesitará conocer el sistema de spooling de impresión LPRng. El software LPRngproporciona el servidor con la capacidad de manipular múltiples impresoras y colas además deproporcionar la seguridad que será necesaria en una red grande. Cuando una tarea de impresiónes enviada al servidor, el daemon de impresora en línea (lpd) procesará el pedido. El otrocomponente principal del Software LPRng es el archivo /etc/printcap. Un ejemplo de este archivode configuración se muestra en la Figura . Este es el archivo que se edita para definir lasimpresoras en la red. Al usar las entradas del archivo /etc/printcap, Linux sabrá cuáles impresorasestán en línea y disponibles para imprimir. El procedimiento recomendad para editar el archivoprintcap es usar el comando printtool, un administrador de sistema de impresión. El comandoprinttool será tratado más tarde. Estos pasos son las tareas más complicadas cuando seadministra un servidor de impresión. La edición correcta de estos archivos permitirá aladministrador especificar cosas como permisos y seguridad en una impresora.

Como administrador de sistemas, va a ser importante saber cómo editar el archivo /etc/printcap .Esto es así porque ése es el archivo que está en el núcleo del software de impresión LPRng. Estearchivo puede ser usado para configurar múltiples impresoras en él, sin embargo se deben usardiferentes nombres de impresora. Los componentes del archivo /etc/printcap son mostrados en laFigura .

Después de hacer cambios en este archivo, el daemon de impresora necesitará ser reiniciado.Tenga presente que es mucho más fácil y más común configurar una impresora con el utilitario deinterfaz GUI printtool. Sin embargo, es importante que cualquier administrador comprenda lo quehacen todos estos componentes del archivo /etc/printcap. Esto es así porque permite que unadministrador haga cualquier cambio que pudiera necesitar hacer que esté disponible usando laherramienta GUI. Además, como no todas las distribuciones Linux usan una interfaz GUI, seránecesario poder reconocer las características del archivo /etc/printcap .

Page 72: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

72

El utilitario GUI printtoolRed Hat viene con una herramienta GUI que puede ser usada para configurar impresoras llamadaprinttool, que se muestra en la Figura . Para usar la herramienta, escriba printtool en unprompt de shell. Esto lanzará la herramienta de configuración de impresora. Este es un medio másdirecto para configurar una impresora y una cola de impresión en un servidor de impresión. Estaherramienta ayuda en la configuración de una estación de trabajo cliente en la red. Estaherramienta proporciona menúes paso a paso para seleccionar e ingresar las característicasespecíficas de la impresora que está siendo instalada.

Para configurar una impresora en un servidor de impresión para ser usada por múltiples usuarios,primero agregue la impresora localmente a la computadora que va a ser el servidor de impresión.El proceso para hacer esto está en el laboratorio que acompaña a este texto. Una vez que unaimpresora ha sido agregada al servidor de impresión, los sistemas Microsoft, Novell y UNIX puedenimprimir en la impresora configurando el servidor de impresión Linux para permitir que estossistemas lo hagan. Los usuarios Linux podrán imprimir automáticamente sólo dándoles permisos.Esto se hace editando el archivo /etc/lpd.perms.

El traductor GhostscriptLa administración de impresión en un sistema Linux es muy diferente de la de otros sistemasoperativos que podrían ser más comercialmente conocidos o familiares. En otros sistemasoperativos como Windows o Macintosh, la impresora se comunica con el sistema operativomediante un controlador de impresora. En otras palabras, el controlador de impresora permite quela aplicación en el OS se comunique con la cola de impresión. En Linux, el controlador deimpresora funciona en una forma ligeramente diferente. El controlador de impresora en un sistemaLinux o UNIX es parte de Ghostscript.

Ghostscript es una parte de la cola de impresión de Linux. Sin embargo, tenga presente quealgunas aplicaciones e impresoras no necesitarán usar Ghostscript. Ghostscript es un traductorque permite a los sistemas Linux y UNIX, que usan el lenguaje de impresión PostScript, imprimir enimpresoras no PostScript. Casi todas las impresoras disponibles hoy usan PostScript como ellenguaje de impresión principal. Por lo tanto, el traductor Ghostscript no será necesario porque laimpresora podrá interpretar la salida del sistema Linux. Sin embargo, algunas impresoras nosoportan el lenguaje de impresión PostScript. Por lo tanto, sin GhostScript, los sistemas Linux yUNIX no podrían imprimir en las impresoras PsotScript.

La razón por la que los sistemas Linux y UNIX necesitan usar GhostScript es porque no tienencontroladores que trabajen de la misma forma que lo hacen los controladores de Windows con lascolas de impresión. Los programas escritos para Windows fueron desarrollados para comunicarsecon el controlador de impresora. Sin embargo, los programas Linux general PostScript y envíanesta salida a la cola de impresión de Linux. Si la impresora es una impresora no PostScript,entonces la información no se imprimirá. Esto está combinado con el hecho de que las impresoraslaser se han vuelto muy populares y se convirtieron en las impresoras elegidas para los sistemasUNIX y Linux. Por lo tanto, los programas escritor para los sistemas Linux y UNIX usan lenguajePostScript por defecto.

El problema con los programas UNIX y Linux que sólo generan PostScript es que éste no es usadocomúnmente en las impresoras de precios bajos y medios. Esto no es mucho problema para lossistemas UNIX, que casi siempre usarán una impresora láser costosa que sea compatible con ellenguaje PostScript. Sin embargo, los sistemas Linux a menudo son usados con impresoras máspequeñas y menos costosas que no soportan el lenguaje de impresión PostScript. Por lo tanto,para permitir que los programas en un sistema Linux que generan salida PostScript hacia unaimpresora, se necesita un traductor como GhostScript. Como se mencionó antes, Ghostscriptreside en la cola de impresión de Linux y puede traducir el lenguaje PostScript para impresoras noPostScript.

Page 73: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

73

Page 74: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

74

Page 75: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

75

10.4.10 Scripts

El sistema operativo Linux también puede dar sitio a muchos lenguajes de scripting diferentes. Losmás comunes y básicos de éstos son las capacidades de scripting incorporadas el shell. Un scriptde muestra se exhibe en la Figura . Tenga en cuenta que éste es un script muy simple y breve. Amenudo los scripts pueden ser muy largos y complejos y contendrán numerosas líneas de códigoque ejecutan diversas tareas automatizadas. Un script del shell es un archivo de texto que contienecualquier cantidad de comandos Linux en una lista sucesiva. Al igual que los lenguajes de scriptingde Windows 2000, Linux ejecuta un script de shell de arriba a abajo. Cada comando se ejecuta asu vez exactamente como si se hubiera tipeado en el prompt de comandos. Los scripts de shelltambién pueden contener lógica de programación como sentencias de bucle y condicionales.Todos éstos podrían introducirse manualmente en el prompt de comandos. Creando un archivoscript, los usuarios y administradores del sistema pueden combinar una serie de comandos yparámetros en un único comando de script simplificado.

La mejor forma de comprender este proceso es volver a crear un script simple hello world en Linux.Usando cualquier editor de texto, como vi, la siguiente línea de código puede introducirse yguardarse.

echo Hello world

A diferencia de Windows 2000, los scripts de shell de Linux no requieren que se siga ningunaconvención de nombrado en particular. Por lo tanto, el usuario puede asignar cualquier nombre dearchivo Linux estándar al script como hello, helloworld, o hello.world. Luego debe asignarse alarchivo los permisos apropiados de ejecución para el usuario. Luego puede ejecutarse en elprompt de comandos introduciendo la ruta de directorios relativa y el nombre de archivo:

Page 76: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

76

./hello

Esto imprime el mensaje anteriormente codificado en la pantalla según lo esperado. Estafuncionalidad básica detrás de los scripts de shell es atractiva tanto para los usuarios inexpertoscomo para los administradores de sistemas. Puesto que Linux es principalmente un NOS dirigidopor comandos, los usuarios pueden crear fácilmente archivos script haciendo una lista de varioscomandos en un archivo de texto y viendo la salida del script. Una vez que estos conceptosbásicos se hacen familiares, la lógica de programación y sintaxis adicionales pueden aprendersecon facilidad

Page 77: Capitulo 10 IT Essentials 2 Sistemas Operativos de Red - Español

Módulo 10: Administración de Linux

77

Resumen

Este capítulo trató el sistema operativo Linux. Algunos de los conceptos importantes a retener deeste capítulo son los siguientes:

• Linux tiene algunos pasos de instalación que no se encuentran en Windows. Por ejemplo,puesto que Linux está destinado principalmente a ser un Sistema Operativo de Red (NOS)basado en servidor, hay una opción para hacer una instalación en estación de trabajo ouna instalación en servidor.

• Linux usa X Window como interfaz gráfica pero es importante comprender la Interfaz deLínea de Comandos (CLI). Puede accederse a la consola de comandos usando la ventanade terminal o la consola principal.

• Las páginas man describen los comandos online del sistema, llamadas a comandos,formatos de archivos, y mantenimiento del sistema. Las páginas man online son parte delOS Linux y se instalan por defecto. Las páginas man asumen la forma de pantallasbasadas en caracteres simples y se accede a ellas desde el prompt de comandos.

• Los shells Linux operan como intérpretes de comandos. El intérprete de comandos delentorno MS-DOS es similar. Los shells Linux se cargan solamente al sistema cuando elusuario lo solicita o inicia sesión en el shell. Incluyen al Shell Bourne, al Shell C, al ShellKorn, y al Shell Bourne Again.

• Los daemons permiten al OS proporcionar funciones como servicios web, archivoscompartidos, intercambio de correo, servicios de directorio, administración remota, yservicios de impresión. Los daemons no están integrados al sistema operativo como losservicios lo están en Windows, y se ejecutan como procesos en segundo plano.

• El sistema operativo Linux puede dar lugar a muchos lenguajes de scripting diferentes. Losmás comunes y básicos de ellos son sus capacidades de scripting incorporadas al shell.Un script del shell es un archivo de texto que contiene cualquier cantidad de comandosLinux enumerados sucesivamente. Un administrador del sistema puede combinar una seriede comandos y parámetros en un único comando script simplificado.

Uno de los deberes más importantes de un administrador de sistemas es proteger la informaciónalmacenada en los servidores de red. El siguiente capítulo detalla la administración avanzada deun NOS.