Escolar Documentos
Profissional Documentos
Cultura Documentos
Índice
1
Módulo 10: Administración de Linux
Descripción general
Este capítulo detalla el sistema operativo Linux. Linux tiene como objetivo principal ser un Sistema
Operativo de Red (NOS) basado en servidor. La instalación incluye unos pocos pasos adicionales
que no se encuentran en Windows 2000. Una vez verificado que el sistema es compatible, Linux
guía al administrador al paso final de iniciar sesión. Administrar cuentas de usuario y el sistema de
archivos también se tratan en este capítulo para proporcionar al administrador la información
necesaria 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.
2
Módulo 10: Administración de Linux
Los usuarios pueden iniciar sesión en un sistema operativo Linux usando la Interfaz de Línea de
Comandos (CLI), que es similar a la interfaz de Windows 2000. Un ejemplo de la pantalla de inicio
de sesión en modo texto para Linux Red Hat se muestra en la Figura . La consola de Linux se
denomina CLI y se tratará en más detalle posteriormente en este capítulo. En lugar de mostrar
recuadros de texto y botones como la GUI de Windows 2000, la CLI de Linux proporciona al
usuario sucesivos prompts de texto para introducir un nombre de usuario y una contraseña. No se
requiere ninguna información adicional sobre el dominio. A diferencia de Windows 2000, las
contraseñas de Linux se enmascaran completamente al ser tipeadas, haciendo importante prestar
mucha atención al introducirlas. Los usuarios deberían también ser cuidadosos de no introducir
información de cuenta inválida continuamente. Esto se debe al hecho de que algunos
administradores de sistemas implementan funciones de seguridad para bloquear o reiniciar el
sistema después de una cantidad de intentos fallidos. Una vez que la información de la cuenta se
ha entregado exitosamente, el usuario iniciará sesión en el sistema, será llevado a su directorio
home, 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.
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
3
Módulo 10: Administración de Linux
introducidos en un prompt de comandos. Aunque este formato tiene sus ventajas, también hay
ventajas en la GUI usada por Windows. En 1984, un equipo de expertos en software del Instituto
Tecnológico de Massachsetts (MIT) crearon una interfaz gráfica llamada "X Window" que permite a
Linux operar similarmente a las otras GUIs.
Debido al potente diseño del sistema operativo Linux, el aspecto de X Window puede
personalizarse fácilmente y programarse en una cantidad infinita de formas. En el OS Windows
2000, 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 personalizar
completamente su interfaz X Window para que cumpla con sus necesidades y deseos específicos
instalando diferentes programas llamados "Administradores de Ventanas" y "Entornos de
Escritorio". Tratar todos estos diferentes paquetes de software está más allá del alcance de este
curso, en cambio nos concentraremos en las similitudes subyacentes halladas en todos los
sistemas X Window.
No importa qué colores, estilos y funcionalidad pueda tener un entorno de escritorio X Window, la
consola de línea de comandos es un elemento importante que siempre será constante. La consola
de línea de comandos permanece constante. Recuerde que Linux es una CLI, y X Window es
realmente una representación gráfica de esta CLI. Por lo tanto, tiene sentido que un usuario de X
Window 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 Terminal
Una ventana terminal muestra un prompt de comandos Linux estándar en una pequeña ventana de
la pantalla. Un ejemplo de una ventana terminal de Linux se muestra en la Figura . El programa
terminal de X Window estándar se denomina xterm. Ejecutar xterm muestra una ventana terminal
de Linux para que el usuario introduzca comandos. Busque xterm o cualquier otro programa de
terminal en el menú de la barra de tareas de X Window.
Consola principal
Además de ejecutar una CLI Linux con ventanas dentro de X Window, los usuarios también pueden
pasar sus pantallas a la consola principal de pantalla completa. Recuerde que al arrancar la
computadora, Linux se carga primero seguido por X Window, el administrador de ventanas, y luego
el entorno de escritorio. Puesto que Linux en sí siempre se está ejecutando en segundo plano, es
posible 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 de
la otra es por lo general una cuestión de preferencia personal. Es posible ejecutar dos sesiones X
4
Módulo 10: Administración de Linux
al mismo tiempo así como usar terminales virtuales. X se ejecuta en la terminal virtual 7, y como se
enunció 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 usando
el comando [startx - :1 vt8].
Aunque muchas tareas comunes de Linux pueden llevarse a cabo usando las aplicaciones gráficas
de X Window, hay muchas más que solamente están disponibles para los usuarios mediante el
prompt de comandos. Por esta razón es importante saber cómo llegar al prompt de comandos de
Linux desde dentro de X Window. En secciones posteriores prestaremos más atención a la CLI
Linux 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 lo
común de manera muy similar a Windows 2000. Simplemente ubique el menú de la barra de tareas
y una de las primeras selecciones del menú será la opción Cerrar Sesión [Log Off]. Seleccionar
esta opción permitirá al usuario apagar o reiniciar Linux.
5
Módulo 10: Administración de Linux
6
Módulo 10: Administración de Linux
La interfaz de línea de comandos (CLI) Linux permite al usuario interactuar con el sistema de la
misma 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. Los
usuarios ahora pueden tipear comandos, presionar la tecla Enter, y ver cualquier salida en la
pantalla. Aunque la operación de Linux sigue el mismo flujo básico que el intérprete de comandos
de 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 introducir
los comandos básicos mostrados en la Figura en el prompt. Un ejemplo de la salida del comando
whoami se muestra en la Figura . Algunos de los diferentes usos para el comando cd se
muestran en la Figura .
No se recomienda que los usuarios intenten adivinar comandos al azar, ya que una actividad tal
descuidada podría tener un serio impacto en el sistema. La mayoría de los sistemas operativos CLI
suponen que los usuarios saben lo que están haciendo y no verifican la intención de sus
comandos. Por lo tanto, los usuarios siempre deberán ser precisos y alertas al emitir comandos en
el sistema para evitar resultados no deseados.
Páginas Man
Los usuarios pueden aprender más acerca de cualquier comando mediante el uso de las páginas
man, que es abreviatura de páginas del manual. Estos archivos de ayuda muestran información
detallada 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 del
sistema, llamados al sistema, formatos de archivos y mantenimiento del sistema. Las páginas man
online son parte del OS Linux y se instalan por defecto. Las páginas man asumen la forma de
pantallas 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. Los
usuarios pueden iniciar sesión en la línea de comandos o abrir una ventana de Terminal en la
interfaz KDE e iniciar con un prompt de comandos. Las páginas man son de ayuda cuando los
usuarios desean usar un comando o utilidad y han olvidado la sintaxis o tan sólo necesitan alguna
información respecto a cómo usarlo. Las páginas man proporcionan información acerca de cómo
introducir el comando, una descripción de su propósito, y qué opciones o argumentos están
disponibles. 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 acerca
de estos shells diferentes en la siguiente sección.
El Comando man
El comando man muestra páginas man online para cualquiera de los cientos de comandos Linux
disponibles. Un listado de todos los comandos Linux con una breve descripción de lo que hacen
puede obtenerse introduciendo man intro en la línea de comandos. Incluso puede mostrarse una
pá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 nombre
es el nombre del comando para el cual el usuario desea información. Hay varias opciones útiles
que usar con el comando man para llevar a cabo búsquedas de palabras clave y mostrar secciones
específicas del Manual del Programador. Hay varias formas diferentes de usar el comando man
como muestra la Figura .
La Figura ilustra un ejemplo del uso del comando man para obtener ayuda con el comando
mkdir.
7
Módulo 10: Administración de Linux
El Comando ls
Uno de los más importantes comandos que se usarán al navegar por el sistema de archivos Linux
en la Interfaz de Línea de Comandos es el comando ls. El propósito del comando ls es hacer una
lista 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 numerosas
opciones que pueden usarse junto con este comando. Algunas de las opciones más comunes que
se 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 el
contenido de un directorio específico. No obstante estos son opcionales y cuando se emite el
comando 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 contenido
de varios directorios. La Figura ilustra algunas de las tareas típicas de navegación llevadas a
cabo mediante el comando ls.
8
Módulo 10: Administración de Linux
9
Módulo 10: Administración de Linux
10
Módulo 10: Administración de Linux
11
Módulo 10: Administración de Linux
12
Módulo 10: Administración de Linux
13
Módulo 10: Administración de Linux
Los shells de Linux operan como "intérpretes de comandos". Los shells de Linux funcionan de
manera muy similar a como el programa command.com funciona para MS-DOS. Los shells de
Linux toman la entrada que tipea el administrador y usan esa entrada para lanzar comandos y
controlar el sistema operativo. No obstante, éstas son las únicas funciones similares de los shells
de Linux y el intérprete de comandos MS-DOS. Por ejemplo, en Linux el shell solamente se carga
al sistema cuando el usuario lo solicita o si el usuario inicia sesión en el shell. En MS-DOS, el
intérprete de comandos se integra al kernel y está siempre en funcionamiento. En Linux, el shell
funciona como cualquier otro programa y no está integrado al kernel del sistema operativo. Otra
diferencia 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 como
shell bash en sistemas Linux. Este shell proporciona todas las funciones de (sh) así como
programación del shell usando archivos script del shell.
El Shell C
Este shell no se usa ampliamente porque es uno de los shells más complicados con los cuales
trabajar. Usa una sintaxis mucho más compleja para la programación del shell que algunos de los
otros shells. Por esta razón el shell C no se recomienda para programación del shell o para crear
programas de shell.
El Shell Korn
Éste es un shell que fue escrito por David Korn. Combina las funciones interactivas que hicieron
popular al shell C con la sintaxis de programación del shell del shell Bourne. Un ejemplo de la
14
Módulo 10: Administración de Linux
sintaxis usada para cambiar el Shell Korn y el prompt del shell Korn se muestran en la Figura . El
shell Korn (habilitado ejecutando ksh) no se incluye en la instalación por defecto de Red Hat.
15
Módulo 10: Administración de Linux
10.1.5 Editor VI
16
Módulo 10: Administración de Linux
La mayor parte de toda la administración de Linux se hace desde la línea de comandos usando los
diversos comandos, configuración, y archivos script para llevar a cabo estas funciones. A menudo
estos comandos, configuración y archivos script necesitan editarse y cambiarse para que funcionen
de la forma que es apta para el entorno de red. Linux incluye una potente herramienta de edición
llamada Editor vi que permite la edición de los archivos de configuración y script así como la
creación de algunos archivos de configuración y script. Un ejemplo de la pantalla del editor vi se
muestra en la Figura . Llevar a cabo cualquier tipo de administración del sistema con un servidor
Linux requiere que el administrador tenga un conocimiento funcional del Editor vi. La flexibilidad del
Editor vi permite la interacción con aplicaciones del sistema de manera tal que virtualmente
proporcionará a un administrador cualquier funcionalidad necesaria. El Editor vi puede parecer
difícil de comprender porque no funciona como Microsoft Word para su software suite de oficina u
otros editores de texto. Cuando se abre el Editor vi y se intenta tipear nada ocurrirá excepto que el
sistema hará "bip". Esto se debe a que el Editor vi está en modo de "comandos" cuando se lo abre
por primera vez. El comando correcto debe tipearse para entrar al modo "edición", modo de
entrada, donde la introducción de texto puede comenzar. Entre al modo "edición" eligiendo el
comando i.
Los Modos de vi
Los 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 los
comandos 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 Que
Obtiene [What You See Is What You Get (WYSIWYG)] como Microsoft Word. El Editor vi no
contiene 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á la
sangrí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. No
obstante, el potencial completo de un servidor Linux no puede lograrse sin tener conocimiento del
Editor vi y de algunos de los comandos básicos que se usan para navegar y editar scripts y
archivos de configuración. Los laboratorios acompañantes proporcionan algunos ejemplos para
abrir el Editor vi y ejecutar algunos de estos comandos para editar texto y crear un archivo script.
17
Módulo 10: Administración de Linux
10.1.6 awk
18
Módulo 10: Administración de Linux
La utilidad awk le permite crear programas breves que leen archivos de entrada, ordenan datos, los
procesan, llevan a cabo aritmética en la entrada, y generan informes. Para expresarlo de la manera
más simple posible, awk es una herramienta de lenguaje de programación usada para manipular
texto. 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 área
del procesamiento de texto, y el lenguaje se basa en la ejecución de una serie de instrucciones
cada vez que un patrón coincide en los datos entrantes. La utilidad escanea cada línea de un
archivo, buscando patrones que coincidan con los proporcionados en la línea de comandos. Si se
encuentra una coincidencia, da el siguiente paso de programación. Si no se encuentra ninguna
coincidencia, 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:
En la sintaxis de arriba, "patrón" representa lo que AWK busca en los datos, y "acción" es una
serie de comandos ejecutados cuando se encuentra una coincidencia. Las llaves ({}) no siempre se
requieren encerrando su programa, pero se usan para agrupar una serie de instrucciones basadas
en un patrón específico.
Considere el siguiente ejemplo del uso de awk. El primer paso sería crear un archivo de datos
usando 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
El comando anterior le indica a la utilidad awk que seleccione cada registro del archivo que
contenga la palabra "bien" y una acción de imprimir el tercer campo (Cantidad de ítems
disponibles). Usando la salida de arriba como ejemplo se puede apreciar que sería posible crear
una multitud de archivos de datos conteniendo una multitud de información de cualquier tipo. Luego
utilizando la utilidad awk, se puede extraer la información exacta de los archivos usando palabras
clave específicas como alias. awk lee la entrada de estos archivos dados una línea a la vez, luego
cada línea se compara con el "patrón". Si el "patrón" coincide para cada línea entonces la
acción dada se toma. "patrón" puede consistir en una o más expresiones regulares. Un resumen de
metacaracteres awk comunes se muestra en la Figura .
19
Módulo 10: Administración de Linux
20
Módulo 10: Administración de Linux
Hay varios términos importantes que es necesario aprender para poder comprender el lenguaje
que trata con la administración de cuentas del usuario. Primero, los términos usuario y cuenta a
veces se usan de manera intercambiable. Por ejemplo, pueden escucharse los términos "borrar
una cuenta" o "borrar el usuario". Con este propósito significan lo mismo, borrar la cuenta del
usuario 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 el
sistema. Es una buena idea tener reglas respecto a los nombres de usuario para hacer más fácil
identificar a un usuario por su nombre de usuario. Nombres de usuario comunes son la primera
letra del nombre del usuario y su apellido entero. Por ejemplo, el nombre de usuario de John Smith
sería jsmith.
Permisos
El 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 Home
En un sistema Linux, cada cuenta de usuario tiene un directorio home asociado a él. El usuario
tiene completo acceso a este directorio. El usuario puede agregar o borrar archivos de este
directorio o puede usárselo simplemente para almacenar archivos.
21
Módulo 10: Administración de Linux
Toda esta información para cuentas de usuario se almacena en dos archivos de configuración del
sistema Linux: los archivos /etc/passwd y /etc/shadow. El propósito y la diferencia entre estos
archivos se explicaron en el capítulo anterior.
Tenga en cuenta que aunque Linux es un sistema multitareas, no puede soportar una cantidad
ilimitada de usuarios simultáneos. Si una gran cantidad de usuarios han iniciado sesión en el
sistema 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 sistema
Linux puede soportar depende de diversos factores. Depende de qué programas están siendo
usados 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 de
estos recursos tiene el sistema. Un sistema con más RAM, una CPU más rápida, velocidad de
disco más rápida, y más capacidad en disco puede manejar más usuarios simultáneos.
La Cuenta Superusuario
La cuenta de usuario más importante en un sistema Linux es la cuenta Superusuario. También se
denomina cuenta raíz. Recordemos del capítulo anterior, esta cuenta es creada por defecto
durante el proceso de instalación. Ésta es la cuenta que es usada por el administrador del sistema
para llevar a cabo cualquier tarea administrativa en un sistema Linux. La cuenta Superusuario
puede usarse de varias maneras.
• Inicio de sesión como raíz La cuenta raíz puede usarse para iniciar sesión en la
computadora desde la consola principal. De hecho, iniciar sesión como raíz de esta
manera 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 puede
representar amenazas a la seguridad por lo cual se recomienda que se haga durante
breves periodos y después cerrar la sesión de la cuenta Superusuario.
• Su La cuenta su puede usarse para adquirir temporalmente privilegios de superusuario en
un sistema Linux para llevar a cabo tareas administrativas o ejecutar un comando que
22
Módulo 10: Administración de Linux
Es importante ser muy cauteloso al usar la cuenta superusuario a causa de los problemas de
seguridad y del daño que puede causar a la computadora. Por esta razón, no se recomienda que la
cuenta raíz sea usada como cuenta regular incluso por el administrador del sistema. Un simple
error 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 error
y 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 en
el directorio / así como en /home/jsmith/tempdir. Si esto ocurriera mientras se ha iniciado sesión
con una cuenta de usuario regular, habría un prompt para cambiar a la cuenta superusuario para
llevar a cabo esto y el error se atraparía antes de completar este comando.
Cuentas de Grupo
Los grupos en un sistema Linux se usan con los mismos propósitos que en otros sistemas
operativos. Los grupos proporcionan un medio para vincular usuarios similares por motivos de
productividad y hacer la administración de cuentas de usuario mucho más fácil. Las cuentas de
grupo 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én
tienen nombres, similares a los nombres de usuario para las cuentas de usuario. Por último, como
se 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 una
forma de agrupar un conjunto de usuarios similares con propósitos de seguridad. Por ejemplo, es
posible agrupar a los ejecutivos de una compañía que podrían tener cierto acceso a archivos y
agrupar a otros empleados, que pueden no tener acceso a estos archivos. Recuerde que Linux
controla el acceso al hardware mediante archivos. Los grupos pueden usarse para limitar el uso de
hardware del sistema a un grupo específico de usuarios también. Más detalles, incluyendo la
creación de grupos y el agregado de usuarios, se tratarán posteriormente en este capítulo.
23
Módulo 10: Administración de Linux
La primera cuenta de usuario creada durante una instalación de Linux es la cuenta "raíz". Esta
cuenta superusuario es usada por el administrador del sistema para crear todas las otras cuentas
de usuario del sistema. Por defecto y por razones de seguridad, ningún otro usuario tiene el poder
de agregar usuarios excepto por el raíz. El proceso de crear un usuario Linux completamente
personalizado puede ser bastante complejo, por lo tanto solamente los comandos, indicadores y
parámetros básicos se tratarán aquí.
El Comando useradd
El usuario raíz crea otros usuarios Linux mediante el comando useradd. Un ejemplo de este
proceso está ilustrado en la Figura . Cuando este comando se introduce en el prompt, Linux lleva
a cabo muchas tareas simultáneas para crear la cuenta del usuario, como crear un directorio home
y asignar permisos por defecto. La sintaxis básica del comando es la siguiente:
Esta cadena entera se tipea en el prompt de comandos Linux antes de presionar la tecla Enter. El
parámetro nombre de usuario será el nombre de inicio de sesión para el nuevo usuario al iniciar
sesión en el sistema. Es sensible al uso de mayúsculas y minúsculas y siempre deberá tipearse en
todos caracteres minúsculos. El indicador -c se usa para introducir el campo de comentario, que en
la mayoría de los sistemas se usa para almacenar el nombre real del usuario. Otros indicadores de
parámetros existen para el comando useradd y pueden encontrarse viendo su página man. La
salida de la página man para el comando useradd (man useradd) se muestra en la Figura . Los
administradores del sistema en general usarán muchos más de estas opciones de comandos para
24
Módulo 10: Administración de Linux
El Comando passwd
Una vez que una nueva cuenta de usuario ha sido creada, debe dársele una contraseña antes de
que el usuario pueda iniciar sesión en el sistema. Esto se hace en Linux mediante el comando
passwd. Los usuarios pueden ejecutar este comando para cambiar sus propias contraseñas, pero
el usuario raíz también puede usarlo para modificar las contraseñas de todos los usuarios. Por lo
tanto, una vez creada una nueva cuenta, el siguiente comando es introducido por el usuario raíz
para crear la contraseña de la nueva cuenta:
passwd nombreusuario
Por ejemplo: passwd jdoe
Al usuario raíz se le pedirá que introduzca una nueva contraseña y que la confirme volviéndola a
tipear. Una vez completo este proceso, el nuevo usuario estará listo para iniciar sesión en el
sistema con los recientemente creados nombre de usuario y contraseña. Después de iniciar sesión
por 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 el
administrador del sistema.
El Comando userdel
La forma más fácil de eliminar una cuenta de usuario es mediante el comando "userdel". Este
comando solamente puede ejecutarse con la cuenta raíz. Un ejemplo de la sintaxis del comando es
el 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 del
archivo "/etc/shadow''.
Tenga en cuenta que emitiendo el comando anterior sin opciones, se borrará solamente la cuenta
del usuario. El directorio home y cualquier archivo dentro del directorio home de la cuenta del
usuario 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
25
Módulo 10: Administración de Linux
26
Módulo 10: Administración de Linux
Este procedimiento no es tan difícil como puede sonar. En la mayoría de los sistemas Linux, las
contraseñas del usuario se almacenan en un archivo central denominado archivo "shadow", que
está ubicado en el directorio /etc. Este archivo puede editarse con un editor de texto como el Editor
vi. El comando para editar el archivo shadow sería el siguiente:
vi /etc/shadow
27
Módulo 10: Administración de Linux
Pico, otro editor de texto, permite el uso de las teclas de flechas para navegar por la lista de
cuentas de usuario hasta hallar la cuenta a ser inhabilitada. La información del usuario se enumera
de manera continuada en una única fila con dos puntos (:) separando cada campo. El primer
campo es el nombre de usuario, y el segundo es la contraseña cifrada del usuario. Para inhabilitar
la cuenta, el administrador del sistema puede simplemente colocar un asterisco (*) al principio de la
contraseñ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 asterisco
nuevamente. Para guardar el archivo shadow, presione CTRL-X para salir de pico y presione la
tecla Y para guardar los cambios.
Algunos de los otros comandos importantes y útiles para ayudar a administrar y controlar la
seguridad de las cuentas de usuario y grupo se muestran en la Figura .
28
Módulo 10: Administración de Linux
29
Módulo 10: Administración de Linux
Cada grupo de un sistema Linux puede tener desde ningún miembro hasta muchos miembros
como cuentas de usuario en el sistema. Recuerde de la sección anterior, la membresía de grupo
está controlada por el archivo /etc/group. Éste es el archivo que contiene una lista de todos los
grupos 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 el
grupo que es pecifica la membresía de grupo por defecto y se establece en el archivo de
configuración del usuario. Cuando un usuario inicia sesión en su grupo principal, puede acceder a
los archivos y ejecutar programas asociados con ese grupo en particular al cual pertenecen. Si un
usuario desea acceso a los archivos o programas que no están en su grupo principal, pueden
pasar al grupo con el cual el archivo o programa en particular está asociado. No obstante, el
usuario debe ser miembro de ese grupo para poder pasarse a él. Éste es un medio excelente de
controlar la seguridad en un sistema Linux. Para cambiar a un grupo diferente después de iniciar
sesión en el sistema use el comando newgrp. La sintaxis para este comando es la siguiente:
newgrp nombre-grupo
Por ejemplo: newgrp ingeniería
En un sistema Linux, solamente la cuenta raíz, superusuario, tiene el poder para crear y
administrar 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 un
grupo durante el proceso de creación de la cuenta. La siguiente sintaxis se usa para crear un grupo
en un sistema Linux:
groupadd nombregrupo
Por ejemplo: groupadd ingeniería
Este comando crea el grupo ingeniería. Una vez creado el grupo, los usuarios pueden agregarse al
grupo. 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 siguiente
sintaxis se usa para expandir el comando useradd:
Para agregar uno o más usuarios (miembros) a un grupo, se usa el siguiente comando:
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án
disponibles 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 la
contraseña de grupo. Ésta es la contraseña que puede ser usada por los usuarios para volverse
miembros temporales de un grupo si necesitaran acceso a los archivos o programas asociados a
ese grupo.
El comando groups puede usarse entonces para mostrar los grupos actuales al cual pertenece un
usuario. Note que el usuario raíz es un miembro de todos los grupos por defecto. Los
administradores de sistemas Linux deberían asegurarse de consultar las páginas man para todos
estos comandos para aprender más acerca de sus otras funciones relacionadas.
30
Módulo 10: Administración de Linux
31
Módulo 10: Administración de Linux
Al igual que navegar por el sistema de archivos Linux, crear archivos y directorios en Linux es
simplemente una cuestión de conocer los comandos apropiados y cómo usarlos. Los comandos
aquí 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 para
archivos 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 de
eliminación, es una buena idea probar los comandos en archivos de prueba y directorios de
prueba. Note que los usuarios pueden modificar solamente archivos y directorios para los cuales
tengan los permisos del sistema necesarios. Esto evita que los usuarios maliciosa o
accidentalmente modifiquen datos, como borrar archivos del sistema Linux importantes. Los
permisos se tratarán en una sección posterior.
El comando find
El comando find es una de las más útiles e importantes utilidades de administración de archivos
32
Módulo 10: Administración de Linux
en Linux. El comando find se usa para localizar uno o más archivos suponiendo que se conocen
sus nombres de archivo aproximados. Vale la pena comprenderlo en profundidad porque hace
mucho más que localizar archivos. El comando find le permite especificar filtros, y ejecutar
comandos en el contenido de árboles de directorio enteros. Desafortunadamente, find no está bien
documentado, 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 haberse
tipeado un documento y no se recuerda el nombre del documento, pero sabe que lo creó hace
menos 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 el
comando 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. Cada
atributo de prueba es evaluado, y si es cierto, pasa al siguiente atributo de prueba. Si la entrada es
un directorio, find desciende en él.
Si cualquiera de los atributos de prueba falla, find deja de procesar el resto de los atributos de
prueba y pasa a la siguiente entrada. Usando el ejemplo de arriba, cualquier archivo que sea más
de 350k falla la prueba del atributo tamaño y no se probará para su tiempo de acceso o cualquier
atributo de prueba subsecuente.
El comando grep
El comando grep le permite buscar un patrón en una lista de archivos. Estos patrones se
especifican como expresiones regulares, que son cadenas, como palabras o fragmentos de
oraciones. La forma de buscar una cadena mediante el comando grep es colocar las palabras que
está buscando juntas entre comillas simples. La sintaxis de grep es la siguiente:
Un ejemplo se muestra en el ejemplo de arriba del comando find. También podrían agregarse al
final 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:
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".
33
Módulo 10: Administración de Linux
El sistema de permisos de Linux es mucho más difícil que el de Windows 2000. Se da más control
a los administradores de sistemas mediante el uso de tres categorías de permisos distintivas de
lectura, escritura y ejecución. Un ejemplo de algunos archivos Linux con explicaciones detalladas
de los permisos de archivos y directorios por defecto se muestran en la Figura . En Windows
2000, 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 de
ejecución controla la capacidad de un usuario de entrar a un directorio, mientras que el permiso de
lectura 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 pueden
no estar al tanto de ningún "agujero" de seguridad que hayan creado inintencionadamente.
El Comando chown
Los permisos de archivos y directorios en Linux se controlan mediante el uso de los dos comandos
muy importantes chown y chmod. El comando chown es llevado a cabo por todos los usuarios
para especificar la pertenencia a usuario y gruop de un archivo o directorio y sigue el formato:
En este ejemplo, el usuario jdoe y el grupo ejecutivos son ahora los propietarios del archivo
llamado informe_01.
El Comando chmod
La propiedad de archivos y directorios es un concepto importante en Linux porque los permisos se
declaran tanto para usuarios como para grupos basándose en esta pertenencia. Por ejemplo, si el
archivo informe_01 permite acceso completo al usuario y denega todo acceso del grupo, entonces
jdoe podrá acceder al archivo, pero los miembros del grupo ejecutivos serán bloqueados. Estos
permisos se declaran mediante el uso del comando chmod:
Este comando de muestra ha otorgado ahora al usuario todos los permisos de lectura, escritura y
ejecución, no dándole a su grupo ni a todos los otros usuarios ningún permiso. Esto se especifica
en el modo del comando, que en este caso es 700. Cada dígito del número representa los tres
diferentes tipos de usuarios del sistema. Comenzando desde la izquierda, el primer dígito
representa al usuario o propietario, el dígito medio representa al grupo, y el dígito del extremo
derecho representa a todos los otros usuarios del sistema (usuario-grupo-otro). A los tres tipos de
permisos de lectura, escritura y ejecución se les otorga valores numéricos según se muestra a
continuación:
Lectura = 4
Escritura = 2
Ejecución = 1
Para otorgar a un usuario en particular permisos específicos, los números apropiados se suman y
luego se los enumera en el orden apropiado. Por ejemplo, para otorgar al propietario permisos de
lectura y ejecución, al grupo permiso de ejecución, y a todos los otros usuarios permiso de
escritura, el número apropiado sería 512. Y por supuesto, para no otorgar ningún permiso, un cero
34
Módulo 10: Administración de Linux
se adjudica para esa categoría de usuario. Asignar permisos en Linux es bastante más tedioso que
la interfaz manejada por menúes de Windows 2000. No obstante, la flexibilidad de Linux sí
proporciona mayor control al administrador de sistemas experimentado.
Los dos comandos que usa Linux para montar y desmontar sistemas de archivos y particiones son
mount y umount. La sintaxis para el comando mount es la siguiente:
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 usarse
con el comando mount Para encontrar una lista abarcativa, se recomienda consultar la página man
de mount. Algunas de las opciones que pueden usarse junto con el comando mount se muestran
en 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. La
sintaxis tendría este aspecto:
mount/dev/hda4/mnt/ITEss2
Los parámetros que se usan con el comando umount son muy similares a los usados con el
comando mount. Algunas de las diferencias más importantes se muestran en la Figura .
35
Módulo 10: Administración de Linux
Las mismas reglas para mount se aplican a umount en relación a quién se le permite ejecutar estos
comandos. Solamente el usuario raíz puede usar el comando umount. Esto es a menos que un
usuario o propietario específico en la lista del archivo /etc/fstab/ tenga permiso para usar el
comando umount para desmontar una partición, sistema de archivos, o dispositivo.
El comando df puede usarse solo o en combinación con estos parámetros para mostrar
información sobre cualquier sistema de archivos que se monta en un sistema Linux. Puede
mostrarse información sobre un dispositivo o partición específicos agregando el dispositivo en el
cual reside la partición o cualquier archivo o directorio del sistema de archivos, que limitará la
salida a una partición específica.
Al igual que con el comando df, hay varios parámetros que pueden usarse junto con el comando
du. 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 comando
du puede usarse solo o en conjunción con estos parámetros para mostrar información acerca de
cualquier archivo o directorio que se monta en un sistema Linux.
36
Módulo 10: Administración de Linux
Existen dos tipos de archivos de configuración para el sistema de archivos Linux. Ellos son
archivos de configuración del Usuario y del Sistema. Los archivos de configuración del usuario
almacenan 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 configuran
para ejecutarse automáticamente. Los archivos de configuración del usuario son componentes
esenciales que componen un sistema multiusuario. Estos archivos almacenan información para
cada usuario para que cuando inician sesión para usar el sistema, todas sus configuraciones
permanezcan intactas. Los archivos de configuración del sistema controlan las configuraciones
para todo el sistema. Éstos son archivos que controlan servicios que se configuran para ejecutarse
para cada usuario que inicia sesión en el sistema. Saber dónde localizar estos archivos y editarlos
ayudará a cualquier administrador a resolver una variedad de problemas asociados con el sistema
operativo Linux.
37
Módulo 10: Administración de Linux
Éstos son solamente algunos de los archivos de configuración del usuario que se almacenan en un
sistema Linux. Al inspeccionar el directorio home se notarán más y a medida que se instalan y
ejecutan programas, incluso más pueden aparecer. También hay muchos archivos de
configuración asociados con programas que almacenan información específica de un usuario
individual.
Éstos son solamente unos pocos de los muchos archivos de configuración que controlan funciones
del sistema una vez que el sistema ha arrancado. Hay muchos más pero la mayoría de ellos nunca
necesitará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. No
obstante, usualmente todos llevarán a cabo las mismas funciones.
38
Módulo 10: Administración de Linux
El Archivo /etc/inittab
El archivo /etc/inittab se describió en la sección anterior. Recuerde que el archivo /etc/inittab es
responsable de controlar procesos init, lo cual ejecuta los scripts de inicio en un sistema Linux. Hay
dos tipos de líneas que se encontrarán en los archivos /etc/inittab: líneas de comentario y líneas
de control. Las líneas de comentario son tipos típicos de líneas que se encontrarán en todos los
scripts de cualquier sistema operativo. Éstas son las líneas que se comentan usando un signo
numeral (#). Estas líneas se ignoran y no se procesan. Las líneas de control son las líneas que lee
el programa. Las líneas de control del archivo /etc/inittab se muestran en el siguente formato en
las 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 es
el nivel de ejecución (0-6). Esto representa la acción a tomar al pasar a un nuevo nivel de
ejecució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 los
niveles de ejecución 2-5.
Hay diversas razones por las cuales un administrador necesitaría editar el /etc/inittab. Una de las
razones más comunes es cambiar el nivel de ejecución por defecto del sistema. Los niveles de
ejecución se tratarán en más detalle en la sección 10.3.6.
El Archivo /etc/fstab
Tal como se aprendió en la sección anterior, el archivo /etc/fstab proporciona acceso a particiones
de disco y a dispositivos de medios removibles. Linux soporta una estructura de directorios
unificada 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 ubica
en esta estructura de directorios. Por ejemplo, los archivos de un cdrom que se monta pueden
hallarse en el directorio /mnt/cdrom. Los directorios ubicados fuera de esta raíz (/) pueden ser
otras particiones, discos o directorios. Un sistema Linux tratará a todos de la misma manera. El
directorio /etc deberá estar en el mismo directorio que la raíz pero otros directorios como los
directorios 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 para
que puedan ser accesibles al sistema operativo.
39
Módulo 10: Administración de Linux
La estructura de /etc/fstab es como la muestra la Figura . Observe este archivo y note que hay
seis columnas separadas por espacios. Vea la línea comentada en la parte superior, que indica lo
que cada una de estas columnas representa. Nuevamente, cualquier línea que comience con un
signo numeral (#) será comentada e ignorada. Los significados de cada una de estas columnas se
muestran en la Figura .
40
Módulo 10: Administración de Linux
41
Módulo 10: Administración de Linux
42
Módulo 10: Administración de Linux
43
Módulo 10: Administración de Linux
44
Módulo 10: Administración de Linux
Los niveles de ejecución se han mencionado en las secciones anteriores de este capítulo. Hasta
este punto todo lo que ha sido mencionado acerca de los niveles de ejecución es que controlan
qué 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. El
conocimiento de cómo administrar eficazmente niveles de ejecución en un sistema Linux también
es necesario.
45
Módulo 10: Administración de Linux
programa init lee las configuraciones de este archivo y por lo tanto configura el nivel de ejecución
inicial del sistema.
Una vez que el sistema ha arrancado es posible cambiar el nivel de ejecución usando los
programas init o telinit. La sintaxis para estos dos comandos es la siguiente:
telinit niveldeejecución
init niveldeejecución
La mayoría de las veces, para nivel de ejecución, simplemente introduzca el nivel de ejecución al
que ha de pasarse, ya sea 0-6. No obstante, también hay unos pocos códigos que pueden
introducirse aquí en lugar de un número. Por ejemplo introducir S o s cambiará el nivel de
ejecución a modo de usuario único y Q o q leerá nuevamente el archivo /etc/inittab e
implementará 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 comando
mostrará 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á el
cambio hasta el tiempo especificado. Este parámetro puede ser útil porque al cambiar de nivel de
ejecución muchos de los procesos del sistema se eliminarán. Inicialmente, los sistemas intentan
hacer esto mediante el comando SIGTERM. El comando SIGTERM permite a un programa
administrar 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á el
proceso y podría ocasionar daño al sistema. Usar el parámetro -t tiempo puede retrasar el proceso
durante un tiempo para dar a todos los procesos del sistema tiempo para cerrarse por sí mismos.
46
Módulo 10: Administración de Linux
47
Módulo 10: Administración de Linux
48
Módulo 10: Administración de Linux
49
Módulo 10: Administración de Linux
50
Módulo 10: Administración de Linux
51
Módulo 10: Administración de Linux
52
Módulo 10: Administración de Linux
53
Módulo 10: Administración de Linux
Un paso muy importante a recordar para cualquier administrador, al cambiar cualquier tipo de
configuración en un sistema Linux, es documentar los cambios que se han realizado. La
documentación es un paso extremadamente importante, especialmente al administrar un sistema
Linux. Como se aprendió a lo largo de los pasos anteriores, la mayor parte de todas las
configuraciones Linux tienen lugar editando los diversos archivos de configuración. Puede ser
imposible seguir el rastro de todos los cambios que se han hecho en un sistema sin mantener una
buena documentación. Sin una documentación apropiada, los cambios que se han efectuado
pueden olvidarse, lo cual puede conducir a problemas en el futuro. Una documentación apropiada
ahorrará tiempo valioso al detectar problemas en el sistema posteriormente. Por ejemplo, si los
cambios 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 del
script de inicio, serios errores podrían resultar, haciendo que el sistema no pueda iniciar. La
documentación apropiada del sistema habría ahorrado mucho tiempo y problemas. Los cambios de
configuración que se hicieron podrían haber sido vistos y luego cambiados de acuerdo a ello.
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 del
sistema.
• 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 Inicial
Es importante documentar cómo estaba configurado originalmente el sistema durante el proceso
de 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 el
disco 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 Paquetes
Es importante registrar qué paquetes de software se instalaron en el sistema. Esto es
especialmente importante si los paquetes instalaron son tarballs o si el paquete se ha compilado
manualmente. No se mantiene ninguna base de datos de estos paquetes, por lo cual es importante
tener una.
54
Módulo 10: Administración de Linux
Cambios en el Hardware
Cada vez que se hace cualquier cambio en el hardware, es importante tomar notas de los cambios
que se harán en el archivo /etc/fstab para el disco rígido y para las configuraciones del servidor X
con 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 hacer
actualizaciones e instalar cualquier nuevo hardware o software. Esta práctica es invalorable para
cualquier buen administrador de sistemas.
En este ejemplo, en lugar de xxxx, coloque cualquier dispositivo en el que se hizo el backup. Hacer
un backup de todo el directorio /etc es a veces una buena idea para hacerlo antes de hacer
cualquier cambio extensivo en la configuración. De esta forma, si se comete un error el antiguo
directorio siempre puede restaurarse del backup.
55
Módulo 10: Administración de Linux
56
Módulo 10: Administración de Linux
10.4 Daemons
Podría no ser enteramente correcto llamar a todos estos procesos de Red/NOS, servicios. Tal vez
un término más genérico, independiente del sistema operativo sería más correcto. Esto se debe a
que si los usuarios se refieren a estas funciones como servicios, están usando el término que
Microsoft usa para referirse a estos procesos de red. Si los usuarios estuvieran usando Linux, se
referirían a estos servicios como daemons. Novell se refiere a estos servicios como Módulos
Descargables Netware (NLMs). Servicios, daemons y NLMs todos llevan a cabo esencialmente las
mismas tareas. Permiten al sistema operativo proporcionar funciones como Internet, archivos
compartidos, intercambio de correo, servicios de directorio, administración remota, y servicios de
impresión. No obstante, funcionan un tanto diferentemente en Windows en oposición a Linux o
Novell.
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. Los
daemons no están integrados al sistema operativo como los servicios lo están en Windows. Los
daemons se ejecutan como procesos en segundo plano. Se ejecutan continuamente sin producir
ninguna salida visible. Por ejemplo, el daemon FTP (FTPD) se ejecutará en segundo plano. A
medida que procesa solicitudes entrantes, enviará los archivos según sea necesario, pero no
mostrará 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. Hay
varios daemons Linux comunes:
57
Módulo 10: Administración de Linux
# /etc/rc.d/init.d/httpd restart
Si por alguna razón este script es ejecutado y si devuelve un mensaje de Fallido [Failed], indica
que hay algo mal en la configuración.
58
Módulo 10: Administración de Linux
Hay algunas cosas que es importante saber al iniciar o detener manualmente un daemon de esta
manera.
Primero, dependiendo de qué distribución de Linux se está usando, el nombre exacto del script
puede ser levemente diferente. Por ejemplo, en algunas distribuciones el servidor Samba usa el
script smb y en otras, usa el script samba para iniciar, detener o reiniciar el daemon Samba. Otra
instancia en la cual el nombre del script de inicio podría no estar estandarizado es cuando hay
scripts que llevan a cabo operaciones complejas que comienzan varios otros programas junto con
el programa o daemon que se pretende que se inicie con el script. El script Network o Networking
es un ejemplo que se incluye en algunas distribuciones que se usa para inicializar muchas
funciones de red.
Segundo, los scripts de inicio Sys V están diseñados para ser ejecutados en distribuciones
particulares de Linux. Un script de inicio Sys V de Red Hat no funcionará en otras distribuciones de
Linux.
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 archivo
log, usualmente localizado en el archivo /var/log/messages. Este archivo log puede proporcionar
alguna 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 las
diferentes opciones que reconoce el script. Esto se debe a que algunos scripts soportan diferentes
opciones que otros. Por ejemplo, algunos daemons necesitan reiniciarse cuando se ha efectuado
un cambio en la configuración. Para hacer esto, simplemente ejecute el script con la opción de
reinicio. Algunos scripts no necesitan reiniciarse sino que necesitan detenerse completamente y
luego volverse a iniciar. Algunos daemons tienen comandos que simplemente releen la
configuración sin tener que reiniciarlos.
También se mencionó anteriormente en esta sección que los scripts de inicio Sys V que se usan
para 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 directorios
Linux que contienen vínculos simbólicos a estos scripts. Estos vínculos simbólicos están asociados
a los diferentes niveles de ejecución. Cuando un sistema Linux se arranca en un nivel de ejecución
especí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 manera
permanente. 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ó en
la sección 10.3.5. Los vínculos simbólicos de estos directorios contienen archivos que ejecutan los
scripts Sys V cuando el sistema arranca en el nivel de ejecución correspondiente. Estos nombres
de archivo asumen la forma Kxxdaemon o Sxxdaemon, donde xx es un número de dos dígitos y
daemon es el nombre del daemon. Cuando el sistema introduce un nivel de ejecución especificado
los scripts Kxxdaemon y Sxxdaemon se ejecutan y los daemons o servicios que comienzan con S
reciben el comando start. Los scripts que comienzan con K reciben el comando stop. Por lo
tanto, daemon y servicios pueden iniciarse o detenerse con facilidad permanente y
automáticamente cuando el sistema arranca, renombrando estos scripts en los directorios de
vínculos simbólicos con una S o una K. El número de dos dígitos representa el orden en el cual los
59
Módulo 10: Administración de Linux
daemons o servicios se inician o detienen. El sistema ejecutará los scripts con el número más bajo
primero. Esto puede ser importante porque algunos servicios deberán iniciarse o detenerse antes
que otros. Por ejemplo, el daemon del servidor web Apache deberá iniciarse después de que los
servicios básicos de networking se hayan iniciado.
/etc/rc.d/init.d/httpd start
60
Módulo 10: Administración de Linux
10.4.3 http
61
Módulo 10: Administración de Linux
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. En
tales casos, Linux inicia Apache automáticamente y el servicio HTTP (HTTPD) además de otros
daemons 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 directorio
especial dentro de su directorio home para colocar archivos web públicos. Este directorio a menudo
se llama "public_html" y se convierte automáticamente en el directorio web raíz del usuario. Un
ejemplo de esta página se muestra en la Figura . Por ejemplo, si un usuario llamado jdoe existe
en un sistema Linux con una dirección IP de 123.45.67.90, el usuario tendría también una dirección
web por defecto:
http://123.45.67.90/~jdoe
A los directorios o archivos ubicados en el directorio public_html se les otorga los permisos
apropiados, la categoría "otros" debe tener permisos de lectura y/o ejecución, y son también
visibles por Internet. Por ejemplo, un subdirectorio llamado "images" y un archivo dentro de él
llamado "mom.jpg" sería visible en la siguiente dirección web:
http://123.45.67.90/~jdoe/ images/mom.jpg
62
Módulo 10: Administración de Linux
10.4.4 FTP
63
Módulo 10: Administración de Linux
Aunque el servicio FTP de Windows 2000 puede o no estar disponible por defecto, el servicio FTP
de Linux no necesita configuración. Esta configuración se encuentra en /etc/rc.d/init.d/xinetd con la
línea mostrada en la Figura .
Si un administrador de sistemas desea inhabilitar el servicio, un signo numeral (#) puede ubicarse
al principio de la línea. De otro modo, Linux inicia automáticamente el daemon FTP (FTPD) durante
el proceso de inicio, y los usuarios pueden usar FTP remotamente a la máquina en cualquier
momento.
Al iniciar sesión en una máquina Linux usando FTP, los usuarios a menudo son llevados
inmediatamente a su directorio home. En otros casos, los administradores de sistemas pueden
crear un directorio especial para que sirva como punto de entrada al sistema para todos los
usuarios. Este directorio raíz virtual aparece ante los usuarios FTP en la parte superior de la
estructura 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 los
datos y proporciona una seguridad del sistema más estrecha. También proporciona una ubicación
central para crear directorios públicos donde los datos puedan compartirse libremente entre
usuarios FTP. Recuerde que las mismas pertenencias y permisos de archivos y directorios se
aplican en el entorno FTP que los que se aplican en cualquier otro entorno Linux. Por ejemplo, los
usuarios que desean obtener un archivo remoto ubicado en un directorio específico deben tener
permisos de usuario, grupo u otros para ese directorio. De otro modo, el acceso al directorio se
denegará de manera muy similar a como se denegaría en un prompt de comandos estándar de
Linux.
10.4.5 Telnet
64
Módulo 10: Administración de Linux
Telnet permite a un usuario remoto iniciar sesión en un sistema con el propósito de emitir
comandos y acceder a archivos usando una Interfaz de Línea de Comandos (CLI). Telnet fue
desarrollado para que los usuarios finales puedan acceder a potentes mainframes desde
terminales bobas. Hoy, los administradores usan Telnet para administrar remotamente
servidoresde red, impresoras y otros dispositivos. La Figura ilustra un usuario remoto que está
usando Telnet para administrar dispositivos remotos.
La mayoría de los sistemas UNIX ejecutan daemons Telnet por defecto. No obstante, a causa de
los problemas de seguridad arriba anotadas, el administrador debe habilitar Telnet manualmente
en Red Hat Linux 7. Configurar daemons Telnet en Red Hat Linux y Windows 2000 se trata en las
siguientes secciones.
Hay un comando CLI estándar para abrir una conexión Telnet a una computadora remota:
Por ejemplo:
telnet computer.company.com
o
telnet 123.45.67.90
65
Módulo 10: Administración de Linux
66
Módulo 10: Administración de Linux
El protocolo Bloque de Mensaje de Servidor (SMB) está diseñado para ser un protocolo para
compartir archivos. Ha sido renombrado Sistema Común de Archivos de Internet (CIFS) pero aún
se usa para compartir archivos e impresoras. Este protocolo se utiliza para permitir que sistemas
no Linux ni UNIX monten sistemas de archivos e impresoras Linux en la red. El protocolo SMB
permite que un cliente Windows haga esto de la misma forma en que si estuviera conectado a otro
sistema Windows. Esto proporciona una forma fácil para que los sistemas clientes que corran
windows 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 la
capacidad de interactuar con los sistemas Windows que usan SMB/CIFS. Samba viene con todas
las principales distribuciones de Linux..
Samba usa dos programas clientes llamados smbclient y smbmount. El smbclient es un programa
que permite que otro cliente Linux o UNIX acceda a compartidos en un sistema Linux o Windows
usando un inicio de sesión e interfaz en modo texto. Si server es el nombre del servidor samba
Linux 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 se
necesitará ingresar una password para acceder al compartido. Una vez autenticado, use comandos
para transferir archivos y obtener listados de archivos y directorios de la misma forma en que si
estuviera 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. Sin
embargo, SMB/CIFS se pensó para brindar acceso directo para compartir archivos y usando el
utilitario smbmount. Éste realmente montará el compartido en Linux. La sintaxis es similar al
comando smbclient. Por esta razón, la ubicación del punto de montaje necesita ser agregada al
comando. Escriba smbmount//server/share/mnt/xxx, donde xxx es la ubicación del compartido de
Linux. Usar el utilitario smbmount tiene muchas ventajas en que monta el compartido directamente
sobre el sistema para que el usuario pueda accederlo como si estuviera en una unidad local. El
usuario 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 el
compartido smb. El tipo de sistema de archivos smbfs necesitará ser especificado con el comando
mount. La sintaxis para el comando es la siguiente:
El servidor Samba se configura con el archivo smb.conf que está ubicado en /etc/samba. La
configuración predeterminada de Samba funcionará. Sin embargo, hay un par de items que podría
necesitar configurar antes de que Samba funcione por completo. Primero, si el sistema cliente es
parte de un grupo de trabajo o dominio, este nombre de grupo de trabajo o dominio debe ser
listado en el archivo smb.conf con el parámetro workgroup. Segundo, alguna versión nueva de
Windows usa passwords encriptadas pero lo predeterminado de Samba para eso es usar
passwords encriptadas. Si se está usando una versión de Windows que utiliza passwords
encriptadas, 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 este
comando es la siguiente:
# smbpasswd a jsmith
Esto fijará una password encriptada para jsmith. Luego, finalmente defina cuál será el compartido
en el sistema Linux. La configuración predeterminada permite que los usuarios accedan a sus
directorios principales. Puede encontrar más información en http://www.samba.org y hay libros
completos que sólo hablan del servidor Samba.
67
Módulo 10: Administración de Linux
Similar al protocolo SMB/CIFS, NFS se usa como medio para compartir archivos entre varios
sistemas informáticos conectados en una red. No obstante, la principal diferencia con NFS es que
está diseñado para funcionar en sistemas UNIX. Puesto que la arquitectura de los sistemas Linux
semejan mucho la de los sistemas UNIX, NFS puede usarse para intercambiar archivos entre
sistemas Linux conectados mediante una red y es realmente el método preferido para compartir
archivos entre sistemas Linux.
NFS es el método preferido para compartir archivos entre sistemas Linux y UNIX. Esto se debe a
que los sistemas clientes pueden acceder a partes compartidas NFS en un servidor de archivos
NFS con utilidades de acceso a archivos Linux. Por ejemplo, para acceder a una parte compartida
NFS desde una estación de trabajo cliente, el usuario solamente necesita montar la ubicación de la
parte compartida usando el comando mount. Este comando se ha tratado a lo largo de todo este
capítulo así como en la sección anterior, SMB. Usando este comando, los sistemas cliente Linux
pueden acceder a partes compartidas NFS en el servidor de archivos y usar la parte compartida
como si estuviera almacenada localmente en su sistema. La sintaxis usada desde la estación de
trabajo cliente para montar la parte compartida NFS es la siguiente:
# mount /mnt/xxx
# umount /mnt/xxx
68
Módulo 10: Administración de Linux
Hay algunos pasos que el administrador debe dar antes de que el usuario pueda montar la parte
compartida NFS así de fácilmente. Las partes compartidas necesitan montarse en un servidor de
archivos y hacerse disponibles primero. Esto se hace usando el comando mount también pero la
sintaxis 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ón
de la parte compartida en el servidor de archivos. Tenga en cuenta que los usuarios regulares no
podrán usar el comando mount por defecto. Recuerde que editando el archivo /etc/fstab es
posible habilitar un comando normalmente sólo disponible para la cuenta raíz para que sea
utilizado por cuentas de usuario regulares. Específicamente, la siguiente línea necesitaría
agregarse a este archivo:
Agregando este archivo, cualquier usuario podría montar y desmontar la parte compartida NFS
usando los comandos mencionados anteriormente. Otras opciones para agregar esta línea al
archivo /etc/fstab es dejar la sección no automática del usuario. Esto montaría automáticamente la
parte compartida cada vez que el sistema arranca. No hay contraseña que tenga que usarse para
acceder a la parte compartida. El servidor se basa en la seguridad del lado del cliente para
controlar el acceso a la parte compartida.
69
Módulo 10: Administración de Linux
La configuración de impresoras en un entorno Linux puede ser una tarea muy complicada porque
requiere conocimientos de edición y configuración de archivos de impresión específicos. No es un
proceso paso a paso como con un sistema Windows 2000. La configuración puede ser muy
complicada porque es necesario saber los comandos y textos que se deben ingresar en el archivo
apropiado. El proceso funciona en forma similar a Windows 2000 pero no es tan directo. Una
impresora puede ser configurada localmente, o un servidor de impresión puede ser configurado
para que administre los pedidos de impresión y envíe esos pedidos hacia la impresora apropiada.
70
Módulo 10: Administración de Linux
que reside en un servidor de impresión Linux que manipula todas las tareas de impresión entrantes
dirigidas a las impresoras en red. Las colas de impresión pueden ser configuradas en una variedad
de formas en el servidor de impresión. Normalmente, habrá una cola de impresión por cada
impresora a la que esté sirviendo el servidor de impresión. Sin embargo, es posible configurar
múltiples colas de impresión para una impresora. Esto es útil cuando hay una cola que imprime
hojas 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 ingresado
manualmente en la línea de comando para especificar una tarea de impresión que se quiere enviar
a la cola de impresión u otros programas pueden llamar a este comando para que les permita
imprimir archivos. El programa Daemon de Impresora en Línea (lpd) es el que administra las colas
de impresión en un servidor de impresión Linux. Cuando lpr o computadoras remotas envían un
pedido de impresión a una cola, el programa lpd acepta la tarea de impresión, y la dirige hacia la
impresora correcta. El programa lpd también monitorea las colas de impresión y además dirige las
tareas de impresión desde las colas de impresión hacia las múltiples impresoras. Para realizar
esto, el programa lpd usa el archivo de configuración /etc/printcap, que será tratado en la sección
siguiente.
Otro aspecto importante a saber sobre la impresión con un sistema Linux es que a veces puede ser
difícil de trabajar con ella porque es esencialmente unidireccional. Esto significa que las tareas de
impresión se originan en una aplicación y son enviadas a ciegas a la impresora sin saber el tipo de
impresora a la que se está enviando el trabajo. Linux envía sus tareas de impresión usando el
lenguaje de impresora PostScrip, sin embargo no todas las impresoras son capaces de manipular
el lenguaje Postscript.
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. Este
archivo puede ser usado para configurar múltiples impresoras en él, sin embargo se deben usar
diferentes nombres de impresora. Los componentes del archivo /etc/printcap son mostrados en la
Figura .
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 de
interfaz GUI printtool. Sin embargo, es importante que cualquier administrador comprenda lo que
hacen todos estos componentes del archivo /etc/printcap. Esto es así porque permite que un
administrador haga cualquier cambio que pudiera necesitar hacer que esté disponible usando la
herramienta GUI. Además, como no todas las distribuciones Linux usan una interfaz GUI, será
necesario poder reconocer las características del archivo /etc/printcap .
71
Módulo 10: Administración de Linux
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 una
impresora ha sido agregada al servidor de impresión, los sistemas Microsoft, Novell y UNIX pueden
imprimir en la impresora configurando el servidor de impresión Linux para permitir que estos
sistemas 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 Ghostscript
La administración de impresión en un sistema Linux es muy diferente de la de otros sistemas
operativos que podrían ser más comercialmente conocidos o familiares. En otros sistemas
operativos como Windows o Macintosh, la impresora se comunica con el sistema operativo
mediante un controlador de impresora. En otras palabras, el controlador de impresora permite que
la aplicación en el OS se comunique con la cola de impresión. En Linux, el controlador de
impresora funciona en una forma ligeramente diferente. El controlador de impresora en un sistema
Linux o UNIX es parte de Ghostscript.
Ghostscript es una parte de la cola de impresión de Linux. Sin embargo, tenga presente que
algunas aplicaciones e impresoras no necesitarán usar Ghostscript. Ghostscript es un traductor
que permite a los sistemas Linux y UNIX, que usan el lenguaje de impresión PostScript, imprimir en
impresoras no PostScript. Casi todas las impresoras disponibles hoy usan PostScript como el
lenguaje de impresión principal. Por lo tanto, el traductor Ghostscript no será necesario porque la
impresora podrá interpretar la salida del sistema Linux. Sin embargo, algunas impresoras no
soportan el lenguaje de impresión PostScript. Por lo tanto, sin GhostScript, los sistemas Linux y
UNIX 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 tienen
controladores que trabajen de la misma forma que lo hacen los controladores de Windows con las
colas de impresión. Los programas escritos para Windows fueron desarrollados para comunicarse
con el controlador de impresora. Sin embargo, los programas Linux general PostScript y envían
esta 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 impresoras
laser se han vuelto muy populares y se convirtieron en las impresoras elegidas para los sistemas
UNIX y Linux. Por lo tanto, los programas escritor para los sistemas Linux y UNIX usan lenguaje
PostScript por defecto.
El problema con los programas UNIX y Linux que sólo generan PostScript es que éste no es usado
comúnmente en las impresoras de precios bajos y medios. Esto no es mucho problema para los
sistemas UNIX, que casi siempre usarán una impresora láser costosa que sea compatible con el
lenguaje PostScript. Sin embargo, los sistemas Linux a menudo son usados con impresoras más
pequeñ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 una
impresora, se necesita un traductor como GhostScript. Como se mencionó antes, Ghostscript
reside en la cola de impresión de Linux y puede traducir el lenguaje PostScript para impresoras no
PostScript.
72
Módulo 10: Administración de Linux
73
Módulo 10: Administración de Linux
74
Módulo 10: Administración de Linux
10.4.10 Scripts
El sistema operativo Linux también puede dar sitio a muchos lenguajes de scripting diferentes. Los
más comunes y básicos de éstos son las capacidades de scripting incorporadas el shell. Un script
de muestra se exhibe en la Figura . Tenga en cuenta que éste es un script muy simple y breve. A
menudo los scripts pueden ser muy largos y complejos y contendrán numerosas líneas de código
que ejecutan diversas tareas automatizadas. Un script del shell es un archivo de texto que contiene
cualquier cantidad de comandos Linux en una lista sucesiva. Al igual que los lenguajes de scripting
de Windows 2000, Linux ejecuta un script de shell de arriba a abajo. Cada comando se ejecuta a
su vez exactamente como si se hubiera tipeado en el prompt de comandos. Los scripts de shell
tambié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 archivo
script, los usuarios y administradores del sistema pueden combinar una serie de comandos y
pará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 y
guardarse.
A diferencia de Windows 2000, los scripts de shell de Linux no requieren que se siga ninguna
convención de nombrado en particular. Por lo tanto, el usuario puede asignar cualquier nombre de
archivo Linux estándar al script como hello, helloworld, o hello.world. Luego debe asignarse al
archivo los permisos apropiados de ejecución para el usuario. Luego puede ejecutarse en el
prompt de comandos introduciendo la ruta de directorios relativa y el nombre de archivo:
75
Módulo 10: Administración de Linux
./hello
76
Módulo 10: Administración de Linux
Resumen
Este capítulo trató el sistema operativo Linux. Algunos de los conceptos importantes a retener de
este 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 o
una instalación en servidor.
• Linux usa X Window como interfaz gráfica pero es importante comprender la Interfaz de
Línea de Comandos (CLI). Puede accederse a la consola de comandos usando la ventana
de 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 del
OS Linux y se instalan por defecto. Las páginas man asumen la forma de pantallas
basadas 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 del
entorno MS-DOS es similar. Los shells Linux se cargan solamente al sistema cuando el
usuario lo solicita o inicia sesión en el shell. Incluyen al Shell Bourne, al Shell C, al Shell
Korn, y al Shell Bourne Again.
• Los daemons permiten al OS proporcionar funciones como servicios web, archivos
compartidos, intercambio de correo, servicios de directorio, administración remota, y
servicios de impresión. Los daemons no están integrados al sistema operativo como los
servicios 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. Los
má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 comandos
Linux enumerados sucesivamente. Un administrador del sistema puede combinar una serie
de comandos y parámetros en un único comando script simplificado.
77