Вы находитесь на странице: 1из 56

ADMINISTRACION LINUX

PROTECO

ADMINISTARCION LINUX

I N S TA L A C I N D E L I N U X PREPARACIN PARA INSTALAR LINUX Estos son los pasos que tu deberas seguir antes de empezar a utilizar el sistema operativo Linux. Paso 1.- Tienes los componentes de Red Hat Linux? Paso 2.- Es compatible tu Hardware? La compatibilidad del Hardware es particularmente importante si tu tienes un sistema viejo un sistema que tu mismo construiste. Red Hat Linux 7.0 puede ser compatible con muchos tipos de Hardware en sistemas que fueron construidas en los ltimos dos aos. Por lo tanto el Hardware est cambiando diariamente, esto podra ser una garanta para que tu Hardware sea compatible al 100%. Primero, juntar toda la informacin del Hardware del sistema que tu puedas. La Gua de referencia de instalacin de Red Hat Linux, en la documentacin en un CD. Segundo asegrate que tu Hardware sea compatible y/ soportado. Para saber si tu Hardware es compatible puedes visitar: http://www. Redhat.com/hardware. Paso 3.- Requieres Errata? Ocasionalmente, nos encontramos con que la instalacin falla, entonces necesitamos el disquete, para instalarlo apropiadamente. En estos casos nosotros hacemos unas imgenes especiales que obtenemos va, Red Hat Linux Errata. Tu puedes ahorrar tiempo, si t tratas de utilizar el disquete de imgenes estndar. Revisa la Errata nicamente si haz tenido errores al completar la instalacin. Aunque mucho de este tiempo no es necesario checar la Errata antes de la instalacin, pero hacerlo no es mala idea. Red Hat ofrece la imgenes actualizadas, documentacin y otro software de errata segn tu beneficio.

Estas son dos formas de revisar la Errata. 1.- En la direccin http://www.redhat.com/support/errata; t puedes leer acerca de Errata, y puedes bajar el software de las imgenes fcilmente. 2.- E-mail: manda un mensaje a la direccin errata@redhat.com y recibirs un e-mail el cual contiene la instalacin de Errata. Esto incluye los URLs con las imgenes actualizadas. Usando estos URLs, t puedes bajar las imgenes necesarias:

PROTECO

ADMINISTARCION LINUX

NOTA: usa el modo binario cuando transfieras la imagen. PASO 4.- TIENES SUFICIENTE ESPACIO EN TU DISCO? En esta poca los sistemas operativos usan particiones, y Red Hat Linux no es la excepcin. Cuando se instale Red Hat Linux es mejor trabajar con discos particionados. Si tu todava no tienes particionado tu disco, por favor lee INTRODUCCIN PARA PARTICIONAR DISCOS, en el apndice de la GUA DE REFERENCIA DE RED HAT LINUX o en la documentacin en un CD. Si vas a compartir Red Hat Linux con otro sistema operativo, tu deberas estar seguro que tienes suficiente espacio en tu disco duro para proceder a esta instalacin. Este espacio en tu disco duro puede ser el espacio de otro sistema operativo que tu instalaste con anterioridad, claro cambiando tu sistema operativo anterior por el actual, ya sea que Windows u otra versin de Linux. Antes de que tu empieces el proceso de instalacin, una de las siguientes que deberas conocer son: 1.- Tu computadora debera tener suficiente espacio en tu disco para ser particionada. 2.- Tu deberas tener una o ms particiones libres y suficientes para poder instalar Red Hat Linux. 3.- Tu ya deberas tener formateado FAT( DOS) teniendo suficiente espacio en tu disco, y proceder a la instalacin, utilizando el mtodo. NOTA: para proceder a la instalacin, mnimo debes tener una particin de 900 MB ms, pero esta opcin no aparece durante la instalacin. Si tu no estas seguro de que condiciones se requieren o quieres saber ms acerca de cuanto espacio necesitas para proceder a la instalacin, ver la referencia en el apndice de LA GUIA DE REFERENCIA DE RED HAT LINUX, la documentacin en un CD. PASO 5.- PUEDES INSTALAR RED HAT LINUX UTILIZANDO CD-ROM? Aunque estos son varios mtodos que pueden ser utilizados para la instalacin de Red Hat linux, este manual nicamente te da un enfoque en la instalacin usando el CD-ROM. Hacer una instalacin con el CD-ROM requiere que tu tengas el Red Hat Linux 7.0. Con este mtodo tu puedes proceder a la instalacin fcilmente.

PROTECO

ADMINISTARCION LINUX

Alternativas de ambos metodos. Estas alternativas para ambos mtodos estn disponibles, si tu no tienes el CD-ROM. Local Boot Disk T podras necesitar un disco local de arranque o una PCMCIA boot disk, si tu no puedes leer en tu unidad de CD-ROM. Debera estar incluido un disco de arranque en tu Red Hat Linux 7.0, por lo tanto si tu no tienes un disco local de arranque ( tu pudiste haber bajado Red Hat Linux en vez de haberlo comprado) pero tu puedes hacer uno, para esto puedes ver la seccin Haciendo disquetes de instalacin para las siguientes instrucciones. PCMCIA BOOT DISK Puedes utilizar un(a) PCMCIA boot disk si esta usando un dispositivo PCMCIA para instalar Red Hat Linux. Si tu necesitas un disco de arranque PCMCIA, necesitas crear uno. Puedes buscar referencia en la seccin llamada Haciendo disquetes para istalaciones. Aqu est una lista para que te ayudes a determinar, si tu necesitars crear un disco de arranque PCMCIA: Instalars Red Hat Linux desde un CD-ROM y tu unidad de CD-ROM es adherida en tu computadora a travs de una tarjeta PCMCIA. Usars una Red PCMCIA durante la instalacin. La imagen del archivo PCMCIA aparece como pcmcia.img, y se localiza en el directorio de imgenes de tu Red Hat Linux/ Intel CD. Para tener ms informacin ver la seccin Haciendo disquetes de instalacin Haciendo disquetes de instalacin. Esto es algunas veces necesario, crear un disquete para un archivo de imagen; por ejemplo: Tu puedes necesitar disquetes de imgenes actualizadas, obtenidas en la pgina de Red Hat Linux errata, podras necesitar crear un disco de arranque. El archivo de imagen contiene una copia exacta de lo que contiene el disquete. Desde el contenido del archivo del sistema el archivo de imagen no es utilizado hasta que esto ha sido escrito en el disquete. Para empezar , tu necesitars un disco de 3.5 vaco y formateado. Necesitars acceso a la computadora con el disco de 3.5 y capacidad para ejecutar el programa MS-DOS. El directorio de imgenes en tu CD de Red Hat Linux, trae las imgenes. Una vez que tu ya selecciones la imagen, se transfiere el archivo de imagen en el disquete.

PROTECO

ADMINISTARCION LINUX

HACER UN DISQUETE BAJO MS-DOS Hacer un disquete bajo MS-DOS, incluye la utilera de reescritura, en el directorio dosutils de Red Hat Linux. Primero el disco de 3.5 vaco, formateado apropiadamente ( actualiza el disco) inserta el disco en la unidad. Entonces utiliza los siguientes comandos. C:\> d: D:\> CD \dosutils D:\dosutils> rewrite Enter disk image source file name: ..\images\boot.img Enter target diskette drive: a: Please insert a formatted diskette into drive A: and press --ENTER-- : Enter D:\dosutils> Primero reescribe las preguntas en el nombre de tu archivo de tu disquete de imagen; entra al directorio y nombra la imagen que tu desea escribir ( por ejemplo: ..\images\boot.img).Entonces presionas enter a:. Finalmente rescribe todo de nuevo para confirmar que se formateo la unidad que tu seleccionaste, despus presionas enter para confirmar, copia el archivo de imagen en el disquete, si tu necesitas hacer otro disquete, la etiqueta etc, y ejecutarse de nuevo especificando la apropiada imagen de archivo. HACER UN DISQUETE BAJO LINUX COMO SISTEMA OPERATIVO. Al hacer un disquete bajo Linux (o algn otro sistema operativo como Linux), deberas tener permiso para escribir en el dispositivo de 3.5 (algo as /dev/fd0 bajo Linux) Primero tener el disquete apropiadamente formateado (actualizar el disco). Inserta el disco en la unidad (pero no apliques ningn comando) despus que se ponga el CD de Red Hat Linux, cambia el directorio al cual contiene la imagen de archivo deseado y utiliza el siguiente comando: # dd. if=boot.img of=/dev/fd0 bs=1440k Para hacer esto con otro disquete, especifica apropiadamente el archivo de imagen.

PROTECO

ADMINISTARCION LINUX

Tabla requerida para el sistema Utiliza el espacio que te proveen, poniendo los requerimientos en tu sistema. Esto podra ayudarte a hacer el proceso de instalacin ms fcil. Disco duro(s): Tipo, etiqueta, tamao; por ejemplo: IDE hda=1.2G Particiones: hacer particiones y montar los discos; ex: /dev/hda1=/home, /dev/hda2=/ (llena esto una ves que sepas donde estos podrn residir.). 1) 2)

Memoria:La cantidad de tu Memoria RAM intalada en 3) tu sistema; Por ejemplo: 64MB, 128MB CD-ROM: Interface Tipo; Por ejemplo: SCSI, IDE (ATAPI) SCSI Adaptador: nombra el nmero del modelo; Por ejemplo: BusLogic SCSI Adapter, Adaptec 2940UW Tarjeta de Red: te presenta el nmero del modelo; Por ejemplo: Tulip, 3COM 3C590 Mouse: Tipo, protocolo, y nmero de botones; por ejemplo: generico 3 button PS/2 mouse, MouseMan 2 button serial mouse 4) 5) 6) 7)

Monitor: modelo, y especificaciones de la 8) manufactura; Por ejemplo: Optiquest Q53, ViewSonic G773 Tarjeta de Video: nmero de modeloy tamao de VRAM; Por ejemplo: Creative Labs Graphics Blaster 3D, 8MB Tarjeta de Sonido : chipset y nmero de modelo; Por ejemplo: S3 SonicVibes, Sound Blaster 32/64 AWE Direcciones IP, DHCP, and BOOTP : 4 nmeros , separado por punto; Por ejemplo: 10.0.2.15 (contact your netadmin for help) Netmask: Usualmente 4 nmeros , separado por punto;Por ejemplo: 255.255.248.0 (contactar tu red administradora par ms ayuda) 9)

10)

11)

12)

PROTECO

ADMINISTARCION LINUX

Direcciones IP de entradas: 4 numeros, separadospor 13) puntos ; por ejemplo: 10.0.2.245 (contactar con tu admisnistrador de Red para ms ayuda) Uno o ms nombres de direcciones IP (DNS): Usualmente uno o ms puntos separando nmeros; Por ejemplo: 10.0.2.1 ) Nombre dl dominio: El nombre te d la organizacin; Por ejemplo: Red Hat podra ser redhat.com Hostname: El nombre de tu computadora ; El nombre que t elijas ponerle : Por ejemplo: cookie, southpark. 14)

15) 16)

Tabla 2.1 Requerimientos de hardware del sistema INSTALACIN DEL SOFTWARE DE LINUX En esta parte discutiremos todos los pasos para instalar Red Hat Linux. 1. E S TA R FAM I L I A R I Z A D O CO N E L P R O G R A M A D E I N T E RFA Z D E L A I N STA L AC I N . 2. E M P E Z A R E L P R O G R A M A D E I NS TA L A C I N . 3. C O N F I G U RA R LO S PAS O S D U R A N T E L A I N S TA L A C I N E S D EC I R (L E N G U A J E , T E C L A D O M O U S E E TC ) 4. T E R M I N A R CO N L A I N S TA L AC I N . Al terminar de analizar estos pasos tu tendrs instalado Red Hat Linux en tu sistema. La instalacin del programa utilizando una interfaz. Si tu has utilizado una Interfas grfica GUI antes, podras estar familiarizado con este proceso. Si no, simplemente utiliza tu mouse para recorrer por la pantalla, haciendo clic con el botn o simplemente enter. Tambin puedes hacer la instalacin con el teclado es decir utilizando tab. y la tecla de enter. Si tu no deseas utilizar el programa de instalacin GUI, puedes utilizar el modo texto para proceder a la instalacin, poniendo el siguiente comando. boot: text

PROTECO

ADMINISTARCION LINUX

NO SE DETECTO EL MOUSE? Si el mouse no es detectado en la pantalla, entonces la instalacin no fue correcta ya que no se identifica el mouse.

Figura 2.1 Mouse no detectado Tu puedes seguir utilizando la instalacin GUI o utilizar el modo texto para proceder a la instalacin, la cual no requiere utilizar el mouse. Si tu eliges seguir trabajando la instalacin con GUI, necesitars buscar la informacin de cmo configurar el mouse.

Figura 2.2 Configuracin del Mouse Notas acerca de las consolas virtuales. El Programa de instalacin de Red Hat Linux ofrece ms cajas de dilogos de los procesos de instalacin, diferentes mensajes y comandos puedes meter utilizando el prompt del shell. Esta informacin es presentada por las consolas virtuales. Estas consolas pueden ser de mucha ayuda mientras estas instalando Red Hat Linux. Te despliega mensajes mientras ests en la instalacin la consola del sistema te puede ayudar si te sale algn problema. Ver la siguiente lista de consolas virtuales.

PROTECO

ADMINISTARCION LINUX

Console 1 2 3

Keystrokes Ctrl-Alt-F1 Ctrl-Alt-F2 Ctrl-Alt-F3

Contents installation dialog shell prompt install log (messages from installation program) system-related messages other messages X graphical display

4 5 7

Ctrl-Alt-F4 Ctrl-Alt-F5 Ctrl-Alt-F7

Tabla 2.2 Consolas virtuales en Red Hat Empezando la instalacin del programa. Si tu ests planeando instalar a travs de un CD-ROM usando la interface grfica, favor de leer la siguiente nota.NOTA: Si tienes la costumbre de trabajar el modo texto al momento de la instalacin, reinicia el sistema. Instalacin con el cd-rom Para instalar Red Had Linux con el CD-ROM, escoge CD-ROM y selecciona OK. Cuando se este iniciando, inserta tu CD-ROM en la unidad de tu CD. La instalacin del programa ser probado por tu sistema e identificar la unidad de tu CD, esto empezar con un IDE. si esto es encontrado, tu continuars con el siguiente proceso de instalacin. (ver la seccin llamada Seleccionando el lenguaje Si la unidad no es detectada, te preguntars que tipo de CD-ROM tienes. Escoge alguno de los siguientes: SCSI Selecciona este si tu unidad de CD-ROM es adaptado a SCSI, la instalacin del programa te preguntar si escogiste la unidad SCSI. Escoge la unidad que ms se adapte, puedes especificar las opciones para tu unidad si es necesario as que despus de esto tu drive se detectar automticamente. OTROS: Si tu unidad de CD-ROM no es el anterior y es otro cualquiera. La tarjeta de sonido con una interface del CD-ROM son ejemplos de este tipo. El programa de instalacin presenta una lista de unidades, entonces

PROTECO

ADMINISTARCION LINUX

escoge la unidad y si es necesario especifica las opciones de la unidad. Seleccionando el lenguaje. Utiliza tu mouse, seleccionando el lenguaje que tu quieras y el sistema lo instalar por default. Seleccionando el apropiado lenguaje, te ayudar a configurar el tiempo (horario) de la zona. El programa de instalacin tratar de definir el apropiado horario basado en tus especificaciones.

Figura 2.3 Seleccin del lenguaje de instalacin Configuracin del teclado. Elige el modelo del teclado que tenga tu sistema, si tu no lo encuentras tal cual es, entonces elige el Genrico (por ejemplo: Genrico 101- Key PC) Despus elige la distribucin del teclado(por ejemplo U. S English)

Figura 2.4 Configuracin del teclado Configuracin del mouse.

10

PROTECO

ADMINISTARCION LINUX

Elige el mouse que tu sistema tiene. Si no lo encuentras exactamente tal cual es, elige el tipo de mouse que tu crees es compatible con tu sistema. Determina la Interface del mouse con tu sistema. Si el conector del cable de tu mouse es rectangular, tienes un mouse serial, pero si el conector es redondo tienes un mouse PS/2. Si tu ests instalando Red Hat Linux en una computadora Laptop en muchos casos el que es compatible es el PS/2 compatible. Si no encuentras el mouse que tu estas seguro es compatible, basado en el numero de botones que tiene tu mouse, selecciona uno Genrico, para que se haga la interfas. CONFIGURACIN DEL MOUSE.

Figura 2.5 Configuracin del mouse BIENVENIDO A RED HAT LINUX

Figura 2.6 Pantalla de bienvenida de Red Hat La ventana aparece por default, pero si tu no quieres que esta aparezca dale clic al botn de abajo y la pantalla se minimizar. 11

PROTECO

ADMINISTARCION LINUX

Instalar opciones. Puedes elegir entre las siguientes opciones de instalacin que se muestran en la Figura siguiente:

Figura 2.7 Tipo de instalacin Particiones automticas. La opcin ms recomendada para crear las particiones en Linux es usar la herramienta Disk Druid. La cual se muestra en la figura 2.9.

Figura 2.8 Herramientas de particionamiento

12

PROTECO

ADMINISTARCION LINUX

Particionando tu sistema manualmente

Figura 2.9 Creacin de particiones Formatear las particiones. Es recomendable formatear las particiones donde se instalar el sistema operativo.

Figura 2.10 Formateo de particiones Configuracin de la red Cuando el equipo que se est instalando forma parte de una red, en este paso se definen los parmetros necesarios para darle de alta.

13

PROTECO

ADMINISTARCION LINUX

Figura 2.11 Configuracin de la red Configuracin del horario segn la zona. En este paso se elije la zona horaria que corresponde al equipo.

Figura 2.12 Seleccin de la zona horaria Configuracin para crear el password. Es necesario definir una contrasea para el root, con las siguientes caractersticas: 8 caracteres 5 alfabticos y 3 numricos.

14

PROTECO

ADMINISTARCION LINUX

Figura 2.13 Definicin de la contrasea del root Seleccionando los grupos. Aqu es donde elegimos en primera instancia los grupos de aplicaciones que se desean instalar.

Figura 2.14 Seleccin de grupos de paquetes Paquetes individuales. Si se desea ser ms especficos Red Hat nos brinda la oportunidad de elegir los paquetes individuales de nuestro inters.

15

PROTECO

ADMINISTARCION LINUX

Figura 2.15 Seleccin individual de paquetes Configuracin del monitor. Normalmente el software de instalacin detecta automticamente el tipo de monitor con el que cuenta nuestro equipo. En caso de requerirlo podemos escoger manualmente de la lista el modelo que requiramos.

Figura 2.16 Configuracin del monitor Configuracin de la tarjeta de video. As como el monitor, es de vital importancia elegir la tarjeta de vdeo adecuada para que Linux saque el mayor provecho al modo grfico.

16

PROTECO

ADMINISTARCION LINUX

Figura 2.17 Configuracin de la tarjeta de vdeo Personalizar la resolucin En esta pantalla podemos definir la resolucin que queramos darle a nuestro vdeo.

Figura 2.18 Personalizacin de la resolucin de vdeo Instalacin de paquetes. Una vez que Linux tiene todos los elementos comenzar la copia de los archivos que corresponden a las aplicaciones que seleccionamos.

17

PROTECO

ADMINISTARCION LINUX

Figura 2.19 Instalacin de paquetes Creacin del disco de arranque Al concluir la copia de los archivos, se puede crear un disco de arranque del sistema el cual nos puede auxiliar en caso de tener problemas con el sistema.

Figura 2.20 Creacin del disco de arranque PROCEDIMIENTOS POST-INSTALACIN Cuando la instalacin ha concluido, el sistema reinicia y comienza la carga por primera vez. Aqu hay que estar pendientes de los mensajes que salen para detectar posibles errores. Por supuesto, en el momento que se requiera se pueden instalar, eliminar o actualizar paquetes de aplicaciones. Para esto vea la seccin Instalacin de nuevo software. As mismo, hay una gran cantidad de servicios que se pueden instalar y configurar en el sistema. Vea el apartado de Administracin del sistema

18

PROTECO

ADMINISTARCION LINUX

para mayor detalles. RESOLVIENDO PROBLEMAS Algunas veces el sistema no logra instalarse como esperbamos, en la mayora de los casos existe una incompatibilidad con algn dispositivo del sistema. Es por esto que debemos verificar si nuestro hardware es compatible con Linux. En el caso de Red Hat, existe el sitio oficial web una lista del hardware compatible del sistema. Sera altamente recomendable visitarla en casos de problemas de compatibilidad. Un mal particionamiento es igualmente una causa comn de problemas con el sistema recin instalado.

19

PROTECO

ADMINISTARCION LINUX

PROGRAMACIN EN SHELL

Introduccin. El shell es un entorno flexible y altamente funcional para los usuarios; proporciona muchas herramientas que hacen que el trabajo con el sistema sea mucho mas fcil y rpido. La programacin shell es ampliamente utilizada para capturar rdenes y procedimientos que se ejecutan frecuentemente. Los programas shell son utilizados a menudo en herramientas y rdenes necesarias para la administracin del sistema. La programacin en shell se basa en el uso de las herramientas del sistema, y Unix es un sistema operativo que cuenta con bastantes herramientas de proceso, filtrado de textos y de control de procesos entre otros. Por ello permite realizar procesos repetitivos que a mano seran bastante tediosos. Para hacer estas labores an ms fciles se crean scripts. Un script es un fichero de texto que contiene una serie de instrucciones que se pueden ejecutar en la lnea de comandos. Creacin de un script. Existen muchos shells disponibles pero habitualmente se utiliza el bash (bourne again shell), ya que est disponible libremente y es fcil de usar. Para escribir nuestros programas en shell se puede usar cualquier clase de editor de texto. El programa en shell debe empezar con la siguiente lnea (debe ser la primera lnea del fichero) #!/bin/Shell _actual (p.ej. #!/bin/bash) Los caracteres #! Indican al sistema que el primer argumento que sigue en la lnea es el programa a utilizar para ejecutar ste archivo. Ya que hayas escrito y guardado tu script debes hacerlo ejecutable para poder usarlo. Chmod a+x archivo Despus puedes ejecutar tu script escribiendo ./archivo. Comentarios.

20

PROTECO

ADMINISTARCION LINUX

Los comentarios en la programacin shell comienzan con prolongan hasta el final de la lnea. Variables.

y se

Como en otros lenguajes y el shell no es la excepcin se utilizan variables. Las variables no se declaran y siempre estn inicializadas a cero. Para asignar un valor a una variable se escribe: variable=nmero (se debe tener cuidado de no dejar espacio entre el signo de igualacin). Para obtener el valor de la variable simplemente hay que anteponer el signo $ a la variable. Ejemplo. Y=Hola X=$Y (se asigna el valor) (X tiene el valor de Y, por lo tanto, X= Hola)

Se debe tener cuidado en la asignacin de variables, ya que no es lo mismo una minscula que una mayscula. Ordenes echo y read. Echo y read son dos rdenes bastante tiles. La primera es para mostrar texto en la pantalla. La segunda es para leer desde el teclado y poner el resultado en una o mas variables . El funcionamiento de read es el siguiente: lee del teclado una cadena o varias, y va asignando las palabras en orden en cada una de las variables que se le pasen como parmetros. Es decir, que si se le pasan tres variables como parmetro, se asigna la primera palabra a la primera variable, la segunda a la segunda variable, y el resto a la tercera variable. Ej 1. read var echo $var Ej. 2 read var1 var2 echo $var1 echo $var2 Orden expr y let. #lee la variable #imprime la variable

21

PROTECO

ADMINISTARCION LINUX

Aunque el lenguaje de programacin shell no est optimizado para clculos numricos, dispone de ordenes que realizan clculos: La orden expr es la ms til de ella . Para emplearla cada parte de la expresin debe estar rodeada por espacios en blanco. Slo se permiten enteros y los operadores suma (+), resta (-), multiplicacin (*), divisin (/) y mdulo (%) Es preciso escapar el significado de * y / para evitar que el shell los interprete antes de que expr los obtenga. Adems se puede agrupar operaciones entre parntesis siempre que se escape el significado de stos. La orden expr tambin puede realizar operaciones lgicas; es decir, puede determinar si un argumento es igual a, mayor que, o menor que otro. Se permiten los operadores = (igual), = (no igual), > (mayor que), < (menor que), <= (menor o igual que) y >= (mayor o igual que) ; todos ellos deben ser escapados. Si los argumentos para stos operadores lgicos son nmeros, expr efectuar comparaciones numricas . Si son cadenas , expr efectuar comparaciones basndose en el orden de clasificacin de las cadenas en el alfabeto ASCII. La orden let permite realizar operaciones aritmticas al igual que con expr, aunque la sintaxis que se ocupa es diferente, ya que para realizar una operacin se le asigna a una variable, si quieren realizar operaciones anidadas se encierra todo entre doble comillas. Ejemplo. (suma.sh) VAR1="Dime dos numeros" #pide dos nmeros echo $VAR1 #se imprime la variable anterior read VAR2 VAR3 #se leen dos variables sum=$( expr \( $VAR3 + $VAR2 \) \* 3 ) #se hace la operacin con expr echo la suma es $sum #se emprime el valor let "sum2=VAR2 + VAR3" #se realiza la operacin con let echo $sum2 #se imprime el valor de la operacin Salida del programa Dime dos numeros

22

PROTECO

ADMINISTARCION LINUX

12 la suma es 9 3 Operadores Lgicos. a) Para cadenas. == cadena A igual a cadena B >= cadena A mayor o igual a cadena B <= cadena A menor o igual a cadena B = cadena diferente a cadena B > cadena A mayor a cadena B < cadena A menor a cadena B b) Para nmeros. -eq igual -lt menor que -le menor o igual que -ge mayor o igual -gt mayor

Operador if - else. Como ya se ha visto en el lenguaje de programacin en C la sentencia if else se utiliza para hacer una o varias comparaciones. La condicin va encerrada entre corchetes y debe de tener un espacio de separacin, de no ser as el programa no se ejecutar. Ej. 1 if [ condicin ] then accin else accin

fi

23

PROTECO

ADMINISTARCION LINUX

Ej. 2 tf [ condicin ] then accin else if [ condicin ] then accin else accin fi fi ejemplos (if.sh). if [ "hola mundo" = "hola mundo" ]; then echo expresin evaluada como verdadera fi salida del archivo expresin evaluada como verdadera

Operador for. Es un operador utilizado para hacer iteraciones, y se utiliza de la siguiente forma. for var in 1 2 3 4 5 6 ....... do done accin a realizar.

ejemplo (for.sh).

24

PROTECO

ADMINISTARCION LINUX

for arch in $(ls) do if [ -x $arch ] then echo "$arch es ejecutable" fi done salida del programa: arreglos.sh es ejecutable case.sh es ejecutable fire es ejecutable for.sh es ejecutable ftp.netfilter.org es ejecutable ftp.netfilter.org.tar es ejecutable func2.sh es ejecutable func3.sh es ejecutable

Cuando shell lee esta orden , hace val igual al primer elemento de la lista y luego ejecuta las ordenes que hay entre el do - done; luego el shell hace el val igual al segundo miembro de la lista y ejecuta las funciones de nuevo, esto se repite hasta que todos los miembros de la lista han sido procesados. Las ordenes dentro de do-done pueden ser tan complejas como se requieran. El operador while. El operador while combina algunas de las caractersticas de for e if. Su sintaxis es la siguiente. While [ condicin ] do Accin a realizar done Si la condicin se cumple se realizara la accin dentro de do done. Ejemplo (while.sh)

25

PROTECO

ADMINISTARCION LINUX

x=0 while [ $x != 3 ] do let x=x+1 echo ${x} done salida del programa: 1 2 3

El operador select. El operador select crea un men, dependiendo del nmero de elementos que estn en la lista y ejecuta la opcin que se le indique. Select variable in list do $variable done ejemplo (select.sh) OPCIONES="Hola Salir" select opt in $OPCIONES; do if [ "$opt" = "Salir" ]; then echo estas saliendo ...... sleep 5 echo done exit elif [ "$opt" = "Hola" ]; then echo Linux te saluda como ... sleep 3 echo Hola $LOGNAME else clear echo opcin errnea

26

PROTECO

ADMINISTARCION LINUX

fi done salida del programa 1) Hola 2) Salir #? Linux te saluda como ... Hola gkno

El operador case. ste es un operador de control condicional. Dad una cadena de caracteres case determina cul de varias categoras corresponde a la cadena y luego ejecuta una lista de rdenes asociada a esa categora. Su sintaxis es la siguiente. Case $var in Patrn a) Accin ;; Patrn b) Accin ;; . . . . . *) ( default) Accin ;; esac Puede haber tantos patrones y listas de ordenes como sea necesario, pero la lista de rdenes asociada con cada patrn debe de ir terminada por el operador especial punto y coma, punto y coma (;;) que es equivalente al break en otros lenguajes de programacin. 27

PROTECO

ADMINISTARCION LINUX

Cada patrn debe ser diferente de los dems y se requiere el ) (parntesis derecho) despus de cada uno de stos. La construccin completa se termina con esac.

ejemplo (case.sh) echo "a:Opcion Uno" echo "b:Opcion Dos" echo "c:Opcion tres" read k case $k in a) echo " se toma la opcion 1" ;; b) echo " se toma la opcion 2" ;; c) echo " se toma la opcion 3" ;; *) echo " opcion incorrecta" ;; esac salida del programa a:Opcion Uno b:Opcion Dos c:Opcion tres a se toma la opcion 1

Arreglos Declaracin de arreglos.

28

PROTECO

ADMINISTARCION LINUX

Arreglo[1]=valor1 Arreglo[2]=valor2 Arreglo[3]=valor3

ejemplo (arreglos.sh) array[0]=cero array[1]=uno array[2]=dos echo ${array[*]} salida del programa cero uno dos Funciones Para declarar funcione se tiene Ejemplo (func1.sh) function exef { mkdir dir$k } for k in 1 2 3 4 5 6 7 8 9 10 do exef $k done salida del programa la salida del programa es hacer directorios de llamados dir1 hasta el dir10

29

PROTECO

ADMINISTARCION LINUX

ejemplo (func2.sh) function salir { exit } function e { echo $1 } e Hola e Mundo salir echo CURSO

salida del programa Hola Mundo

Depuracin. La ayuda mas sencilla para depurar es el comando echo, que se puede utilizar para imprimir el valor de las variables al momento de hacer la compilacin. Para depurar un script se utiliza la sentencia $ bash x script y para comprobar la sintaxis se utiliza $ bash n script

30

PROTECO

ADMINISTARCION LINUX

PROCESO DE ARRANQUE, INICIALIZACIN Y APAGADO Cuando se arranca un ordenador el procesador busca al final de la memoria del sistema la BIOS (Basic Input Output System) y la ejecuta. La BIOS proporciona el nivel mas bajo de interfaz a los dispositivos y controla el primer paso de arranque buscando un disco del cual arrancar generalmente busca la disquetera o cd-rom y a continuacin el disco duro. En el disco duro la BIOS busca un mater boot record (MBR). El MBR busca la particin primaria activa y lee el sector de arranque. El sector de arranque contiene instrucciones sobre como cargar el sector de arranque LILO (Linux Loader). El MBR carga LILO y LILO lee el archivo /etc/lilo.conf, que dice qu sistemas operativos o kernels hay configurados para arrancar. LILO muestra una lnea de comandos en pantalla y espera una accin por parte del usuario, si lilo.conf esta configurado con varios sistemas operativos da una eleccin a LILO para arrancar el sistema operativo indicado o se carga por default el que aparezca primero en el archivo lilo.conf. Si LILO arranca Linux arranca primero el kernel que es un archivo vmlinuz.X.X situado en el directorio /boot y a partir de ese momento el kernel toma el control. A partir de ah el kernel busca el archivo init (generalmente se encuentra en /sbin) y este toma el control convirtindose en el padre de todos los proceso que se ejecutan en el sistema. Lo primero que ejecuta es /etc/rc.d/rc.sysinit que configura el PATH, la red si es necesario arranca el rea de swat y comprueba los sistemas de archivos, esto es para cuidar que todo lo que el sistema necesita para cargarse se haga en la inicializacin. init lee e implementa el archivo /etc/inittab, que describe como debe configurarse el sistema para cada nivel de ejecucin y da un nivel por defecto; tambin declara que se debe ejecutar los archivos /etc/rc.d/rc y /sbin/update siempre que se ejecute un nuevo nivel. Cada vez que se cambia el nivel de ejecucin /etc/rc.d/rc arranca y detiene servicios, el archivo rc arranca todos los procesos para que el sistema pueda funcionar y busca un directorio rc para cada nivel de ejecucin (/etc/rc.d/rcx.d), donde x es nmero del 0 al 6.

31

PROTECO

ADMINISTARCION LINUX

rc para todos los scripts que tienen como inicio del nombre una K y ejecuta todos los que comiencen con una S asignndole tambin un nmero por medio del cual se va a indicar al sistema el orden en que se van a iniciar los servicios. El archivo /etc/inittab ejecuta el proceso getty para cada consola virtual de cada nivel (los nivel del 2-5 tienen 6 consolas, el nivel 1 slo 1, y el 0 y el 6 no tienen). Si se ejecuta el nivel 5 /etc/inittab tambin ejecuta un script llamado /etc/X11/prefdm este script ejecuta el gestor de pantalla (gdm si esta ejecutando GNOME, kdm si esta ejecutando KDE, o xdm para cualquier otro).

32

PROTECO

ADMINISTARCION LINUX

Administracin de usuarios Alta de usuarios paso a paso. Como ya se ha visto para la creacin de un usuario se necesita: a) b) c) d) e) f) agregar el usuario a /etc/passwd agregar el usuario a /etc/shadow agregar el usuario a /etc/group crearle el directorio /home/usuario cambiar los permisos al /home copiar los archivos que se encuentran dentro del directorio /etc/skel, principalmente los archivos. a. .bash_profile b. .bash_logout c. .bashrc

El usuario que vamos a crear se llama curso. 1.Vamos a editar el archivo /etc/passwd, agregando ( a continuacin se presentan las ltimas lneas de este archivo ) ivan:x:506:506::/home/ivan:/bin/bash pcap:x:77:77::/var/arpwatch:/sbin/nologin tiaricci:x:507:507::/home/tiaricci:/bin/bash bhg:x:508:508:butista hilario guillermo:/home/bhg:/bin/bash mea:x:509:509:martinez estrada armando:/home/mea:/bin/bash agregando la lnea de nuestro usuario queda: ivan:x:506:506::/home/ivan:/bin/bash pcap:x:77:77::/var/arpwatch:/sbin/nologin tiaricci:x:507:507::/home/tiaricci:/bin/bash bhg:x:508:508:butista hilario guillermo:/home/bhg:/bin/bash mea:x:509:509:martinez estrada armando:/home/mea:/bin/bash curso:x:510:510: :/home/curso:/bin/bash Nota: el nmero que se agrega en el campo de UID y GUI debe ser consecutivo al nmero del usuario anterior, y debemos dejar una x en el campo de la contrasea. 2.Ya que tenemos a nuestro usuario en /etc/passwd, ahora vamos a

33

PROTECO

ADMINISTARCION LINUX

editar el archivo /etc/shadow, en este archivo lo mas importante es tener el login de usuario y los dems campos los podemos dejar vacios, lo importante es no tener nada en el campo del password, ya que como es encriptado, lo va a tener como si as estuviera y causara problemas para poder tratar de entrar a nuestra cuenta, por lo tanto se tiene que quedar vaco. Segmento de /etc/shadow pcap:!!:12198:0:99999:7::: tiaricci:$1$Q5OW7PqD$83vUzXYlQj7qL2UU2kq8C/:12212:0:99999:7::: bhg:!!:12213:0:99999:7:::

34

PROTECO

ADMINISTARCION LINUX

ADMINISTRACIN DE CUENTAS DE USUARIO Para crear un usuario, escribimos, entrando como root, "useradd" o "adduser" sin las comillas ms el nombre del usuario. Ej.: adduser carlos. Habrs creado un usuario sin clave de acceso, y escribiendo al inicio de Linux en login el nombre carlos, entrars en TU SESIN. De esta forma crearemos un usuario con las caractersticas por defecto, que suelen ser las mejores, pero para crear un usuario a nuestra medida, tambin podemos escribir: (Forma general) [root@Wakitaki /root]# adduser -u 500 -g users carlos [root@Wakitaki /root]# passwd carlos (y asignamos la clave para carlos) [root@Wakitaki /root]# adduser -u 501 -g users javier [root@Wakitaki /root]# passwd javier (y asignamos la clave para javier) o tambin: [root@Wakitaki /root]# adduser -u 500 -g 100 -p 123 -r

carlos. Ahora ya sabemos que -u 500 -g 100 -p 123 -r son opcionales, y no hace falta escribirlos para crear al usuario. Esta son algunas de las caractersticas ms importantes a la hora de crear usuarios. adduser -u : Indica la UID del usuario, o sea, el nmero con el que el sistema identificar al usuario. Su nmero debe ser mayor que el ltimo usuario/cuenta que exista en el archivo /etc/passwd, por ejemplo, podemos ponerle 500 para el primer usuario. El usuario 501 ser el siguiente, 502 el 3, etc. -g 100. Indica el GID, esto es, el grupo al que ese usuario pertenece. Esto es importante porque en Linux un grupo de usuarios puede compartir una serie de archivos y directorios. El nmero ha de ser el mismo para todos los que formen el grupo. As, el grupo de los que formen el grupo 100 ser uno, el 101 ser otro, el 102 otro, etc. (TODOS los USUARIOS, deberan estar bajo el mismo grupo, "users", que suele ser el grupo 100). El archivo que identifica a los grupos es: /etc/group -p 123. Se refiere a la clave del usuario para entrar en el sistema. Si se quiere, puede no ponerse ninguna si tu computadora no va a estar conectada a ninguna red o si tu eres el nico que entra. Veremos como hacerlo en Editando usuarios.

36

PROTECO

ADMINISTARCION LINUX

-r carlos. Ser el nombre con el que el usuario entre en el sistema. Otra forma ms fcil de crear usuarios es a travs de X-Window con el programa linuxconf. Para comprobar su funcionamiento, pulsa [ctrl]+[F2], y escribe el nombre con el que hayas creado al nuevo usuario Si al crear al nuevo usuario (y si no has especificado clave) te pide el password y no eres capaz de entrar como l, debers entonces editar el archivo passwd para suprimir el carcter de admiracin ( ! ) "u otro(s)" que aparece en el segundo campo, pues el carcter ! impedir todava entrar en la cuenta de carlos. Tambin, es MUY probable que tengas que editar adems el archivo /etc/shadow, para activar la cuenta: (al que le pasar algo parecido) Ej.: # archivo: /etc/passwd (ANTES de la modificacin) carlos:!:501:100:carlos orovengua:/home/carlos:/bin/bash # archivo: /etc/passwd (DESPUS de la modificacin) carlos::501:100:carlos orovengua:/home/carlos:/bin/bash Despus de quitarlo, (y si no hay que modificar el archivo /etc/shadow), con escribir en login tu nombre, bastar para entrar al sistema. Por ejemplo: Ej: # archivo: /etc/shadow (ANTES de la modificacin) carlos:xx:10745::99999:::: # archivo: /etc/shadow (DESPUS de la modificacin) carlos::10745::99999:::: El usuario creado se guardar en el directorio /home, y con el directorio con el nombre del usuario creado, en este caso ser: /home/carlos, con todas las configuraciones por definir, un .bashrc y un archivo .bash_profile, que tienen una mnima configuracin. Editando usuarios. Para editar usuarios, editamos el archivo passwd, con el joe, por ej.: Escribiremos: cd /etc joe passwd joe shadow 37

PROTECO

ADMINISTARCION LINUX

o bien: joe /etc/passwd. joe /etc/shadow En este archivo hemos incluido su estructura: Cada lnea de este archivo corresponde con un usuario, y cada uno de sus campos (separados por dos puntos) se refiere a un dato. Los asteriscos (*) en el segundo campo indican las cuentas que no se pueden usar como usuarios normales. Pueden usarse tambin cuando queremos dar de baja temporalmente a un usuario. Para eliminar una clave (password), podemos borrar lo que viene situado en el segundo campo de cada lnea entre los dos puntos (:), o usar el comando: passwd carlos Slo root puede cambiarle la clave a otros usuarios, y puede cambiarse cada uno la suya (incluido root), si como usuarios normales escribimos: passwd donde nos preguntar por la vieja, la nueva y que la verifiquemos. Si no te acuerdas, o cualquier usuario no se acuerda de su password, root, deber encargarse de editar el archivo /etc/passwd y suprimir la lnea donde aparece la clave: javier:ClaveOlvidada:... Para quedar: javier::... Borrando a un usuario. Para borrar un usuario, bastar con escribir el comando: "userdel" y el nombre del usuario, ejemplo.: userdel carlos Tambin, se podr editar el archivo passwd y quitar la lnea entera donde aparece el nombre del usuario en cuestin, y despus borraremos su directorio de /home. (tambin conocido como directorio raz de cada usuario) De todas formas es conveniente hacerlo con el comando userdel, o desde X-Window en su defecto, ya que tambin se eliminar el directorio "carlos" del directorio "home", en caso contrario, como root, debers borrar el directorio del usuario eliminado. NOTA IMPORTANTE: Esta es una opcin excesivamente TRGICA, ya, que al suprimir a un usuario, tambin se le elimina su configuracin, todos los programas y configuraciones particulares que tenga en su directorio /home/usuario, por esto, y si lo que se quiere es suspenderlo, lo mejor es editar el archivo passwd, y colocar un signo "!", para 38

PROTECO

ADMINISTARCION LINUX

desactivarlo, y cuando se requiera, quitas el signo "!", y su cuenta volver a estar activa.

ADMINISTRACIN DE GRUPOS Habitualmente los usuarios de los sistemas informticos se agrupan en grupos de trabajo, requisitos comunes, etc. Los sistemas Unix contemplan esta realidad mediante la incorporacin del concepto de grupo, con el cual reunir un conjunto de usuarios para darles caractersticas comunes. EL FICHERO /ETC/GROUP Cada usuario pertenece como mnimo a un grupo, es el denominado grupo primario del usuario. Cada usuario puede pertenecer a tantos grupos como sean necesarios; esta informacin se recoge en el fichero /etc/group, que tiene el siguiente formato: grupo:::GID:usu1,usu2,usu3,... donde:

grupo: palabra con el que se nombra al grupo, p.e GID: nmero identificador de grupo, similar al UID pero para grupos. usu1,usu2,usu3: lista de usuarios pertenecientes al grupo

CREACIN Y EDICIN DE GRUPOS Al igual que los comandos de administracin de usuarios deben ser ejecutados con privilegios de root. Disponemos de una serie de comandos para gestionar la creacin y asignacin de grupos a usuarios.

addgroup: crea un nuevo grupo de forma interactiva. groupadd: crear un nuevo grupo. groupdel: borra un grupo.

39

PROTECO

ADMINISTARCION LINUX

groupmod: modifica los atributos de un grupo. adduser user group: aade el usuario user existente al grupo group. groupadd curso

Ejemplo: creacin del grupo curso

Administracin de Quotas Ahora es necesario editar el archivo /etc/fstab y aadir usrquota o grpquota en la particin o particiones en las que nos interese limitar el espacio de almacenamiento. El siguiente ejemplo establece el sistema de cuotas para el uso del directorio /home montado en la particin /dev/hda3: /dev/hda3 /home ext2 defaults,usrquota 1 2 Ahora podemos recopilar la informacin de las particiones donde se haya definido el sistema de cuotas. Podemos usar el comando: /sbin/quotacheck -av Scanning /dev/hda3 [/home] done Checked 215 directories and 2056 files Using quotafile /home/quota.user Updating in-core user quotas Al ejecutar este comando tambin se crea un archivo llamado quota.user o quota.grp en la particin o particiones afectada(s). # ls -la /home/quota.user -rw------- 1 root root 16224 Feb 04 14:47 quota.user Ya est activo el sistema de cuotas y la prxima vez que se inicie el sistema, se activarn automticamente en todas las particiones que se hayan definido. Ya no ser necesario volver a ejecutar manualmente este comando, ya que el sistema lo hara de forma automtica al comprobar y montar cada uno de los sistemas de archivos desde el archivo /etc/rc.d/rc.sysinit. El siguiente paso es definir la cuotas para cada usuario. Para ello existen dos mtodos. El primero consiste en editar la cuota de cada usuario. Por ejemplo, para editar la cuota del usuario antonio, se ejecuta desde el usuario root el comando: # edquota -u antonio Quotas for user antonio: /dev/hda3: blocks in use:15542,limits (soft=0,hard=0) inodes in use: 2139, limits (soft = 0, hard = 0)

40

PROTECO

ADMINISTARCION LINUX

El sistema de cuotas de Linux permite limitar el nmero de bloques y el nmero de i-nodos que un usuario puede tener. Los valores a modificar son los lmites que estn puestos entre parntesis (que ahora valen 0). Ah se puede especificar cualquier cantidad (en Kbytes). Por ejemplo, para limitar la cuota de disco del usuario antonio a 1 Mb, se pondra lo siguiente: Quotas for user antonio: /dev/hda7:blocks in use:18542,limits (soft=1024,hard=1024) inodes in use: 1139, limits (soft = 0, hard = 0) El lmite soft es un lmite de aviso y el lmite hard es un lmite insalvable, es decir, el sistema ya no le asigna ms espacio. De una forma anloga, podramos modificar la cuota de espacio asignada al grupo users con: # edquota -g users Servicio NIS NIS es una base de datos distribuida que reemplaza copias de archivos de configuracin comnmente replicados por un archivo central. En vez de manejar varias copias de archivos como /etc/hosts, /etc/passwd, /etc/group se utiliza una sola copia que es modificada y almacenada en el servidor y es distribuida entre los clientes. No todos los archivos son candidatos a ser almacenados en un servidor central, como es el caso del /etc/fstab ya que su contenido varia mucho de equipo en equipo. NIS trabaja bajo el modelo de cliente - servidor. Bajo NIS un servidor es una mquina que contiene archivos de datos para NIS, llamados mapas. Los clientes son mquinas que piden informacin de esos mapas. Los servidores puede subdividirse an ms en maestros y esclavos. Los servidores maestros son los verdaderos poseedores de los mapas y se encargan de su mantenimiento y distribucin. Los esclavos toman los mapas del servidor y responden preguntas de los clientes (los maestros tambin lo hacen). Una vez que se configura a un cliente para que utilice NIS y el servidor est corriendo, algunos archivos dejan de ser utilizados en su totalidad (como l /etc/hosts) o son complementados por NIS (como l /etc/passwd); Otros en cambio slo son tiles si NIS est funcionando (como el /etc/netroups del cual se hablar ms adelante). Los mapas NIS no son guardados como archivos ASCII. Los mapas son convertidos a un formato binario llamado DBM, por razones de eficiencia en las bsquedas. NIS puede ser utilizado para algo ms que administrar el archivo de password, por ejemplo, se puede crear una base de datos de los telfonos de los empleados de una compaa. Configuracin de un Servidor NIS

41

PROTECO

ADMINISTARCION LINUX

Como regla general, es bueno tener un servidor secundario por cada servidor primario en el sistema (redundancia). Para que NIS y NFS funcionen, necesitamos que el demonio rpc.portmap funcione. En Red Hat est habilitado por omisin en el archivo /etc/rc.d/rc.initd: if [ -f ${NET}/rpc.portmap ]; then echo -n " portmap" ${NET}/rpc.portmap fi Dependiendo de su sistema operativo, deber tener unas lneas similares a estas. Verifique que el demonio se encuentre arriba, y si no crguelo en memoria: leon:/etc/rc.d# ps aux|grep portmap bin 57 0.0 0.3 848 64 ? S May 4 0:01 /usr/sbin/rpc.portmap root 13270 0.0 1.6 936 316 p1 S 17:19 0:00 grep portmap Existe una manera de evitar que usuarios curiosos o mal intencionados abusen del los servicios del portmap en un servidor. Slo hay que agregar una lnea similar a estas en los archivos /etc/hosts.deny y /etc/hosts.allow: En el hosts.deny # Negamos el uso de Portmaper a todo el mundo en el hosts.deny portmap: ALL Y en el hosts.allow: # Todos las maquinas de la red 192.168.1.0 tienen acceso a todos los servicios #Localhost tambin tiene permiso ALL: 127.0.0.1 portmap: 192.168.1.0/255.255.255.0 Todas las recomendaciones que se hagan de aqu en adelante respecto a portmap afectan a NIS y a NFS por igual. Instalacin del software para NIS El software para NIS es altamente dependiente del sistema operativo; por ejemplo, Linux y Solaris traen los demonios y libreras ya precompiladas. Puede obtener una copia de una implementacin de NIS en: ftp://ftp.kernel.org/pub/linux/utils/net/NIS All encontrar varios paquetes y herramientas para otros programas que trabajan con NIS. Configuracin de algunos mapas NIS Netgroup El archivo Netgroup contiene lneas en el siguiente formato: Grupo (maquina, usuario, nombre de dominio)

42

PROTECO

ADMINISTARCION LINUX

El uso de este archivo puede ser confuso ya que puede utilizarse para ampliar otros mapas con su informacin. Por ejemplo, cuando Netgroup es usado para agregar usuarios a un archivo de password, slo se usa el campo de usuario; en cambio, cuando se usa este archivo para crear una lista de mquinas para controlar el acceso a un sistema de archivos montado por NFS slo se usa la informacin de la mquina. En este ejemplo utilizaremos el archivo /etc/netgroups para administrar un grupo de mquinas: maquinas (leon,,), (pantera,,), (tigre,,), (puma,,) usuarios(,jose,), (,luised,), (,www,) Usted tambin puede crear grupos a partir de otros grupos mired maquinas, usuarios Recuerde que el archivo Netgroup slo funciona con NIS. Passwd y group El formato del archivo de password (si no utiliza shadow) es bastante estndar bajo Unix. Dependiendo de la versin de libc que tenga su sistema, este podr utilizar o no el archivo de shadow de manera transparente. Cuando se instala NIS, se puede escoger entre utilizar el archivo de password del servidor (el cual es exportado a su totalidad, excepto si el user id del usuario es menor a cierto nmero, usualmente 207) o un archivo completamente separado. Es cuestin de preferencias, sin embargo en este trabajo usaremos como mapa nis el archivo /var/yp/passwd. La sintaxis del /etc/group se mantiene intacta. El siguiente es un archivo de ejemplo que muestra el formato del archivo /var/yp/passwd: josev:1skbWKsmwU:1001:100:Jose Vicente Nunez Gabaldon,,,:/home/josev:/bin/tcsh luised:g. WKXXrtgsm.2:1002:100:Luis Eduardo Nunez Zuleta,,,:/home/luised:/bin/tcsh yv2bsv:x:1006:100:Cuenta de radio,,,:/home/yv2bsv:/bin/tcsh jose:.tArffWKsmsE:1000:100:Jose Vicente Nunez Zuleta,,,:/home/jose:/bin/tcsh seguridad:WKsm1NHe.my2:1005:100:Seguridad,,,:/home/seguridad:/bi n/tcsh majordomo:EiYcWKsm.my2:1007:2: Majordomo,,,:/usr/local/majordomo:/bin/tcsh www:*:407:101:Usuario del WWW,,,:/dev/null:/dev/null El archivo /var/yp/group quedara de la siguiente manera: www::101:www Configuracin de un servidor maestro NIS NIS utiliza el concepto de dominio al igual que DNS; Sin embargo, ambos dominios son completamente distintos y se recomienda en la

43

PROTECO

ADMINISTARCION LINUX

prctica que su nombre no sea el mismo que el dominio DNS (para evitar que los mapas NIS sean robados utilizando programas como ypx[5]). Un dominio NIS se utiliza para agrupar a un conjunto de mquinas bajo una administracin comn. La forma de definir un dominio NIS es con el comando domainname: tigre:/etc# /bin/domainname dracula Donde "dracula" es el dominio NIS empleado. Normalmente se colocar una lnea similar a esta en el /etc/rc.d/rc.inet o similar para que el cambio sea automtico cada vez que la mquina arranque: if [ -r /etc/defaultdomain ]; then nisdomainname `cat /etc/defaultdomain` fi Modifique el archivo /var/yp/securenets para asegurarse de que slo las mquinas autorizadas puedan obtener los mapas. Guese por el siguiente ejemplo: #Localhost puede todo host 127.0.0.1 # Todas las mquinas de la red 192.168.1.0 pueden acceder a los mapas 255.255.255.0 192.168.1.0 Tanto en el cliente como en el servidor, deber configurar el archivo /etc/yp.conf para que apunte a un servidor NIS. Este archivo se puede dejar vaco y el cliente enviar un broadcast por la red en busca de un servidor que responda; Sin embargo puede ser un hueco de seguridad ya que un atacante puede configurar a una mquina que responda ms rpido (por tener menos carga de trabajo por ejemplo) para que sea servidor NIS y el cliente se conectar a ella cargando, por ejemplo, el archivo de password que el atacante quiere que use. Un ejemplo de configuracin es el siguiente (se puede utilizar una direccin IP si lo desea y puede colocar tantos servidores como desee): # Syntax: # ypserver <Name_of_ypserver> ypserver leon.felinos.ve ypserver leopardo.felinos.ve Si leon.felinos.ve no responde, entonces el cliente intentar con leopardo.felinos.ve El siguiente paso es decirle al servidor que convierta los archivos ASCII en mapas NIS. Para ello edite el archivo /var/yp/Makefile y verifique lo siguiente: Comente la lnea que dice NOPUSH = "True" si piensa utilizar servidores esclavos en su dominio NIS. MINUID controla el valor mnimo de user id que puede aparecer en un mapa NIS. Si el valor MINUID=20 est bien djelo all, sino cmbielo de

44

PROTECO

ADMINISTARCION LINUX

acuerdo a sus necesidades. Si decidi utilizar un archivo de password y group distinto y lo guardo en el directorio /var/yp, entonces modifique la lnea que dice YPPWDDIR = /etc y cmbiela por YPPWDDIR = /var/yp Revise el resto del archivo Makefile por si desea agregar otro mapa. Escriba lo siguiente: leon:/var/yp# /usr/libexec/yp/ypinit -m E indique el nombre de los servidores esclavos del dominio. Si no hay ninguno, o no quiere introducir ms nombres escriba ^D: At this point, we have to construct a list of the hosts which will run NIS servers. leon is in the list of NIS server hosts. Please continue to add the names for the other hosts, one per line. When you are done with the list, type a <control D>. next host to add: leon next host to add: tigre next host to add: The current list of NIS servers looks like this: leon tigre Is this correct? [y/n: y] El programa mostrar algo como esto: NIS Map update started on Sat Jun 13 20:31:40 GMT-4 1998 make[1]: Entering directory `/var/yp/castor' Updating passwd.byname... Updating passwd.byuid... Updating hosts.byname... Updating hosts.byaddr... Updating group.byname... Updating group.bygid... Updating netid.byname... Updating networks.byaddr... Updating networks.byname... Updating protocols.bynumber... Updating protocols.byname... Updating rpc.byname... Updating rpc.bynumber... make[1]: Leaving directory `/var/yp/castor' NIS Map update completed. Despus agregue la siguiente lnea en el archivo /etc/rc.d/rc.inet2 o similar; Luego ejecute al demonio ypserv, ypserv es el demonio que se encarga de distribuir los mapas NIS. # Start servers if [ -d /var/yp ] ; then

45

PROTECO

ADMINISTARCION LINUX

echo "Running ypserv..." /usr/sbin/ypserv fi Verifique que ypserv se puede comunicar con portmaper utilizando a rpcinfo: leon:/var/yp# rpcinfo -u localhost ypserv program 100004 version 1 ready and waiting Debe tener en cuenta que es recomendable que el servidor maestro debe ser cliente de si mismo, as que siga leyendo la seccin de configuracin de cliente para completar la configuracin del servidor. Configuracin de un cliente NIS Despus de editar el archivo /etc/yp.conf, defina el dominio NIS con domainname y luego ejecute el demonio ypbind, el cual har el enlace con el servidor NIS (edite el archivo /etc/rc.d/rc.inet2): if [ -d /var/yp ] ; then echo "Running ypbind..." /usr/sbin/ypbind fi Note que estas lneas deben ir despus de cargar a ypserv si el servidor es maestro o antes si el servidor es esclavo. Ejecute el comando rpcinfo -p localhost o rpcinfo -u localhost ypbind, para ver si ypbind pudo comunicarse con rpc: tigre:/var/yp# rpcinfo -p localhost program vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100005 1 udp 684 mountd 100007 2 udp 694 ypbind 100007 2 tcp 696 ypbind Como prueba, escriba ypcat passwd para ver el contenido del archivo de password. Adicionalmente deber configurar el archivo de password para poder utilizar NIS. Se mostrar a continuacin un ejemplo y el significado de cada lnea: 1.nobody:x:65534:100:nobody:/dev/null: 2.+jose::::::/dev/null 3.-luised:::: 4.+@usuarios 5.+:::::: La lnea 2 agrega la informacin del usuario jose al archivo de password, pero este no podr entrar a la mquina porque el administrador impone que su Shell sea /dev/null. La lnea 3 no permite la introduccin del usuario luised, mientras que la

46

PROTECO

ADMINISTARCION LINUX

lnea 4 habilita a todos los usuarios que estn en el grupo "usuarios". Finalmente la lnea 5 habilita al resto de los usuarios que estn en el archivo de password. Note como el orden es importante, si se hubiera colocado la lnea 3 despus de la 5 est no tendra sentido ya que el usuario luised sera agregado sin ningn problema al archivo de password (la primera regla leda es la que tiene efecto). Para habilitar el archivo de grupo, slo tiene que escribir: +:::::: al final del /etc/group Configuracin de un servidor esclavo NIS Primero que nada el servidor esclavo debe estar configurado como cliente del servidor maestro para poder realizar la transferencia de mapas. Luego se debe ejecutar a ypinit con la opcin -s: tigre:/var/yp# /usr/libexec/yp/ypinit -s leon Cuando se reconstruyen los mapas en el servidor maestro, este slo actualiza los archivos DBM que estn desfasados con respecto a los nuevos archivos ASCII. El servidor entonces distribuye los mapas con ayuda de la herramienta yppush (presente en el archivo Makefile); Sin embargo esa transferencia no siempre funciona, por ejemplo el servidor esclavo puede estar cado en el momento de la transferencia, as que el esclavo utiliza al programa ypxfr para traer los mapas actualizados al servidor. Ypxfr debe volver a construir una copia local de los mapas ya que el formato de la base de datos puede ser distinto en el servidor. Se recomienda colocar las siguientes lneas en el crontab del servidor esclavo para que este verifique de manera peridica por cambios en los mapas9: 20 * * * * /usr/libexec/yp/ypxfr_1perhour 40 6 * * * /usr/libexec/yp/ypxfr_1perday 55 6,18 * * * /usr/libexec/yp/ypxfr_2perday Configuracin de yppasswdd en el servidor maestro La excepcin al comportamiento de actualizacin anterior es el archivo de password, el cual debe poder ser actualizado sin problemas en "tiempo real". Para ello el usuario utiliza la herramienta yppasswd10 para cambiar atributos en el archivo de password y el servidor maestro utiliza al demonio yppasswd para efectuar los cambios. En nuestro caso el archivo de password se encuentra en /var/yp y no en /etc por lo que hay que indicrselo al demonio rpc.yppasswdd: # Start servers if [ -d /var/yp ] ; then echo "Running ypserv..." /usr/sbin/ypserv echo "Running yppasswdd..."

47

PROTECO

ADMINISTARCION LINUX

/usr/sbin/rpc.yppasswdd -D /var/yp fi El usuario slo tiene que escribir lo siguiente para cambiar su password: tigre[59] Si maestro? yppasswd Changing password for jose on leon. Changing NIS password for jose. Old password: New password: Retype new password: The NIS password has been changed on leon. tigre[60] Si maestro? Recuerde escoger un password seguro, no utilice informacin obvia como su fecha de cumpleaos y trate de que tenga incluidos caracteres alfanumricos. Herramientas comunes bajo NIS Ypmatch Ypmatch permite encontrar una clave dentro de un mapa NIS. Por ejemplo, busquemos al usuario www dentro del mapa passwd: tigre:/etc# ypmatch www passwd www:*:407:101:Usuario del WWW,,,:/dev/null:/dev/null

48

PROTECO

ADMINISTARCION LINUX

Busquemos al la clave usuarios dentro del mapa netgroup: tigre:/etc# ypmatch usuarios netgroup (,jose,), (,josev,), (,luised,), (,calzul,) Ypcat Permite mostrar el contenido de un mapa NIS. Si se utiliza con la opcin -k, se muestra tambin la clave asociada, adems de su valor: tigre:~# ypcat netgroup (,jose,), (,josev,), (,luised,), (,calzul,) (leon,,), (pantera,,), (tigre,,), (puma,,) tigre:~# ypcat -k netgroup usuarios (,jose,), (,josev,), (,luised,), (,calzul,) castor (leon,,), (pantera,,), (tigre,,), (puma,,) tigre:~# Para ver la lista de servidores NIS escriba lo siguiente: tigre:~# ypcat ypservers tigre leon tigre:~# Diagnostico bsico de problemas en NIS Las herramientas nombradas con anterioridad sirven para realizar el diagnstico de problemas bajo NIS. Si estas retornan un mensaje de error diciendo que no pueden conectarse con el servidor puede deberse a las siguientes causas: Fallo de conectividad en la red. El demonio rpc.portmap no est corriendo en el servidor. Si portmap se queja que el programa no est registrado, entonces falta por correr a ypserv en el servidor. Verifique que ypbind se puede comunicar con el servidor utilizando a ypwhich: tigre:~# ypwhich leon.felinos.ve tigre:~# ypwhich -m mail.aliases leon netgroup.byuser leon netgroup.byhost leon netgroup leon services.byname leon rpc.bynumber leon rpc.byname leon protocols.bynumber leon networks.byname leon networks.byaddr leon netid.byname leon

49

PROTECO

ADMINISTARCION LINUX

group.bygid leon group.byname leon hosts.byaddr leon hosts.byname leon passwd.byname leon protocols.byname leon ypservers leon passwd.byuid leon Ypwhich informa a que servidor esta conectado el cliente NIS, la opcin -m dice cuales son los mapas que tiene el servidor dado. Ypwhich con la opcin -x muestra que alias existen para los mapas del servidor: leon:/usr/src/ypserv-1.3.2# ypwhich -x Use "ethers" for map "ethers.byname" Use "aliases" for map "mail.aliases" Use "services" for map "services.byname" Use "protocols" for map "protocols.bynumber" Use "hosts" for map "hosts.byaddr" Use "networks" for map "networks.byaddr" Use "group" for map "group.byname" Use "passwd" for map "passwd.byname"

50

PROTECO

ADMINISTARCION LINUX

PROCESOS Un proceso es una instancia de un programa en ejecucin. En Linux se ejecutan muchos procesos de forma concurrente aunque realmente slo uno accede al procesador en un instante de tiempo determinado. Esto en esencia es lo que caracteriza a los sistemas multitarea. Cada proceso en el momento de su creacin se le asocia un nmero nico que lo identifica del resto. Adems a un proceso estn asociadas otras informaciones tales como:

El usuario que lo ejecuta. La hora en que comenz. La lnea de comandos asociada. Un estado. Ejemplos: sleep, running, zombie, stopped, etc. Una prioridad que indica la facilidad del proceso para acceder a la CPU). Oscila entre -20 y 19, donde -20 es la mayor prioridad. La terminal donde fue invocado, para el caso de que este asociado a alguna terminal.

Para ver los procesos y sus caractersticas se emplea el comando ps. Una salida tpica de este comando es: PID TTY 1035 pts/0 1831 pts/0 TIME CMD 00:00:14 bash 00:00:00 ps

Como puede apreciarse para cada proceso se muestra su ID, la terminal donde se invoc, el tiempo de CPU que se le ha asignado hasta el momento y el comando que lo desencaden. Por defecto ps muestra en formato reducido los procesos propios del usuario y la terminal actual. Algunas opciones: x: a: muestra todos los procesos del usuario actual sin distincin de terminal. muestra todos los procesos de todos los usuarios.

51

PROTECO

ADMINISTARCION LINUX

f: e: l: u: muestra las relaciones jerrquicas entre los procesos. muestra el entorno de cada proceso. utiliza un formato ms largo (muestra ms informacin).

utiliza un formato orientado a usuario. --cols=<n> : permite ajustar el tamao de cada lnea de la salida a n caracteres ya que por defecto es el ancho de la terminal. Ejemplos: $ ps axu $ ps e --cols=600 $ ps xf Otro comando para ver el estado de los procesos en ejecucin es top, que permite hacerlo dinmicamente. top es ms bien un programa interactivo con el cual se pueden observar los procesos ms consumidores de CPU por defecto. Este comportamiento se puede modificar tecleando: M: P: N: A: ordenar segn el empleo de la memoria. ordenar segn el empleo de la CPU. ordenar por ID. ordenar por antigedad. Para observar todos los posibles comandos durante la interaccin con top se puede pulsar ``h''. Para salir se presiona q. El programa top muestra adems algunas estadsticas generales acerca del sistema:

La hora actual y en la que se inici el sistema. La cantidad de usuarios conectados. Los promedios de carga de la CPU en los ltimos uno, cinco y quince minutos transcurridos. Un resumen estadstico de la cantidad de procesos en ejecucin y su estado (sleeping, running, zombie y stopped).

52

PROTECO

ADMINISTARCION LINUX

Un resumen del empleo de la memoria fsica y virtual (swap).

Los tres primeros aspectos se pueden ver tambin con el comando uptime y el ltimo con free. CONTROL DE LOS PROCESOS EN BASH El shell bash permite ejecutar los procesos en foreground o background. Los primeros son nicos por terminal y es la forma en que se ejecuta un proceso por defecto. Solo se retorna al prompt una vez que el proceso termine, sea interrumpido o detenido. En cambio, en background pueden ejecutarse muchos procesos a la vez asociados a la misma terminal. Para indicar al shell que un proceso se ejecute en background, se utiliza la construccin: <lnea de comando> & Ejemplo: # updatedb & Para modificar el estado de un proceso en foreground desde bash existen dos combinaciones de teclas muy importantes que este interpreta:

Ctrl-c : trata de interrumpir el proceso en foreground. Si es efectivo, el proceso finaliza su ejecucin. Ctrl-z : trata de detener el proceso en foreground. Si es efectivo el proceso continua activo aunque deja de acceder al procesador.

Para ver los procesos detenidos o en background en un shell se emplea el comando integrado a bash jobs, que mostrar una lista con todos los procesos en dichos estados mediante los comandos asociados y un identificador numrico especial. Ejemplo: # jobs [1] Running sleep 10000 & [2]- Stopped cp /var/log/messages /tmp [3]+ Stopped updatedb Los procesos detenidos se pueden llevar al background y estos a su vez pueden trasladarse al foreground. Para ello se emplean respectivamente los comandos integrados al bash: bg y fg, pasndoles como argumento el identificador especial del proceso. Si no se especifica un argumento se asumir el trabajo marcado con un signo ``+'' que sera el ltimo detenido o llevado al background.

53

PROTECO

ADMINISTARCION LINUX

Ejemplos: $ bg 2 [2]- cp /var/log/messages /tmp & $ fg cp /var/log/messages /tmp Si se comenzara a ejecutar un proceso y este se demora mucho y no interesan por el momento sus resultados se puede detener y enviarlo al background haciendo Ctrl-z y luego, bg. COMUNICACIN CON LOS PROCESOS Un comando muy til para interactuar con los procesos es kill. Este permite enviarles seales con significados muy diversos. Los programas o comandos deben estar preparados para atrapar y tratar estas seales, al menos las ms importantes. Existen muchos tipos de seales, para verlas se puede hacer: $ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO ... $ kill -l 9 KILL Sintaxis: kill -l [seal] kill [-s seal] <id> kill [-seal] <id> Por defecto kill enva la seal TERM que indica al proceso que debe terminar. La seal 9 o KILL lo finaliza forzosamente. La seal HUP es interpretada por muchos comandos y programas como una indicacin de que relean los ficheros de configuracin correspondientes. Si en lugar de un identificador vlido de proceso se llama a kill con -1 se enviar la seal correspondiente a todos los procesos con identificador

54

PROTECO

ADMINISTARCION LINUX

mayor que dos4.1 en dependencia de los privilegios del usuario. Ejemplos: $ kill 1000 # enva la seal 15 (TERM) al proceso 1000 $ kill -s 9 10101 # enva la seal 9 (KILL) al proceso 10101 $ kill -4 18181 # enva la seal 4 (ILL) al proceso 18181 # kill -HUP 199 # enva la seal HUP al proceso 199 $ kill %2 # enva la seal 15 (TERM) al trabajo 2 (en background o detenido) # kill -1 -1 # enva la seal 1 (HUP) a todos los procesos con identificador mayor que uno Tambin existe killall que permite enviar seales a los procesos a travs de sus nombres. A diferencia del ID, el nombre de un proceso no es nico, o sea pueden existir muchos procesos con el mismo nombre y de ah la utilidad de este comando. Sintaxis: killall [opciones] [-seal] <nombre> Algunas opciones: -i : -v : forma interactiva. Pregunta para cada proceso si se desea enviar la seal o no. reporta si fue exitoso el envo de la seal.

Ejemplo: $ killall -9 netscape PRIORIDADES DE LOS PROCESOS En Linux existe la posibilidad de iniciar los procesos con prioridades distintas a las asignadas por parte del sistema. Para ello se puede emplear el comando nice. Este al invocarse sin argumentos imprime la prioridad asignada por defecto a los procesos del usuario actual. La otra forma de emplear a nice es indicando la nueva prioridad precedida del signo ``-'' y la lnea de comando que desencadena el proceso. Si no se indicara la prioridad se incrementa en 10 la por defecto. Slo el usuario root puede asignar a sus procesos prioridades con valores inferiores a cero. Ejemplos: # nice tar cvf /tmp/etc.tgz /etc # incrementa en 10 la prioridad por defecto del comando

55

PROTECO

ADMINISTARCION LINUX

# nice -10 updatedb 10 10 # nice --10 updatedb

# ejecuta un comando con prioridad # ejecuta un comando con prioridad -

Si se deseara reajustar la prioridad de un proceso ya en ejecucin se puede utilizar a renice. A este se le indican como argumentos la nueva prioridad y el identificador numrico del proceso (pueden ser varios). En este caso el valor de la prioridad no va precedido por el signo ``-'' como es en nice. Tambin se puede cambiar la prioridad de todos los procesos de uno o de varios usuarios a la vez. Ejemplos: # renice -19 1001 # ajusta la prioridad de un proceso a -19 # renice 1 602 # ajusta la prioridad de un proceso a 1 # renice 10 -u pepe # ajusta a 10 la prioridad de todos los procesos del usuario pepe # renice 5 -g ppp uucp # ajusta a 5 la prioridad de todos los procesos de los usuarios miembros # de los grupos ppp y uucp Las prioridades de los procesos slo se pueden disminuir, nunca aumentar con excepcin de root que puede hacerlo indistintamente. Los procesos de los usuarios, por defecto, se asocian a la terminal actual. Es en ella donde muestran su salida estndar si esta no ha sido redireccionada. Si la sesin en una terminal termina, los procesos activos asociados a esta recibirn la seal HUP. En caso de que no trataran dicha seal se les enviar la seal TERM y por ltimo, KILL. Para evitar este tratamiento por parte del sistema se puede emplear el comando nohup que ejecuta un comando cuyo proceso no recibir la seal HUP correspondiente, una vez terminada la sesin. Por defecto nohup reduce la prioridad del proceso en 5 y enva su salida a un fichero llamado nohup.out. Ejemplo: $ nohup gran_calculo & $ logout REFERENCIAS 1.- Matt Welsh. Linux: Instalacin y Primeros Pasos. Versin en castellano1.1.2, 15 Abril de 1999.

56

PROTECO

ADMINISTARCION LINUX

2.- Lars Wirzenius The Linux System Administrators' Guide. 3.- Olaf Kirch The Linux Network Administrators' Guide. 4.- AEleen Frisch and Associates, 1991. Essential System Administration. O'Reilly

5.- Niall Mansfield The X Window System: A User's Guide. Addison-Wesley 6.- Craig Hunt TCP/IP Network Administracin. O'Reilly and Associates, 1990 7.- Brian Ward. The Linux Problem Solver. No Starch Press, 2000. 8.- M. Beck et al. Linux Kernel Internal. Addison Wesley 1998. 9.- Richard Petersen. Linux Manual de Referencia. Osborne McGraw Hill (1997). 10.- Lowell Jay, et al. Unix Shell Programming. John Wiley and Sons,Inc. (1997). 11.- Kenneth H. Rosen, et al. Unix Sistema V versin 4. Osborne McGraw Hill (1997). Revistas: - L INUX J OURNAL

Sitios web de inters: ftp://sunsite.unc.edu en el directorio /pub/Linux/docs/LDP http://www.redhat.com http://www.linux.org http://lucas.hispalinux.es http://www.suse.com http://www.linux-mandrake.com

57

Вам также может понравиться