Sunteți pe pagina 1din 111

UNIVERSIDAD TECNOLGICA DE PUEBLA TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Sistemas Operativos 2010


Alejandra Villalva Rojas Ana Mara Rosas Hernndez Jos David Alans Urquieta Eric No Prez Osorno Nlida Alicia Casas Reyes

Mayo-Agosto 2010

Sistemas Operativos

2010

NDICE I FUNDAMENTOS DEL SISTEMA OPERATIVO 1.1 Introduccin 1.2 Evolucin de los sistemas operativos 1.2.1 Los primeros sistemas 1.2.2 Sistemas por lotes multiprogramados 1.2.3 Sistemas de tiempo compartido 1.2.4 Sistemas de Computador Personal 1.2.5 Sistemas paralelos 1.2.6 Sistemas Distribuidos 1.3 Caractersticas de los sistemas operativos 1.3.1 Gestin de procesos 1.3.2 Gestin de la memoria principal 1.3.3 Gestin de archivos 1.3.4 Gestin del sistema de E/S 1.3.5 1.4 Clasificacin de los sistemas operativos 1.3.6 Clasificacin de los sistemas operativos 2 2 3 3 4 5 5 6 7 8 8 9 9 10

II INSTALACIN DE UN SISTEMA OPERATIVO ( Basado en LINUX). 2.1 Requerimientos del Sistema Linux 2.2 Procedimiento de instalacin caso CentoS 4,2 2.3 Esquema de particiones 2.4 Gestores de arranque PC 2.5 Pginas de otros Sistemas Operativos Linux

16 16 18 29 30 31

III COMANDOS BASICOS DE LOS SISTEMAS OPERATIVOS 3.1 Comandos bsicos 3.2 Comandos para el manejo y organizacin de archivos y directorios 3.2.1 Concepto de archivo 3.2.2 Sistemas archivos 3.2.3 Directorios 3.2.4 El sistema de archivos de LINUX 3.2.5 Comandos para el manejo de directorios 3.2.6 Comandos para el majeo de archivos 3.3 Comandos para el manejo de procesos 3.3.1 Definicin de proceso

32 32 37 37 38 40 40 43 44 62 62

Sistemas Operativos

2010

3.3.2 ID de un proceso 3.3.3 Estados de un proceso 3.3.4 Comandos relacionados con la ejecucin de procesos 3.3.5 Redireccionamiento de entrada y salida estndar 3.3.6 Conexin de procesos mediante tuberas 3.3.7 Procesamiento en segundo plano 3.4 Editor vi 3.4.1 Modo comando 3.4.2 Modo de insercin 3.4.3 Modo ejecucin de comandos 3.5 Administracin de cuentas y grupos de usuarios 3.5.1 Comandos relacionados con la administracin de cuentas y grupos de usuarios

63 64 65 68 70 70 71 72 73 74 79 83

IV SERVICIOS DE RED 4.1 Herramientas de administracin de los servicios 4.1.1. Herramienta de configuracin de servicios 4.1.2 ntsysv 4.1.3 chkconfig 4.2 Servicio de impresin 4.3 Servicio web 4.3.1 Estndares empleados 4.3.2 Ventajas de los servicios web 4.3.3 Archivos de configuracin de Apache 4.4 Servidor de correo electrnico: SENDMAIL 4.4.1 Comando mail 4.5 Compartir recursos entre diferentes sistemas operativos 4.5.1 Compartir Recursos en Red con Samba 4.5.2 Instalacin y Configuracin 4.5.3 Impresoras en Samba 4.5.4 Compartiendo directorios a travs de Samba 4.6 Servicio de acceso remoto 4.6.1 Conexin a un servidor remoto usando ssh Fuentes Bibliogrficas

85 85 86 88 89 90 93 93 94 94 95 96 98 98 98 100 101 107 107 109

Sistemas Operativos

2010

UNIDAD 1 FUNDAMENTOS DEL SISTEMA OPERATIVO 1.1 Introduccin Un sistema operativo es un programa que acta como intermediario entre el usuario de un computador y el hardware del computador. El propsito de un sistema operativo es crear un entorno en el que el usuario pueda ejecutar programas de forma cmoda y eficiente. Un sistema operativo es una parte importante de casi todos los sistemas de cmputo. stos ltimos se pueden dividir a grandes rasgos en cuatro componentes: el hardware, el sistema operativo, los programas de aplicacin (o del usuario) y los usuarios

Figura 1.1 Perspectiva abstracta de los componentes de un sistema operativo

Un sistema operativo es similar a un gobierno. Los componentes de un sistema de computador son su hardware, software y datos. El sistema operativo proporciona los medios para aprovechar adecuadamente esos recursos durante el funcionamiento del sistema de computador. Al igual que un gobierno, el sistema operativo no desempea ninguna funcin til por s solo; se limita a crear un entorno dentro del que otros pueden realizar un trabajo til. Podemos ver al sistema operativo como un asignador de recursos. Un sistema de computacin tiene muchos recursos (hardware y software) que pueden ser necesarios para resolver un problema: tiempo de CPU, espacio de memoria, espacio para almacenamiento
Pgina 2

Sistemas Operativos

2010

de archivos, dispositivos de E/S, y dems. El sistema operativo acta como gestor de dichos recursos y los asigna a programas y usuarios especficos segn los necesiten para sus tareas. Dado que puede haber muchas solicitudes de recursos que tal vez no se puedan satisfacer simultneamente, el sistema operativo debe decidir cules solicitudes atender asignando recursos para operar el sistema de computacin de manera eficiente y justa.

1.2 Evolucin de los sistemas operativos Los sistemas operativos han evolucionado en los ltimos aos, a continuacin se presenta una resea histrica que destaca diferencias y similitudes entre los sistemas:

1.2.1 Los primeros sistemas Los primeros computadores eran mquinas con un tamao (fsico) enorme que se ejecutaban desde una consola. El programador, que tambin era el operador del sistema de computacin, escriba un programa y luego operaba el programa directamente desde la consola del operador. Primero, el programa se cargaba manualmente en la memoria usando los interruptores del tablero frontal (una instruccin a la vez), desde cinta de papel o desde tarjetas perforadas. Luego se opriman los botones apropiados para establecer la direccin de inicio y poner en marcha la ejecucin del programa. Mientras el programa se ejecutaba, el programador/operador poda vigilar su ejecucin gracias a las luces de la consola. Si se descubran errores, programador poda detener el programa, examinar el contenido de la memoria y los registros, y depurar el programa directamente desde la consola. Las salidas se impriman o se perforaban en cinta de papel o tarjetas para imprimirse posteriormente. El tiempo de preparacin del trabajo era un verdadero problema. Mientras se estaban montando cintas o el programador estaba operando la consola, la CPU permaneca ociosa. Adems estaban los costos de operacin de electricidad, enfriamiento, programadores, y dems. Por tanto, el tiempo de computador era extremadamente valioso, y los dueos queran que sus computadoras se usaran lo ms posible. La solucin tuvo dos aspectos: primero, se contrat un operador de computador profesional, el programador ya no operaba la mquina. Tan pronto como terminaba un trabajo, el operador poda iniciar el siguiente, debido a su mayor experiencia, el tiempo se redujo. El segundo ahorro de tiempo considerable implic la reduccin del tiempo de preparacin. Los trabajos con necesidades similares se agrupaban en lotes y se ejecutaban juntos en el computador. Por ejemplo, supongamos que el operador reciba un trabajo en FORTRAN, uno en COBOL y otro en FORTRAN. Si los ejecutaba en ese orden, tendra que preparar el sistema para FORTRAN (cargar las cintas del compilador, etc.),
Pgina 3

Sistemas Operativos

2010

luego para COBOL y luego otra vez para FORTRAN. En cambio, el operador ejecutaba los dos programas FORTRAN como un lote y el de COBOL como un lote diferente.

Figura 1.2 Conjunto de tarjetas para un sistema por lotes sencillo

1.2.2 Sistemas por lotes multiprogramados El spooling da origen a una importante estructura de datos: la reserva de trabajos. Como resultado del spooling, puede haber varios trabajos ya ledos esperando en el disco, listos para ejecutarse. Al tener reserva de trabajos en disco, el sistema operativo puede escoger cul trabajo ejecutar a continuacin, a fin de mejorar el aprovechamiento de la CPU. Si varios trabajos estn en un dispositivo de acceso directo, como un disco, es posible la planificacin de trabajos. El aspecto ms importante de la planificacin de trabajos es la capacidad de multiprogramar. La idea es la siguiente: El sistema operativo, mantiene varios trabajos en la memoria a la vez (Figura 1.3). Este conjunto de trabajos es un subconjunto de los que se mantienen en la reserva de trabajos. El sistema operativo escoge uno de los trabajos que estn en la memoria y comienza a ejecutarlo. Tarde o temprano, el trabajo tendr que esperar mientras se lleva a cabo alguna tarea, como el montaje de una cinta o la terminacin de una operacin de E/S. En un sistema sin multiprogramacin, la CPU estara ociosa. En un sistema multiprogramado, el sistema operativo simplemente selecciona otro trabajo y lo ejecuta. Cuando ese trabajo necesita esperar, la CPU se conmuta a otro trabajo, y as sucesivamente. En algn momento, el primer trabajo terminar su espera y recuperar la CPU, que nunca estar ociosa mientras haya algn trabajo que ejecutar.

Pgina 4

Sistemas Operativos

2010

Figura 1.3 Organizacin de la memoria en un sistema multiprogramado

1.2.3 Sistemas de tiempo compartido Los sistemas por lotes multiprogramados proporcionan un entorno en el que los distintos recursos del sistema (CPU, memoria, dispositivos perifricos) se aprovechan de manera efectiva. No obstante, tienen ciertos problemas desde el punto de vista del usuario, por ejemplo que el programador no puede modificar un programa durante su ejecucin a fin de estudiar su comportamiento. El tiempo compartido, o multitareas, es una extensin lgica de la multiprogramacin. Se ejecutan mltiples trabajos mientras la CPU se conmuta entre ellos, pero la conmutacin es tan frecuente que los usuarios pueden interactuar con cada programa durante la ejecucin. La idea del tiempo compartido se demostr ya en 1960, pero dada la dificultad y el costo de construir tales sistemas, apenas se hicieron comunes a principios de la dcada de 1970. A medida que ha crecido la popularidad del tiempo compartido, los investigadores han intentado fusionar los sistemas por lotes y de tiempo compartido. Muchos sistemas de computador que se disearon primordialmente para como sistemas por lotes se han modificado para crear un subsistema de tiempo compartido. Por ejemplo, el OS/360 de IBM, un sistema por lotes, se modific para apoyar la opcin de tiempo compartido (TSO, Time Sharing Option). Al mismo tiempo, son varios los casos de sistemas de tiempo compartido a los que se ha aadido un subsistema por lotes. Hoy da, la mayora de los sistemas ofrecen tanto procesamiento por lotes como tiempo compartido, aunque su diseo y uso bsico tiende a ser de un tipo o del otro.

1.2.4. Sistemas de Computador Personal Con la cada en los costos del hardware, ha vuelto a ser factible tener un sistema de computacin dedicado a un solo usuario. Estos tipos de sistemas se conocen como computadores personales (PC, personal computer). No hay duda de que los dispositivos de E/S han cambiado: los tableros de interruptores y los lectores de tarjetas han sido
Pgina 5

Sistemas Operativos

2010

reemplazados por teclados tipo mquina de escribir y ratones. Las impresoras de lneas y perforadoras de tarjetas han cedido el paso a pantallas e impresoras pequeas y rpidas. Las computadoras personales aparecieron en la dcada de 1970. Se trata de minicomputadoras mucho ms pequeas y econmicas que los sistemas de macrocomputador (mainframes). Durante su primera dcada, las CPU de los PC carecan de las funciones necesarias para proteger el sistema operativo de los programas de usuario. No obstante, los objetivos de estos sistemas operativos han cambiado con el tiempo; en lugar de maximizar el aprovechamiento de la CPU y los perifricos, los sistemas optan por maximizar la comodidad del usuario y la rapidez con que responden a sus necesidades. Estos sistemas incluyen los PC que ejecutan Microsoft Windows y el Apple Macintosh.

1.2.5 Sistemas paralelos La tendencia actual es hacia los sistemas multiprocesador. Tales sistemas tienen ms de un procesador en comunicacin ntima, los cuales comparten el bus del computador, el reloj y a veces la memoria y los dispositivos perifricos. Estos sistemas estn fuertemente acoplados. Una ventaja de construir estos sistemas es el aumento en el rendimiento. Al incrementar el nmero de procesadores, esperamos realizar ms trabajo en un tiempo ms corto. Sin embargo la proporcin de aumento de la velocidad con n procesadores no es n, sino ms bien menor que n. Cuando varios procesadores cooperan para llevar a cabo una tarea, se incurre en cierto gasto extra para mantener todos los componentes funcionando correctamente. Este gasto extra, aunado a la contencin por los recursos compartidos, reduce la ganancia que cabra esperar de los procesadores adicionales. Los sistemas de mltiple procesador ms comunes en la actualidad siguen el modelo de multiprocesamiento simtrico, en el que cada procesador ejecuta una copia idntica del sistema operativo, y estas copias se comunican entre s cuando es necesario. Algunos sistemas utilizan multiprocesamiento asimtrico, en el que a cada procesador se asigna una tarea especfica. Un procesador maestro controla el sistema; los dems procesadores obtienen sus instrucciones del maestro o bien tienen tareas predefinidas. Este esquema define una relacin maestro-esclavo. El procesador maestro planifica y asigna trabajo a los procesadores esclavos. Un ejemplo de sistema con multiprocesamiento simtrico es la versin encor de UNIX para el computador Multimax. Este computador puede configurarse de modo que utilice docenas de procesadores, todos los cuales ejecutan una copia de UNIX. La ventaja de este modelo es que muchos procesos pueden ejecutarse simultneamente (N procesos si hay N CPU) sin que haya deterioro del desempeo.

Pgina 6

Sistemas Operativos

2010

Es importante darse cuenta de que la diferencia entre multiprocesamiento simtrico y asimtrico puede deberse al hardware o al software. Podra existir hardware especial para diferenciar los mltiples procesadores, o podra escribirse software que permita un solo maestro y varios esclavos. Por ejemplo, el sistema operativo de Sun, SunOS versin 4, ofrece multiprocesamiento asimtrico, mientras que la versin 5 (Solaris 2) es simtrica.

1.2.6 Sistemas distribuidos En contraste con los sistemas fuertemente acoplado, los procesadores no comparten la memoria ni el reloj. En vez de ello, cada procesador tiene su propia memoria local. Los procesadores se comunican entre s a travs de diversas lneas de comunicacin, como buses de alta velocidad o lneas telefnicas. Solemos decir que tales sistemas estn dbilmente acoplados o distribuidos. Las razones para construir sistemas distribuidos son: Recursos compartidos: un sistema distribuido ofrece mecanismos para compartir archivos en sitios remotos, procesar informacin de una base de datos distribuida, imprimir archivos en sitios remotos, usar equipos especializados remotos, etc. Computacin ms rpida: un sistema distribuido distribuye el clculo entre diferentes sitios y lo ejecuta de forma concurrente. Confiabilidad: si un sitio de un sistema distribuido falla, los sitios restantes podran seguir funcionando. Comunicacin: si muchos sitios estn conectados a travs de una red de comunicaciones, los procesos de diferentes sitios tienen la oportunidad de intercambiar informacin.

1.2.7 Sistemas de tiempo real Se usa cuando los requisitos de tiempo de la operacin de un procesador o del flujo de datos son estrictos; por ello, a menudo se utilizan como dispositivos de control en aplicaciones dedicadas. Los sensores envan datos al computador, el cual debe analizar estos datos y posiblemente ajustar controles a fin de modificar las entradas de los sensores. Hay dos tipos de sistemas de tiempo real. Un sistema de tiempo real duro garantiza que las tareas crticas se terminarn a tiempo. Este objetivo requiere que todos los retardos del sistema estn limitados, desde la obtencin de datos almacenados hasta el tiempo que el sistema operativo tarda en atender cada solicitud que se le presenta. Tales restricciones de tiempo determinan los recursos que estn disponibles en este tipo de sistemas. El almacenamiento secundario de cualquier ndole suele estar limitado o ausente, y los datos se almacenan de preferencia en memoria de corto plazo o en memoria de slo lectura ROM. Tambin est ausente la mayor parte de las funciones avanzadas de los sistemas
Pgina 7

Sistemas Operativos

2010

operativos, ya que tienden a separar al usuario an ms del hardware, y tal separacin causa incertidumbre acerca del tiempo que una operacin tarda. Un tipo menos restrictivo es el sistema de tiempo real blando, en el que una tarea de tiempo real crtica goza de prioridad hasta que se lleva a cabo. Al igual que los sistemas de tiempo real duros, es preciso limitar los retardos del ncleo: no es posible mantener a una tarea de tiempo real esperando indefinidamente a que el ncleo la ejecute. En vista de que no apoyan el cumplimiento estricto de plazos, es riesgoso utilizarlos en control industrial y robtica, aunque hay varias reas en las que pueden ser tiles, como multimedia, realidad virtual y proyectos cientficos avanzados como la exploracin submarina y planetaria.

1.3 Caractersticas de los sistemas operativos Un sistema operativo crea el entorno en el que se ejecutan los programas. Los sistemas operativos varan mucho en su estructura interna, pues se organizan segn muchas filosofas de distintas. El diseo de un sistema operativo es una tarea de gran magnitud. Es importante definir bien los objetivos del sistema antes de iniciar el diseo. Aunque no todos los sistemas operativos tienen la misma estructura, muchos sistemas modernos comparten el objetivo de apoyar los tipos de componentes del sistema que se bosquejan en las siguientes secciones.

1.3.1. Gestin de procesos Un programa no puede hacer nada si la CPU no ejecuta sus instrucciones. Podemos pensar en un proceso como una porcin de un programa en ejecucin o todo el programa. Un proceso necesita ciertos recursos, incluidos tiempos de CPU, memoria, archivos y dispositivos de E/S, para llevar a cabo su tarea. Estos recursos se otorgan al proceso en el momento en que se crea, o bien se le asignan durante su ejecucin. Adems de los diferentes recursos fsicos y lgicos que un proceso obtiene cuando se le crea, podran pasrsele algunos datos de inicializacin (entradas). Un programa por s solo no es un proceso; un programa es una entidad pasiva, como el contenido de un archivo almacenado en disco, mientras que un proceso es una entidad activa, con un contador de programa que especifica la siguiente instruccin por ejecutar. La CPU ejecuta una instruccin del proceso tras otra, hasta que el proceso termina. Adems en cualquier instante dado, se ejecuta cuando ms una instruccin para el proceso. As, aunque haya dos procesos asociados al mismo programa, se considerarn como dos secuencias de ejecucin individuales.

Pgina 8

Sistemas Operativos

2010

El sistema operativo se encarga de las siguientes actividades relacionadas con la gestin de procesos: Crear y eliminar procesos tanto de usuarios como del sistema Suspender y reanudar procesos Proveer mecanismos para la sincronizacin de procesos Proveer mecanismos para la comunicacin entre procesos Proveer mecanismos para manejar bloqueos mutuos (deadlocks)

1.3.2 Gestin de la memoria principal La memoria principal es crucial para el funcionamiento de un sistema de computacin moderno. La memoria principal es una matriz grande de palabras o bytes, cuyo tamao va desde cientos de miles hasta cientos de millones. Cada palabra o byte tiene su propia direccin. La memoria principal es un depsito de datos a los que se puede acceder rpidamente y que son compartidos por la CPU y los dispositivos de E/S. El procesador central lee instrucciones de la memoria principal durante el ciclo de obtencin de instrucciones, y lee y escribe datos de la memoria principal durante el ciclo de obtencin de datos. A fin de mejorar tanto el grado de utilizacin de la CPU como la rapidez con que el computador responde a sus usuarios, es necesario mantener varios programas en la memoria. Hay muchos esquemas de gestin de memoria distintos que reflejan diversas estrategias, y la efectividad de los diferentes algoritmos depende de la situacin especfica. La seleccin de un esquema de gestin de memoria para un sistema en particular depende de muchos factores, pero sobre todo del diseo del hardware del sistema. El sistema operativo se encarga de las siguientes actividades de gestin de memoria: Saber cules partes de la memoria se estn usando actualmente y quin las est usando. Decidir cules procesos se cargarn en la memoria cuando se disponga de espacio. Asignar y liberar espacio de memoria segn se necesite.

1.3.3 Gestin de archivos La gestin de archivos es uno de los componentes ms visibles de un sistema operativo. Los computadores pueden almacenar informacin en varios tipos distintos de medios fsicos. Los medios ms comunes son cinta magntica, disco magntico y disco ptico. Cada uno de stos tiene sus propias caractersticas y organizacin fsica y cada medio se controla con un dispositivo como una unidad de disco que tiene caractersticas distintas y

Pgina 9

Sistemas Operativos

2010

nicas. Estas propiedades incluyen la rapidez, capacidad, taza de transferencia de datos y mtodo de acceso (secuencial o aleatorio). El sistema operativo implementa el concepto abstracto de archivo administrando los medios de almacenamiento masivo y los dispositivos que los controlan. Adems los archivos normalmente se organizan en directorios con objeto de facilitar su uso. Por ltimo, si varios usuarios tienen acceso a los archivos, podra ser deseable controlar quin y de qu modo puede acceder a los archivos. El sistema operativo se encarga de las siguientes actividades relacionadas con la gestin de archivos: Crear y eliminar archivos. Crear y eliminar directorios. Proveer las primitivas para manipulacin de archivos y directorios. Establecer la correspondencia de los archivos con el almacenamiento secundario. Resguardar los archivos en medios de almacenamiento estables (no voltiles).

1.3.4 Gestin del sistema de E/S Uno de los objetivos de un sistema operativo es ocultar las peculiaridades de dispositivos de hardware especficos de modo que el usuario no las perciba. Por ejemplo, en UNIX, el subsistema de E/S oculta las peculiaridades de los dispositivos de E/S del resto del sistema operativo mismo. Dicho subsistema consiste en: Un componente de gestin de memoria que incluye el uso de buffers, cach y spool. Una interfaz general con los controladores de dispositivos. Drivers (Controladores de software) para dispositivos de hardware especfico.

Slo el driver del dispositivo conoce las peculiaridades del dispositivo especfico al que est asignado.

1.4 Clasificacin de los sistemas operativos Un sistema operativo moderno puede ser tan grande y complejo que debe ser diseado con mucho cuidado para que funcione correctamente y sea fcil de modificar. Una estrategia comn consiste en dividir la tarea en componentes pequeos, en lugar de tener un sistema monoltico. Cada uno de estos mdulos debe ser una porcin de bien definida del sistema, con entradas, salidas y funciones cuidadosamente especificadas. De acuerdo a la forma en que los componentes de un sistema se conectan entre s y se combinan para formar un ncleo, puede mencionarse la siguiente clasificacin de sistemas operativos.

Pgina 10

Sistemas Operativos

2010

1.4.1 Estructura simple Hay muchos sistemas comerciales que no tienen una estructura bien definida. Es comn que tales sistemas operativos hayan sido en un principio sistemas pequeos, sencillos y limitados, y luego hayan crecido ms all de su alcance original. MS-DOS es un ejemplo; originalmente fue diseado e implementado por un puado de personas que no tenan idea de la popularidad que llegara a adquirir. Se escribi con objeto de proporcionar el mximo de funcionalidad en el mnimo de espacio, a causa del hardware limitado en el que se ejecutaba, y por ello no se dividi con cuidado en mdulos. En la figura 1.4 se muestra su estructura.

Figura 1.4 Estructura de capas de MS-DOS

En MS-DOS, las interfaces y niveles de funcionalidad no estn bien separados. Por ejemplo, los programas de aplicacin pueden acceder a las rutinas de E/S bsicas para escribir directamente en la pantalla y en las unidades de disco. Tal libertad deja al MS-DOS a merced de programas errneos (o mal intencionados), y causa cadas del sistema cuando los programas de usuario fallan. Desde luego, MS-DOS tambin estaba limitado al hardware de su poca. Dado que el Intel 8088 para el cual fue diseado no cuenta con modo dual ni proteccin por hardware, los diseadores del MS-DOS no tuvieron ms opcin que dejar el hardware bsico accesible. Otro ejemplo de estructuracin limitada es el sistema operativo UNIX original. UNIX es un sistema que inicialmente estuvo limitado por la funcionalidad del hardware. UNIX consiste en dos partes separables: el ncleo y los programas del sistema. El ncleo se divide a su vez en una serie de interfaces y controladores de dispositivos que se han agregado y ampliado con el paso de los aos a medida que UNIX ha evolucionado. El sistema operativo UNIX se puede ver como la serie de capas de la figura 1.5. Todo lo que est por debajo de la interfaz de llamadas al sistema y arriba del hardware fsico es el ncleo, que desempea las funciones de gestin del sistema de archivos, planificacin de la CPU, gestin de la memoria, etc., por medio de llamadas al sistema. En conjunto, esto implica
Pgina 11

Sistemas Operativos

2010

una enorme cantidad de funcionalidad combinada en un solo nivel. Los programadores de sistemas utilizan las llamadas al sistema apoyadas por el ncleo para ofrecer funciones tiles, como compilacin y manipulacin de archivos.

Figura 1.5 Estructura del sistema UNIX

Las llamadas al sistema definen la interfaz del programador con UNIX; el conjunto de programas del sistema que comnmente estn disponibles definen la interfaz del usuario. Las interfaces del programador y del usuario definen el contexto que el ncleo debe apoyar. 1.4.2 Enfoque por capas La modularizacin de un sistema se puede poner en prctica de muchas maneras; la ms atractiva es el enfoque de capas, que consiste en dividir el sistema operativo en varias capas (niveles), cada una construida sobre las capas inferiores. La capa inferior (capa 0) es el hardware; la capa ms alta (capa N) es la interfaz con el usuario. Una capa del sistema operativo es una implementacin de un objeto abstracto que es el encapsulamiento de datos y de operaciones que pueden manipular esos datos. En la figura 1.6 se representa una capa de sistema operativo representativa, que designamos capa M. Esta capa, consiste de en algunas estructuras de datos y un conjunto de rutinas que las capas de nivel superior pueden invocar. La capa M, a su vez, puede invocar operaciones de capas de niveles ms bajos.

Pgina 12

Sistemas Operativos

2010

Figura 1.6 Capa de un sistema operativo

La principal ventaja del enfoque de capas es la modularidad. Las capas se escogen del modo que cada una utilice slo funciones (operaciones) y servicios de capas de los niveles inferiores. Esto simplifica la depuracin y la verificacin del sistema porque por definicin slo utiliza el hardware bsico (que se supone correcto) para implementar sus funciones. Una vez depurada la primera capa, se puede dar por sentado su funcionamiento correcto mientras se trabaja con la segunda capa, y as sucesivamente. Si se encuentra un error durante la depuracin de una capa en particular, sabemos que el error est en esa capa, porque las capas inferiores ya estn depuradas. As, el diseo e implementacin del sistema se simplifica cuando el sistema se divide en capas. El enfoque de diseo por capas se us por primera vez en el sistema operativo THE creado en la Technische Hogesschool Eindhoven. El sistema THE se defini en seis capas, como se muestra en la figura 1.7 capa 5: capa 4: capa 3: capa 2: capa 1: capa 0: programas de usuario buffers para dispositivos de entrada y salida driver de la consola del operador gestin de memoria planificacin de CPU hardware
Figura 1.7 Estructura de capas de THE

Pgina 13

Sistemas Operativos

2010

Este enfoque puede utilizarse de muchas formas. Por ejemplo, el sistema Venus tambin se dise en capas. El principal problema del enfoque en capas tiene que ver con la definicin apropiada de las distintas capas. Puesto que una capa slo puede usar las capas que estn a un nivel ms bajo, la planificacin deber ser muy cuidadosa. El OS/2 es un descendiente del MS-DOS con las caractersticas adicionales de ser multitareas y operar en modo dual, entre otras. A causa de su mayor complejidad y del hardware ms potente para el cual se dise, el OS/2 se implement con ms capas. A diferencia de MS-DOS, OS/2 no permite el acceso directo de los usuarios a los recursos de niveles inferiores, con lo que el sistema operativo tiene ms control sobre el hardware y ms conocimiento de qu recursos est usando cada programa. La primera versin de Windows NT, tena una organizacin muy orientada a hacia las capas. Sin embargo, el desempeo de esta versin era pobre en comparacin con el de Windows 95. En Windows NT 4.0 se remediaron algunos de estos problemas de desempeo transfiriendo capas del espacio de usuarios al del ncleo, e integrndolas de forma ms ntima.

1.4.3 Mquinas virtuales Conceptualmente, un sistema de computador se compone de capas. El hardware es el nivel ms bajo en todos estos sistemas. El ncleo que es ejecuta en el siguiente nivel utiliza las instrucciones del hardware para crear un conjunto de llamadas al sistema que las capas exteriores pueden usar. As, los programas del sistema que estn arriba del ncleo pueden usar llamadas al sistema o instrucciones de hardware y en ciertos sentidos estos programas no distinguen entre las dos. Algunos sistemas llevan este esquema un paso ms all permitiendo a los programas de aplicacin invocar fcilmente los programas del sistema. Aqu tambin, aunque los programas del sistema estn en un nivel ms alto que las dems rutinas, los programas de aplicacin podran ver todo lo que est debajo de ellos en la jerarqua como si formara parte de la mquina misma. Este enfoque de capas se lleva a su conclusin lgica en el concepto de mquina virtual. El sistema operativo VM para sistemas IBM es el mejor ejemplo del concepto de mquina virtual, porque IBM fue de los primeros que trabajaron en esta rea. Utilizando planificacin de CPU y tcnicas de memoria virtual, un sistema operativo puede crear la ilusin de que mltiples procesos se ejecutan cada uno en su propio procesador con su propia memoria (virtual). Desde luego, lo normal es que el proceso tenga caractersticas adicionales, como llamadas al sistema y un sistema de archivos, que el hardware desnudo no provee. El enfoque de mquina virtual, en cambio, no proporciona funcionalidad adicional, sino que presenta una interfaz que es idntica al hardware
Pgina 14

Sistemas Operativos

2010

desnudo subyacente. Cada proceso recibe una copia (virtual) del computador subyacente (figura 1.8).

Figura 1.8 Modelos de sistemas. (a) Mquina no virtual. (b) Mquina virtual

Pgina 15

Sistemas Operativos

2010

UNIDAD II INSTALACIN DE UN SISTEMA OPERATIVO ( Basado en LINUX).

Objetivo: El alumno instalar la plataforma de sistemas operativos Centos 4.2 comprobando sus configuraciones en equipos de cmputo. Introduccin Un Sistema Operativo (SO) es una coleccin organizada de rutinas o extensiones de software del hardware. Estas rutinas de control hacen funcionar una computadora y proporcionan un entorno para la ejecucin de los programas. Existen otros programas que se apoyan en el SO para poder acceder a los recursos que necesitan. Esto se lleva a cabo a travs de llamadas sistema operativo. Tambin el SO debe brindar una forma de que el usuario se pueda comunicar con l a travs de una interfaz que le brinde una va de comunicacin con el hardware del sistema informtico. El objetivo principal del SO es lograr que los sistemas informtico se emplee de modo eficiente y como objetivo secundario se use de manera cmoda y ofrecer servicios a los programas y los usuarios para facilitar la tarea de programacin. Para lograr esto el hardware debe brindar algn mecanismo apropiado que impida que los usuarios intervengan en el funcionamiento del sistema y as mismo el SO debe poder utilizar este recurso de hardware de modo que esto se cumpla.

Instalacin Se tiene que tener en cuenta que cuanto ms se conozca de su computadora menos problemas tendr en la instalacin de GNU/Linux. Se tendrn que tener a mano una serie de informacin elemental que le sern requeridas en el momento de la instalacin tales como el idioma del teclado y la zona del tiempo donde se encuentra. Aunque parezca elemental, es aqu donde la mayora se paraliza o pone mal los datos, lo que traer futuros dolores de cabeza. Es importante conocer que las diferentes distribuciones ms importantes que existen bajo Linux se instalan en forma similar.

2.1 Requerimientos del Sistema Linux Requisitos de hardware Para que GNU/Linux funcione correctamente se tendr que contar con un sistema Pentium III con disco rgido de por lo menos 20 GB con al menos 16 MB para memoria en modo grfico, se recomienda 2 GB en RAM.
Pgina 16

Sistemas Operativos

2010

Espacio en el disco duro Antes de comenzar el proceso de instalacin, debern reunirse al menos una de las condiciones siguientes:

Su computadora deber tener espacio sin particionar para la instalacin de Linux. Deber contar con una o ms particiones que pueda borrar para conseguir ms espacio libre para instalar Linux.

Casi todos los sistemas operativos modernos utilizan particiones de discos, y Linux no es una excepcin. Cuando instale Linux, tendr que trabajar con particiones de disco. Si Linux va a compartir su sistema con otro SO, necesitar estar seguro de tener espacio disponible suficiente en su(s) disco(s) duro(s) para la instalacin. El espacio de disco destinado a Linux debe estar separado del espacio utilizado por otros sistemas operativos que puedan estar instalados en su sistema, como por ejemplo Windows, OS/2, o incluso una versin diferente de Linux. Al menos dos particiones (/ y swap) deben estar dedicadas a Linux. Hay que recordar algo muy importante a la hora de realizar un particionamiento del disco. GNU/Linux necesita como mnimo 2 particiones. Una principal (raz) y otra de intercambio (swap). Si se pensara poner dicha mquina como servidor, tendramos que pensar en por lo menos MB de RAM adicional por usuario en modo texto y 2 MB para modo grafico que aunque parezca demasiado, cuando se cuenta con 100 usuarios usando el entorno grfico se vera que la memoria se evapora como agua en el desierto. Si el trabajo a realizar requiere de un entorno grfico como el KDE o el GNOME y el uso de aplicaciones ofimticas como el OpenOffice, los requerimientos sern mayores debido a que estos requiere por lo menos de 3 GB para su correcto funcionamiento y de un Pentium IV por lo menos. Puede consultar tambin la lista de compatibilidad de hardware de linuxQuestions.org disponible en: http://www.linuxquestions.org/hcl/index.php No se trataran el tema de instalacin a partir de cada una de las distribuciones ya que en cada una de ellas existe la documentacin para poder hacerlo. Lo que se tratara es la instalacin a partir de un sistema que tenga Windows instalado, que ser la mayora de las ocasiones. Actualmente Linux es un sistema fcil de usar. Cada distribucin trae programas seleccionados por los autores de la distribucin incluidos en el cd o en el dvd, y se pueden instalar tanto al comienzo de la instalacin como luego de haber instalado el sistema operativo debe iniciar cada vez que enciendas el ordenador; en este caso practico instalaremos Centos 4.2.

Pgina 17

Sistemas Operativos

2010

2.2 Procedimiento de instalacin caso CentoS 4,2 Lo primero que necesita es insertar el primer cd de instalacin del sistema operativo Centos 4.2 en la unidad ptica. En seguida resetear la pc para asegurarse de que la unidad de CD ptica es el primer dispositivo de arranque, lo que se puede hacer por entrar en la BIOS (normalmente se hace pulsando la tecla eliminar en el arranque, o tecla F2, F10 segn el modelo ) y el control bajo la prioridad de CD / DVD est por encima de la unidad de disco duro, si no cambiarlo en consecuencia y guarde los cambios A) Introduzca el CD instalador de Linux distribucin Centos , reinicie la PC y oprima una tecla para inicializar desde la mismaespera hasta que Centos cargue la siguiente pantalla: (Figura 2.1)

Figura 2.1 Pantalla inicial

B) Una vez que ha cargado se puede seleccionar el 'install' oprimiendo la tecla enter para iniciar la instalacin. Posteriormente Centos le preguntara si quiere empezar con el testing; pulse la tecla Tab hasta que Skip es puesto en relieve, a continuacin pulse Intro.

Pgina 18

Sistemas Operativos

2010

Figura 2.2 Testing

C) El "Bienvenidos" es visualizada. Pulse el botn Next (Figura 2.3)

Figura 2.3 Iniciar instalacin

Pgina 19

Sistemas Operativos

2010

D) Obtendr la siguiente imagen (figura 2.4 ) para seleccionar el lenguaje, busque Spanish (Espaol), pulse el botn Next

Figura 2.4 Seleccin del idioma

E) Centos le pedir la configuracin del teclado, esta ser igual en espaol, contine oprimiendo Siguiente (figura 2 5)

Figura 2.5 Configuracin del teclado

Pgina 20

Sistemas Operativos

2010

F) Lea y seleccione el mejor tipo de instalacin que le convenga y se ajuste a sus necesidades; en este caso le daremos Servidor para que podamos configurar servicios en red posteriormente. (figura 2.6)

Figura 2.6 Tipo de Instalacin

G)

Una vez seleccionado el Servidor Centos nos proporciona la siguiente pantalla. La pantalla de Configuracin del Particionamiento del disco aparece. Pulse la tecla Tab (tabulador) hasta que Particionamiento Automtico se pone de relieve si desea configurar las particiones en un entorno interactivo, seleccione Participacin manual con Disk Druid. Si quiere conservar los datos y las particiones seleccione Particionamiento Automtico este guardara todas las particiones y usar el espacio libre; de clic en el botn Siguiente.

Pgina 21

Sistemas Operativos

2010

Figura 2.7 Tipo de particin

Una vez particionado el disco en forma automtica se tendr la siguiente pantalla (figura 2.8), seleccione Guardar todas las particiones y use el espacio libre existente para obtener un arranque dual. Contine con el botn Siguiente.

Figura 2.8 Particionamiento automtico

Pgina 22

Sistemas Operativos

2010

Asegrese que la opcin del check box Revise (y modifique si lo necesita) las particiones que ha creado no este activada (sin palomita) para que Linux Centos no le de la pantalla de Configuracin del Disco Duro Manual. H) Continuando con la instalacin Centos nos dar la pantalla de gestor de Arranque que por defecto se instalara el GRUB (es un administrador o gestor de arranque mltiple, desarrollado por el proyecto GNU, GRUB en espaol significa Gran Gestor de Arranque Unificado, que se usa comnmente para iniciar uno de dos o ms sistemas operativos instalados en un mismo computador, se usa principalmente en sistemas operativos GNU/Linux. En cambio seleccione el botn siguiente para continuar.

Figura 2.9 Gestor de arranque

Centos da la opcin de cambiar el gestor de arranque aunque este no se recomienda, tambin puede agregar otros sistemas operativos adicionales con el botn aadir , en caso de tener ya Windows, Centos lo reconocer y crear las configuraciones necesarias para que el GRUB haga un arranque dual. (figura 2.9). I) Despus Centos presentar la pantalla de configuracin de Cortafuegos, este le dar mayor seguridad al equipo por lo tanto, se recomienda que lo configure activando las casillas de verificacin sobre el cuadro blanco, para continuar dar clic en el botn siguiente. (figura 2.10)
Pgina 23

Sistemas Operativos

2010

Figura 2.10 Configuracin de firewall

J) Posteriormente tenemos la pantalla de Configuracin de Red; un host o anfitrin es un ordenador que funciona como el punto de inicio y final de las transferencias de datos. Ms comnmente descrito como el lugar donde reside un sitio web. Un host de Internet tiene una direccin de Internet nica (direcin IP) y un nombre de dominio nico o nombre de host.

Figura 2.11 Configuracin de los servicios de red

Pgina 24

Sistemas Operativos

2010

Una puerta de enlace predeterminada es un dispositivo (un router o una computadora) que sirve como enlace entre dos redes informticas, es decir, es el dispositivo que conecta y dirige el trfico de datos entre dos redes. Generalmente en las casas, ese dispositivo es el router y Cable-Modem o DSL-Modem que conecta la red local de la casa (LAN) con Internet (WAN). En las empresas, muchas veces es una computadora la que dirige el trfico de datos entre la red local y la red exterior, y, generalmente, tambin acta como servidor proxy y firewall. (fig. 11) Este dispositivo, al conectar dos redes de IP, poseer: una direccin IP privada: que servir para identificarse dentro de la red local, una direccin IP pblica: que servir para identificarse dentro de la red exterior. Ejemplo una red compuesta por cinco dispositivos (generalmente computadoras, pero pueden ser impresoras, etc.) y un enrutador: Direccin de los dispositivos: 192.168.4.3 (computadora 1) 192.168.4.4 (computadora 2) 192.168.4.5 (computadora 3)

K) La siguiente pantalla solicita el soporte extra del idioma, se recomienda volver elegir al espaol y dar clic en el botn siguiente.

Figura 2.12 Soporte del idioma adicional

Pgina 25

Sistemas Operativos

2010

L) A continuacin tiene la pantalla para predeterminar el uso de los horarios, con su mouse vaya a dar clic sobre el pas Mxico seleccionado la regin en que vive, luego de clic en el botn siguiente. (figura 2.13)

Figura 2.13 Seleccin del huso horario

M) La siguiente pantalla es muy importante, ya que dar la contrasea del Root, este es el superusuario, el principal y no deber olvidar la contrasea ya que tiene los derechos de configurar al mismo Centos posteriormente si se requiere.

Figura 2.14 Contrasea de root

Pgina 26

Sistemas Operativos

2010

N) La siguiente pantalla es para seleccionar la paquetera que se desea instalar en su servidor Centos, observe que para una instalacin completa deber contar con los dems cds que el mismo sistema se lo solicitara. Seleccione el botn siguiente. (figura2.15)

Fig. 15 Seleccin de aplicaciones

Esta seleccin de paquetes depender del tipo de programas con que trabaja la empresa como puede ser administradores de bases datos, desarrolladores de software o paquetes de oficinas para administrativos. O) Listo para empezar con la descarga de los archivos que configuran al Sistema Operativo Centos, dando clic en el botn siguiente como se observa en la siguiente pantalla. (figura 2.16)

Pgina 27

Sistemas Operativos

2010

Figura 2.16 Inicio de instalacin

P) Por ltimo aparecer la pantalla de avance donde el mismo sistema pide los cds de instalacin por lo que vaya introducindolos como se lo requiere la propia computadora. (figura 2.17)

Figura 2.17 Instalacin de paquetes

Pgina 28

Sistemas Operativos

2010

2.3 Esquema de particiones

Estilo tradicional PC Un disco duro puede tener un mximo de 4 particiones primarias, porque la informacin de la tabla de particiones reside (junto con el cdigo de arranque) en el MASTER BOOT RECORD: el sector 0 del disco. Sin embargo una de las particiones primarias puede ser designada como particin extendida, y ser subdividida en un nmero ilimitado de particiones lgicas. Nomenclatura Windows necesita ser instalado en una particin primaria. Linux puede ser instalado en cualquier tipo de particin. Linux suele numerar las particiones primarias de un disco desde 1 a 4, y reserva los nmeros 5 y superior para las lgicas. Recordemos entonces al particionar que cuando se llegue a crear una cuarta particin, conviene hacerla lgica. Nomenclatura Linux de discos y particiones como iremos viendo, en el diseo tradicional UNIX, todo es un fichero. Los discos se nombran mediante su fichero de dispositivo: IDE: /dev/hda Disco maestro en canal IDE 0 /dev/hdb Disco esclavo en canal IDE 0 /dev/hdc Disco maestro en canal IDE 1 /dev/hdb Disco esclavo en canal IDE 1 SCSI y USB: /dev/sda, /dev/sdbb, etc. Las particiones de un disco se nombran mediante el nombre de dispositivo y el nmero de particin: Primarias: /dev/hda1, /dev/hda2, /dev/hda3, /dev/hda4 Lgicas: /dev/hda5, etc. De cara a una instalacin para uso generalista, propondremos un primer esquema simple y efectivo: Una particin para swap (memoria virtual en disco) Una particin para el sistema (raz de la jerarqua, es decir: / ) Una particin para los datos de los usuarios ( directorio /home ) La particin de swap se utiliza como espacio de memoria RAM virtual en disco duro. Sirve para que, en casos de sobrecarga de trabajo, el sistema operativo pueda relegar a disco aquellos programas que estn ejecutndose pero pueden esperar. El swap es la nica particin que no tiene filesystem. Antiguamente se recomendaba un tamao del doble que la RAM disponible; hoy en da no es muy importante. Un GB suele ser suficiente.

Pgina 29

Sistemas Operativos

2010

La particin raz (/) es la que contiene todo el software del sistema operativo. El filesystem recomendado y ms estndar en Linux es ext3. Una instalacin tpica minimalista puede ocupar unos 200 MB; una instalacin completa con entorno grfico suele superar el GB (a veces varios GB porque depende de cunto software provee la distribucin) La particin /home. es en donde todos los usuarios UNIX escriben todos sus datos. Por tanto, la dimensionaremos segn creamos que vayan a ser las necesidades de usuario.

2.4 Gestores de arranque PC Puede tener un disco duro puede varias particiones, cada una de ellas puede estar en el formato que quieras. El sistema operativo Windows monta cada particin con una letra, generalmente empezando por la C:/, en cambio Linux monta las particiones como carpetas, de forma que la particin en la que est instalada el sistema operativo est montada en /, y el resto de particiones las puedes montar donde quieras (aunque generalmente si son de datos se suelen montar en /media/nombre_particin). Para poder mantener en nuestro PC dos sistemas operativos, adems de haberlos instalado en distintas particiones necesitaremos poder elegir en el momento del arranque entre uno u otro. Esta es la labor de los gestores de arranque. Existen varios gestores, el propio Windows tiene el suyo. Uno de los ms flexibles y el que se est convirtiendo en estndar es GRUB (GRand Unified Bootloader). Conceptualmente todos los gestores funcionan as: primero la BIOS del PC debe leer el cdigo de arranque del MBR (sector 0 del disco). Para ello deberemos antes configurar la BIOS para que pueda arrancar del disco que queramos en concreto. La BIOS slo sabe arrancar el programa que se encuentra en el MBR Dicho programa es el gestor de arranque, en su primera etapa: a su vez sabe a qu particiones tiene que ir a leer para continuar con la carga de la siguiente etapa, y de ah ofrecernos ya un men para que seleccionemos uno u otro sistema operativo. El arranque del sistema es todo un caso. Se esta contando seguramente con dos SO en el mismo sistema. Los programas que lo guiaran por la instalacin les pedirn que indiquen que sistema operativo quieren que inicie al encender la computadora. Con GNU/Linux se utiliza un programa que reside en el MBR de disco rgido llamado LILO (LInux LOader) el cual administra en que particin se encuentra cada SO y uno puede elegir, presionando la tecla Tab, con cual SO se quiere iniciar.

Pgina 30

Sistemas Operativos

2010

2.5 Pginas de otros Sistemas Operativos Linux

Esta liga te lleva a la instalacin de Linux Fedora http://docs.fedoraproject.org/install-guide/f12/es-ES/html/

Esta liga te lleva a un archivo .pdf en ingls sobre sistemas operativos Windows y Linux Red hat http://www.sans.org/security-training/os_install2.pdf

Esta liga te lleva a ver los pasos de la instalacin de Linux Ubuntu http://www.ajpdsoft.com/modules.php?name=news&file=article&sid=154

Esta liga te lleva a ver los pasos de la instalacin de Linux Centos 5.0 http://translate.google.com.mx/translate?hl=es&langpair=en%7Ces&u=http://www. slideshare.net/poustchi/installing-linux-centos-50

Pgina 31

Sistemas Operativos

2010

UNIDAD III COMANDOS BASICOS DE LOS SISTEMAS OPERATIVOS 3.1 Comandos bsicos Comando: date Formato: date [-u] [+FORMAT] [MMDDhhmm] [[CC]YY] [.ss] Descripcin: Imprime y establece la fecha. Visualizar la fecha y hora actual tal como es conocida por la mquina. No especificando ningn argumento o si el argumento comienza con +, imprimir la fecha y la hora; caso contrario, se registra o establece la fecha. La especificacin de un formato consiste en una cadena entre comillas. Los campos particulares vienen representados entre signos de porcentaje (%) seguidos por una letra de cdigo. Los descriptores de campo son: %% Literal %. %a Establece abreviatura para los das de la semana (Sat...Sun). %A Asigna nombre completo a los das de la semana (Saturday...Sunday). %b Establece abreviatura a los meses (Jan...Dec). %B Asigna nombre completo a los meses (January...December). %c Fija fecha y hora de la forma (Sun Dec 08 08:03:30 EST 2002). %d Da del mes (01...31). %D Fecha (mm/dd/yy). %h Igual que %b. %H Horas de 00 a 23. %I Horas de 01 a 12. %j Da del ao 001 a 365. %k Horas de 0 a 23. %l Horas de 1 a 12. %m Mes de 01 a 12. %M Minutos de 00 a 59. %n Nueva lnea. %p Fija AM o PM. %r Hora en notacin AM/PM. %S Segundos de 00 a 59. %t Inserta carcter de tabulacin horizontal. %w Da de la semana (de domingo a sbado) %x Establece la representacin de fecha como mm/dd/yy. %X Establece la representacin de hora como %H:%M:%S. %y Slo ao. Las opciones son: -u Asigna el tiempo y la fecha en coordenadas universales. MM Mes. DD Da del mes. hh Hora. mm Minutos. CC Primeros dos dgitos del ao (siglo). yy ltimos dos dgitos del ao.
Pgina 32

Sistemas Operativos

2010

.ss Segundos. Nota: Slo el superusuario (administrador del sistema) puede fijar o cambiar el sistema horario. Ejemplos: $ date Wed Jun 10 18:50:06 EDT 2002 $ date +%m 06 $ date Hoy es %d de %h. La hora exacta es %r Hoy es 10 de Sep. La hora exacta es 06:26:32 PM $ date + Mes: %m%nDa: %d%nHora: %T Mes: 09 Da: 10 Hora: 19:02:58 Las ordenes de date especialmente construidas se utilizan con frecuencia en guiones shell para producir una visualizacin o para asignarlas, a variables del entorno. date tambin se utiliza a menudo para poner una estampacin (marca) de tiempo a un trabajo. Comando: echo Formato: echo [-ne] [argumento(s)] Descripcin: Regresa cualquier cosa que haya escrito despus de echo. Escribe los argumentos por la salida estndar, separados por espacios en blanco y terminado(s) por una nueva lnea. echo reconoce algunas anotaciones especiales: \b Caracter de retroceso o retroceder un caracter. \c Escbir la lnea sin nueva lnea. \f Salto de pgina o cambio de hoja. \n Cambio de lnea o salto de lnea. \r Retorno de carro. \t Caracter de tabulacin o tabulador horizontal. \\ Barra invertida o barra inclinada hacia la izquierda. \v Caracter de tabulacin vertical. -e Habilita la interpretacin de caracteres especiales marcados por la barra inclinada hacia la izquierda. -n Elimina el salto de lnea final.

Ejemplos:

$ echo Estoy contento Estoy contento

$ SALUDO=Hola a todos Variables de entorno. $ PREGUNTA=como estan $ echo $SALUDO $PREGUNTA Hola a todos como estan echo se utiliza para visualizar cadenas arbitrarias en la terminal y tambin para visualizar el contenido de variables de entorno.

Pgina 33

Sistemas Operativos

2010

Comando: exit Formato: exit Descripcin: Indica que se ha terminado la sesin y libera a la terminal para ser utilizada por alguien ms o para ingresar con un identificador distinto. La terminacin o despedida impide que gente extraa utilice la terminal y el identificador para provocar perjuicios potenciales. Comando: man Formato: man [comando] Descripcin: Localiza y muestra la(s) pgina(s) del manual del comando especificado. Ejemplo: man date El manual en lnea man contiene pginas del manual para cada comando y otras pginas acerca de las funciones internas que los progrmadores utilizan, formatos para diferentes tipos de sistema de archivo, descripciones de hardware que puede conectarse a su SO. Comando: passwd Formato: passwd [nombre del usuario] Descripcin: Cambia la contrasea del usuario (password), siempre que ya se haya registrado. Una contrasea slo puede ser cambiada por el propietario de la misma, passwd pedir que escriba la contrasea actual para probar que an es la misma persona que cuando se llevo a cabo el registro. Posteriormente el programa. passwd pide la nueva contrasea dos veces para asegurarse de que sea correcta. Si se ha introducido la misma contrasea las dos veces, la orden passwd cambiar la idea de que el sistema tiene la contrasea y regresar luego al shell de la forma usual para aceptar la siguiente orden. Si se comete un error, el programa passwd acabar volviendo al shell para que se pueda intentar de nuevo. Si se cancela la ejecucin del comando passwd, acabar dejando la vieja contrasea todava en activo. Si olvidara la contrasea, no hay manera de recuperarla, ni an el administrador del sistema puede hacerlo. Puede asignarle una nueva. El administrador del sistema podr crear una contrasea nula o variar las contraseas de los distintos usuarios. Sugerencias para escribir una contrasea: Debe contener entre 6 y 8 caracteres. Debe contener, al menos, un dgito (0-9). Intercale dgitos, caracteres en minscula y caracteres en mayscula (LINUX distingue (son diferentes) maysculas de minsculas). Escriba una contrasea que sea fcil de recordar, sin necesidad de anotarla en alguna parte, y que no sea predecible. Comando: shutdown Formato: /bin/shutdown [-t segundos] [-rkhncf] tiempo [mensaje] Descripcin: Termina todos los procesos que se estn ejecutando en el sistema de manera ordenada. Cierra el sistema, parando todas las conexiones y esperando antes de detenerse mientras lanza mensajes de aviso. Cuando se especifica una hora, el cierre se realizar a la hora indicada. Slo el superusuario o un usuario con autorizacin pueden ejecutar la orden shutdown. Las opciones son: -t segundos Espera los segundos dados entre el mensaje de atencin y las seales de finalizacin de shutdown.
Pgina 34

Sistemas Operativos

2010

-k Manda el mensaje de aviso pero no cierra realmente el sistema. -r Reinicia despus de cerrar. -n No sincroniza antes el reseteo. -f Resetea sin comprobacin de los archivos de sistema. -c Cancela un shutdown que se est ejecutando. -h Se detiene despus de hacer el shutdown. mensaje Enva el mensaje a todos los usuarios. tiempo El argumento tiempo puede tener diferentes formatos; formato de tiempo absoluto en la forma hh:mm, donde hh es la hora con uno o dos dgitos, y mm minutos con dos dgitos. Podr utilizar el formato +m, donde m es el nmero de minutos en tiempo de espera. Tenga en cuenta la palabra now como alias de +0. shutdown h +10 El sistema se cierra al cabo de 10 minutos. shutdown r now Cierra el sistema inmediatamente y despus lo vuelve a arrancar. shutdown h +5 El sistema necesita un descanso Advierte a los usuarios del cierre del sistema para darles tiempo a terminar lo que estn haciendo. El comando shutdown forma parte del procedimiento de desconexin, que tiene como finalidad mantener la sanidad del sistema cuando se arranque de nuevo. shutdown trata de evitar que los procesos en ejecucin no se vean afectados o alterados por la cada o desconexin del sistema. Ejemplos: Comando: poweroff Formato: poweroff Descripcin: Este comando se utiliza para apagar el sistema sin que se vuelva a reinicializar. Opciones: -h Para el sistema para apagado. (no reinicia) -r Reiniciar el sistema -f reinicio rpido. No se comprobaran los sistemas de archivo al iniciar. -q Silencioso. No se solicita mensaje. -s Reinicio en modo monousuario. Muy util. Comando: who Formato: who [opciones] [archivo] who am i Descripcin: Informa sobre quin est en el sistema. Lista el nombre de conexin, el nombre de la terminal y el momento de conexin para cada usuario conectado al sistema LINUX. Tambin puede escribir who am i y slo se imprimir la lnea de la terminal en la cual se escribi el comando. -m -q -s Igual que who am i. Nombre de los usuarios y nmero de ellos conectados al sistema. Ignorado. Compatibilidad con otras versiones who.

Pgina 35

Sistemas Operativos

2010

-i Muestra el nmero de horas y minutos que un usuario ha estado inactivo. El carcter . significa que el usuario ha estado inactivo menos de un minuto, y el trmino old, ms de 24 horas.-u Igual que i. Ejemplos: who q who am i El comando who se ocupa para saber quien se encuentra en el sistema con la finalidad de: mandar mensajes, conocer la carga del sistema o para verificar la actividad en el sistema antes de su cierre. Comando: id Formato: id [opciones] Descripcin: Muestra informacin sobre la identificacin dentro del sistema del usuario que ejecuta el comando. La informacin que facilite consiste en nombre de usuario, UID, nombre de grupo y GID. Las opciones son: -g Muestra slo el identificador de usuario. -n Muestra slo el nombre de usuario o de grupo, es necesario en combinacin con u o -r g. -q Muestra UID y GID reales en lugar de efectivos, es necesario en combinacin con u o g. Muestra slo la identificacin de usuario. Comando: time Formato: time comando Descripcin: Facilita la informacin de tiempo que consume un comando. La informacin que nos facilita es de tres tipos: tiempo real que transcurre desde que lanza el comando hasta que termina, tiempo de usuario que es el tiempo que realmente a utilizado de CPU y por ltimo, tiempo de sistema que es el tiempo consumido en peticiones al sistema. Las opciones son: comando Comando que se quiere medir. Ejemplo: time ls s / Medir el tiempo que tarde en ejecutarse un ls l de todo el sistema de archivos. Comando: cal Formato: cal [-j] [-y] [mes] [ao] Descripcin: Muestra en pantalla el calendario del ao indicado, o del mes indicado. Las opciones son: Las fechas se muestran en formato juliano enumerando los das de forma -j consecutiva desde el 1 de enero. Muestra el calendario del ao actual. -y mes Sirve para especificar el mes que queremos ver, se puede indicar tanto por nmero del 1 al 12 como por su nombre en ingls. Por defecto el valor es el del mes actual. ao Especifica el ao que se quiere visualizar, de ao 1 a ao 9999. Los aos han de ser especificados con su nmero completo. Ejemplos: cal Muestra en pantalla el calendario del mes actual. cal 4 1974
Pgina 36

Sistemas Operativos

2010

Muestra el calendario de abril de 1974. cal 2010 Muestra el calendario del ao 2010. Comando: clear Formato: clear Descripcin: Borra la pantalla completamente de la terminal en la que se este trabajando. Comando: finger Formato: finger [opciones] usuarios Descripcin: Este comando se utiliza para obtener informacin sobre los usuarios del sistema, muestra toda la informacin referente a un usuario que hay registrada en el sistema. Si solo se invoca el comando sin ninguna opcin ni nombre de usuario nos da informacin referente a los usuarios actualmente conectados al sistema. Podemos pedir informacin sobre usuarios de otras computadoras conectadas en red poniendo: usuario@nmbrecomputador.sudominio. Las opciones son: Da diversa informacin sobre los usuarios. -s Muestra la misma informacin que la opcin s pero en formato de lneas y -l adems nos muestra los contenidos de los ficheros .plan y .project, si stos existen, del directorio home del usuario. -p usuarios Impide que la opcin l muestre el contenido de los archivos .plan y .project. Se da una lista de usuarios sobre los que se demanda la informacin. Ejemplo: finger psanchez Nos devolver la informacin almacenada referente al usuario psanchez.

3.2 Comandos para el manejo y organizacin de archivos y directorios

3.2.1 Concepto de archivo Archivo es un conjunto de datos con un nombre asociado y suelen residir en dispositivos de almacenamiento secundario. Algunos sistemas operativos imponen a todos sus archivos una estructura determinada bien definida. En Linux un archivo no es ms que una secuencia de bytes. Los archivos son administrados por el SO. Su estructura, nombre, forma de acceso, uso, proteccin e implementacin son temas fundamentales en el diseo de un SO. Aquella parte del SO que trabaja con los archivos se conoce, como un todo, como el sistema de archivos. Cuando un proceso crea un archivo, le da a ste un nombre. Cuando el proceso concluye, el archivo sigue existiendo y otros procesos pueden tener acceso a l mediante su nombre. Las reglas exactas para los nombres de archivo varan un poco de sistema a sistema, aunque los actuales SO permiten cadenas de hasta 256 caracteres (algunos otros SO,

Pgina 37

Sistemas Operativos

2010

permiten cadenas de hasta 8 letras) como nombres de archivo. Tambin es frecuente que se permitan dgitos y caracteres especiales. Algunos sistemas de archivos distinguen entre las maysculas y las minsculas, mientras que otros no. UNIX est dentro de la primera categora; MS-DOS dentro de la segunda. As, un sistema UNIX puede tener los siguientes archivos distintos: brbara, Brbara, BARBARA, BARbara y BarBaRa. En MS-DOS, todos los nombre se refieren al mismo archivo. La mayora de los SO utilizan nombres de archivo con dos partes, separadas por un punto, como en prog.c. La parte posterior al punto es la extensin de archivo e indica por lo general algo relativo al archivo. Por ejemplo, en MS-DOS, los nombres de archivo tienen una longitud de hasta ocho caracteres ms una extensin opcional de hasta tres caracteres. En UNIX, el tamao de la extensin, si sta existe, se deja al usuario; adems, un archivo puede tener incluso dos o ms extensiones. Tipos de archivos. Muchos SO soportan varios tipos de archivos. UNIX y MS-DOS, por ejemplo, tienen: Archivos regulares. Son aquellos que contienen informacin del usuario. Archivos en ASCII. Constan de lneas de texto. En ciertos sistemas, cada lnea termina con un carcter de retorno de carro. En otros se utiliza el carcter alimentador de lnea. En ciertas ocasiones se necesitan ambos. Las lneas no tienen que tener la misma longitud. La gran ventaja de los archivos ASCII es que se pueden exhibir e imprimir tal cual son y pueden editarse mediante un editor de texto comn. Adems, si un gran nmero de programas utilizan archivos en ASCII para la entrada y salida, es fcil conectar la salida de un programa con la entrada de otro, como en las tuberas del shell. (La exploracin entre los procesos no es del todo fcil, pero la interpretacin de la informacin s lo es cuando se utiliza una convencin estndar, como ASCII, para expresarla.) Archivos binarios. No son archivos en ASCII. El listado de su contenido produce una lista incomprensible de algo que parece aleatorio y sin sentido. Por lo general, tienen cierta estructura interna. Directorios. Son archivos de sistema para el mantenimiento de una estructura del sistema de archivos. Archivos especiales de caracteres. Tienen relacin con la Entrada/Salida y se utilizan para modelar dispositivos seriales de E/S, tales como las terminales, impresoras y redes. Archivos especiales de bloques. Se utilizan para modelar discos. Todos los archivos tienen elementos o caractersticas que se asocian a l, conocidos como atributos La informacin esencial de un archivo consta de: nombre, extensin, tamao, y fecha/hora de creacin. Los atributos pueden ser manipulados por: el usuario, el SO y/o una aplicacin. Algunos son exclusivos de alguno de los manipuladores. Los archivos existen para poder almacenar la informacin y recuperarla ms adelante. Los distintos sistemas proporcionan diversas operaciones para permitir el almacenamiento y la recuperacin. Algunas de las llamadas ms comunes al sistema relacionadas con los archivos son:
Pgina 38

Sistemas Operativos

2010

CREAR. Construir un archivo nuevo. DESTRUIR. Eliminar un archivo. ABRIR. Preparar un archivo para hacer referencia a l. CERRAR. Evitar cualquier otra referencia al archivo en tanto no se le abra otra vez. COPIAR. Crear otra versin del archivo con un nombre nuevo. RENOMBRAR o REBAUTIZAR. Cambiar el nombre de un archivo. LISTAR. Imprimir o exhibir el contenido de un archivo. BUSCAR. Especificar (mediante mtodos) dnde tomar los datos de un archivo. OBTENER ATRIBUTOS. Leer los atributos de un archivo para que l(los) proceso(s) pueda(n) realizar su trabajo con l. ESTABLECER ATRIBUTOS. Fijar o especificar las caractersticas (atributos) de un archivo ya existente.

Los elementos de informacin individuales dentro del archivo se pueden manipular con operaciones tales como: LEER. Introducir un elemento de informacin de un archivo a un proceso. ESCRIBIR. Transferir un elemento de informacin de un proceso a un archivo. MODIFICAR. Alterar un elemento de informacin ya existente en un archivo. INSERTAR o AADIR. Aadir un nuevo elemento de informacin a un archivo. ELIMINAR. Borrar un elemento de informacin de un archivo. 3.2.2 Sistemas archivos Un sistema de archivos debemos entenderlo como aquella parte del sistema responsable de la administracin de los datos en dispositivos de almacenamiento secundario. El sistema de archivos debe proporcionar los medios necesarios para un almacenamiento seguro y privado de la informacin y, a la vez, la posibilidad de compartir esa informacin, en caso de que el usuario lo desee. En general, los sistemas de archivos contienen: Mtodos de acceso. Se ocupan de la forma en que se obtiene acceso a los datos almacenados en archivos. Administracin de archivos. Se ocupa de ofrecer mecanismos para almacenar, compartir y asegurar archivos, y hacer referencia a ellos. Administracin de almacenamiento secundario. Se ocupa de asignar espacio a los archivos en dispositivos de almacenamiento secundario. Mecanismos de integridad de archivos. Se ocupan de garantizar que no se corrompa la informacin en un archivo. Cuando se asegura la integridad de los archivos, cualquier informacin que deba estar en un archivo estar ah; la informacin que no deba estar en un archivo se mantiene fuera de l. Las funciones ms importantes del sistema de archivos son: 1. Los usuarios deben poder crear, modificar y eliminar archivos. 2. Los usuarios deben ser capaces de compartir sus archivos entre s en forma cuidadosamente controlada para aprovechar y continuar el trabajo de los dems.

Pgina 39

Sistemas Operativos

2010

3. El mecanismo para compartir archivos debe ofrecer varios tipos de acceso controlado, tales como acceso para lectura, acceso para escritura, acceso para ejecucin o diversas combinaciones de stos. 4. Los usuarios deben poder dar a sus archivos la estructura ms apropiada para cada aplicacin. 5. Los usuarios deben ser capaces de ordenar la transferencia de informacin entre archivos. 6. Deben ofrecerse recursos de respaldo y recuperacin para evitar ya sea la prdida accidental o la destruccin mal intencionada de informacin. 7. Los usuarios deben poder hacer referencia a sus archivos mediante nombres simblicos en vez de tener que usar nombres de dispositivos fsicos (o sea, independencia con respecto a los dispositivos). 8. En ambientes delicados en los cuales la informacin debe mantenerse segura y privada, el sistema de archivo puede ofrecer tambin funciones de ciframiento y desciframiento, lo cual hace que la informacin slo resulte til a quienes est destinada (es decir, a aquellos que poseen claves para desciframiento). 9. Lo ms importante de todo: el sistema de archivos debe ofrecer una interfaz amable con el usuario. Debe proporcionar a los usuarios una vista lgica de sus datos y de las funciones que se puedan realizar con ellos, ms que una vista fsica. El usuario no deber tener que preocuparse de los dispositivos especficos en los cuales est almacenada la informacin, la forma que adoptan los datos en esos dispositivos o los mecanismos fsicos para transferir datos de esos dispositivos o hacia ellos.

3.2.3 Directorios Un directorio no es ms que un archivo especial, el cual contiene informacin que permite localizar otros archivos. Es un archivo de sistema que sirve para el mantenimiento de una estructura del sistema de archivos. Llevan un registro de los archivos almacenados en la computadora. Las llamadas al sistema permitidas para el manejo de los directorios tienen ms variacin de sistema a sistema que las relacionadas con los archivos.

CREAR. Se crea un directorio el cual est vaco excepto por punto y puntopunto, los que se colocan en l en forma automtica por el sistema. ELIMINAR. Se elimina un directorio. Slo se puede eliminar un directorio vaco. Un directorio que slo contenga punto y punto-punto se considera vaco ya que stos por lo general no se pueden eliminar. ABRIR. Se pueden leer los directorios. Por ejemplo, para exhibir una lista de todos los archivos de un directorio, un programa de listado abre el directorio para leer los nombres de todos los archivos que contiene. Antes de poder leer un directorio, ste debe ser abierto. CERRAR. Cuando se ha ledo un directorio, ste debe cerrarse para liberar el espacio de la tabla interna. LEER. Esta llamada regresa la siguiente entrada en un directorio abierto. CAMBIAR DE NOMBRE. En muchos aspectos, los directorios son como los archivos y se les puede cambiar el nombre al igual que stos. LIGAR. El ligado es una tcnica que permite que un archivo aparezca es ms de un directorio. Esta llamada al sistema especifica un archivo existente y el
Pgina 40

Sistemas Operativos

2010

nombre de una ruta de acceso, adems de crear un enlace del archivo ya existente con el nombre especificado en la ruta de acceso. De esta forma, el mismo archivo puede aparecer en varios directorios. DESLIGAR. Se elimina una entrada del directorio. Si el archivo que se desea desligar aparece slo en un directorio (el caso normal), se elimina del sistema de archivos. Si esta presente en varios directorios, slo se elimina la ruta de acceso especificada, mientras que las dems permanecen.

. 3.2.4 El sistema de archivos de LINUX. En LINUX, todos los archivos estn organizados en directorios que, a su vez, estn jerrquicamente conectados entre s en un nico sistema global de archivos conocida como estructura de rbol invertido. Se hace referencia a un archivo, entonces, no slo por su nombre, sino indicando tambin el lugar que ocupa dentro de esta estructura de archivos. Puede crear tantos directorios como quiera, aadiendo as ms directorios a la estructura de archivos. Las rdenes para el manejo de archivos de LINUX pueden efectuar operaciones sofisticadas, como desplazar o copiar directorios completos junto con todos sus subdirectorios. En la estructura de rbol invertido no hay un tronco. El rbol se representa invertido, con la raz en la parte superior. Extendindose hacia abajo, desde la raz, estn las ramas. Cada rama nace desde una sola rama, pero puede tener muchas ramas que desciendan de ella. A este respecto, se puede decir que tiene una estructura padrehijo. Cada directorio puede tener muchos subdirectorios, pero en s mismo es hijo de un solo directorio padre.
/ (root)

dev

bin

home

mark

robert

chris

Directorio

el tiempo

informes

programas

Archivo

lunes La estructura de rbol LINUX.

La estructura de archivos de LINUX se bifurca en varios directorios a partir del directorio /, conocido como raz (root). Dentro del directorio raz hay varios directorios del sistema que contienen archivos y programas que son los que proporcionan las caractersticas del sistema LINUX. El directorio raz tambin tiene un directorio llamado home, que puede contener los directorios propios (home) de todos los usuarios del sistema. El directorio propio (home) de cada usuario, a su vez, contiene todos los directorios que el usuario haya creado para su propio uso. Cada uno de estos tambin podra contener directorios. Estos directorios anidados se desprenderan del directorio propio (home) del usuario, como se ilustra en la siguiente figura:
Pgina 41

Sistemas Operativos

2010

/ (root)

Directorios de sistema

dev

bin

home

Directorios home

mark

robert

chris

Directorios de usuario Directorio

informes

programas

La estructura de archivos de LINUX empieza desde el directorio root e incluye los directorios de sistema, home y de usuario.

El directorio raz, en el que empieza el sistema de archivos de LINUX, contiene varios directorios del sistema. Los directorios del sistema contienen archivos y programas que se usan para ejecutar y mantener el sistema. Muchos contienen otros programas para ejecutar caractersticas especficas de LINUX. Por ejemplo, el directorio /usr/bin contiene diversas rdenes LINUX que ejecutan los usuarios, tales como cp y mv. El directorio /bin contiene interfaces para diferentes dispositivos de sistema, tales como la impresora o la terminal. La siguiente tabla presenta una lista de los directorios de sistema bsicos. Directorio / /home /bin /usr /usr/bin /usr/sbin /usr/lib /usr/doc /usr/man /usr/spool /sbin /var /dev /etc Funcin Comienza el sistema de archivos. Se conoce como la raz. Contiene los directorios propios (home) de los usuarios. Contiene todas las rdenes estndar y los programas de utilidad. Contiene los archivos y rdenes usados por el sistema. Este directorios se descompone en varios subdirectorios. Contiene las rdenes orientadas a los usuarios y los programas de utilidad. Contiene las rdenes de administracin de sistema. Contiene las bibliotecas de los lenguajes de programacin. Contiene documentacin de LINUX. Contiene archivos del manual interactivo man. Contiene archivos en formato spool, tales como los que se generan para imprimir tareas y hacer transferencias en redes. Contiene rdenes de administracin de sistema para arrancar el sistema. Contiene archivos que varan, tales como los archivos mailbox (buzn). Contiene interfaces de archivo para dispositivos tales como la terminal y la impresora. Contiene archivos de configuracin del sistema y cualquier otro archivo de sistema.

Pgina 42

Sistemas Operativos

2010

En la siguiente figura se muestra como estn organizados en la estructura de rbol.

/ (root) Directorio

sbin

usr

dev

var

etc

home

sbin

bin

lib

man

spool

chris

robert

Directorios del sistema en LINUX.

3.2.5 Comandos para el manejo de directorios Comando: mkdir Formato: mkdir [opciones] directorio Descripcin: Crea directorios. Las opciones son: -m modo Establece los permisos facilitados en modo del directorio en su creacin. -p Crea los directorios padres necesarios si no existen. directorio Directorio que se quiere crear. Ejemplos: mkdir p /home/juan/documentos/cartas Crea el directorio cartas y todos los directorios anteriores necesarios. Comando: rmdir Formato: rmdir directorio Descripcin: Borra el directorio especificado. Ejemplos: rmdir cartas Comando: pwd Formato: pwd Descripcin: Informa sobre cul es el directorio actual en el que nos encontramos, no tiene ningn tipo de parmetro. Comando: cd Formato: cd nombre_del_directorio

Pgina 43

Sistemas Operativos

2010

Descripcin: Cambia del directorio actual al indicado en nombre_del_directorio. ste puede ser cualquier directorio del sistema. Si no se indica ningn directorio cambiara al directorio raz del usuario que lo invoca. Admite los directorios . y .. correspondientes al actual y al padre del actual para indicar los caminos relativos al directorio destino. Ejemplos:

3.2.6 Comandos para el manejo de archivos Comando: ls Formato: ls [opciones] archivos Descripcin: Lista los archivos indicados mostrando informacin sobre ellos. Si no se pasa como parmetro ningn nombre de archivo, lista los archivos del directorio actual. Las opciones son: Muestra todos los archivos del directorio actual incluyendo los archivos ocultos, -a que en LINUX son los que comienza su nombre por punto. Muestra la lista de archivos en formato de columnas. -C Muestra la lista de archivos en colores segn el tipo de archivo. --color Muestra la lista de archivos en formato de columnas ordenada por columnas. -x Muestra los directorios como archivos en lugar de mostrar sus contenidos. -d Muestra los tamaos de los archivos en kilobytes. -k Lista de forma extensa los archivos, con informacin como derechos -l propietarios, fecha de creacin y tamao. Muestra ordenando por la fecha de la ltima modificacin. -t Muestra ordenando por la fecha del ltimo acceso. -u Muestra ordenando pero de forma inversa. -r Lista el contenido de los subdirectorios recursivamente. -R Muestra el numero de inodo de cada archivo. -i Formatea la salida poniendo smbolos para diferenciar entre los distintos tipos -F archivos de archivos. Lista de archivos que se quiere listar, sobre todo la utilidad de este parmetro es usando los caracteres comodn ? y *. Ejemplos: ls l Muestra los archivos del directorio actual con el formato extendido dando toda la informacin. ls la *.c Muestra todos los archivos en formato extenso cuyo nombre termine en .c y que comiencen por cualquier cadena de carcter, mostrar tambin los que se consideran ocultos, que comprenden por .., y cumplan en resto de las condiciones. 3.14 Caracteres comodn y argumentos que son nombres de archivo. Carcter comodn. Es un carcter especial que acta como cualquier carcter en nombres de archivos o comandos. Los nombres de archivo son los argumentos ms comunes en las ordenes. Es frecuente que solo sepa una parte del nombre del archivo, o tal vez le interese hacer referencia a varios nombres de archivo que tienen la misma extensin o que comienzan con el mismo
Pgina 44

Sistemas Operativos

2010

carcter. El shell proporciona un conjunto de caracteres especiales que buscan, hacen coincidir y generan una lista de nombres de archivo. Estos caracteres especiales o comodn son * y ? y los [ ]. Dado el nombre parcial de un archivo, el shell usa estos operadores de coincidencia para buscar archivos y generar una lista con los nombres de archivo encontrados. El shell reemplaza el argumento del nombre parcial de archivo con la lista de nombres de archivos que hacen coincidencia. Esta lista de nombres de archivo puede entonces convertirse en los argumentos de rdenes tales como ls, que pueden operar sobre muchos archivos. Caracteres comodn Ejecucin Equivale a cualquier conjunto de caracteres de nombres de archivos. * Coincide con un solo carcter cualquiera de nombres de archivo. ? Coincide con una clase de posibles caracteres de nombres de archivo. [] Delimita el carcter siguiente: se usa para delimitar caracteres comodn. \ Ejemplos de uso de los caracteres comodines: $ ls doc1 doc2 doc3 doc4 docA docB docD docs document answers? lib.a mydocs anwers?.quiz monday tuesday answers?.mid main.c mylock main.o calc.c sydoc1 answers?.final $ ls doc* doc1 doc2 doc3 doc4 docA docB docD docs document $ls *day monday tuesday $ ls *.c calc.c main.c $ls doc? doc1 doc2 doc3 doc4 docA docB docD docs $ls ?y?oc? mydocs mylock sydoc1 $ls *.? calc.c lib.a $ls doc[1As] doc1 docA docs $ls doc[1-3] doc1 doc2 doc3 $ls doc[B-G] docB docD $ls *.[co] main.c main.o calc.c $ls answers\? answers? $ls answers\?.* answers? answers?.quiz answers?.mid answers?. Comando: cat Formato: cat [opciones] archivos
Pgina 45

Sistemas Operativos

2010

Descripcin: Concatena la lista de archivos que se le facilita en la salida estndar. Si slo se le indica un archivo, lo muestra. Si se le indica, lo crea con el contenido que se escriba en la entrada estndar finalizando con [Ctrl] [d] para grabar o [Ctrl] [c] para salir sin grabar. Las opciones son: archivos Lista de archivos a concatenar. Numera las lneas que no estn en blanco. -b Numera todas las lneas aunque estn en blanco. -n Elimina varias lneas en blanco consecutivas sustituyndolas por una sola. -s Muestra los caracteres de control excepto final de lnea y tabuladores. -V Muestra el carcter $ al final de cada lnea. -E Muestra los caracteres de control de los tabuladores. -T Ejemplos: Comando: rm Formato: rm [opciones] archivos Descripcin: Elimina archivos y directorios del sistema de ficheros. Se utiliza tanto para borrar archivos, enlaces y directorios. Para eliminar directorios es necesaria la opcin r. Hay que tener mucho cuidado con la utilizacin de este comando pues sus acciones son irreparables. Las opciones son: Por defecto rm pide confirmacin antes de borrar, con esta opcin forzamos la -f operacin sin pedir confirmacin. Activa el modo interactivo para solicitar confirmacin antes de borrar, este modo -i esta por defecto. -r Opcin para borrar los directorios y su contenido, es necesaria para borrarlos. -v archivos Muestra el nombre de los archivos antes de borrarlos. Lista de archivos que se quiere eliminar. Ejemplos: rm * Borra todos los archivos del directorio actual pidiendo permiso para cada archivo que va a borrar. rm rf a* Borra todos los archivos y directorios del directorio actual cuyo nombre empiece por a. Comando: cp Formato: cp [opciones] fuente destino Descripcin: Copia archivos y directorios. Copiar fuente a destino, fuente puede ser una lista de archivos que copiar a un directorio indicado en destino. Tambin puede copiar un archivo sobre otro archivo. Las opciones son: -a Conserva los atributos y estructuras del origen en la copia. -b Hace copias de seguridad de archivos que van a ser sobrescritos o borrados. -d Al copiar los enlaces simblicos los mantiene como tales en lugar de copiar los ficheros a los que apuntan, y preserva las relaciones de las ligaduras fsicas entre archivos fuente en las copias. -f Borrar archivos destino existentes. -i Interroga sobre si sobrescribir ficheros destino existentes. -l -p En lugar de hacer copiar archivos que no son directorios, crea ligaduras fsicas. Preserva los permisos, el propietario y el grupo, as como los SUID Y SGID, adems
Pgina 46

Sistemas Operativos

2010

tambin conserva el tiempo de ltima modificacin y de ltimo acceso. Copia directorios recursivamente descendiendo en su rbol de directorios hijos. Es la opcin que se debe indicar si se pretende copiar un directorio. Hace enlaces simblicos en vez de copias de archivos que no sean directorios. Todos los nombres de archivos origen deben ser absolutos (empezar por /) a menos que los archivos de destino estn en el directorio de trabajo. Esta opcin simplemente -u produce un mensaje de error en sistemas que no admitan enlaces simblicos. No copia un archivo no-directorio si el destino ya existe y tiene el mismo tiempo de -v modificacin o ms reciente. -x Muestra el nombre de cada archivo antes de copiarlo. Se salta subdirectorios que estn en sistemas de archivos diferentes de aqul en el que empez la copia. Ejemplos: cp R */tmp Copia el contenido del directorio actual as como sus subdirectorios de forma recursiva al directorio /tmp. cp a *.txt /home/jgarca Copia todos los archivos *.txt del directorio actual al directorio /home/jgarca conservando los mismos permisos que los archivos originales. cp /usr/bin/joe Copia el archivo joe del directorio /usr/bin al directorio actual. -r -R -s Comando: mv Formato: mv [opciones] origen destino Descripcin: Mueve archivos y directorios. El comando en s lo que realiza es la copia del origen en el destino y el borrado del origen. Tambin es el comando que se utiliza para renombrado de archivos y directorios por ser similar el efecto que se produce. Las opciones son: Por defecto mv pregunta antes de borrar algo, con esta opcin eliminamos esta -f confirmacin. -i Con esta opcin mv pregunta antes de borrar algo, est opcin est por defecto. origen Archivo que se quiere mover. Se puede dar tambin una lista de archivos origen que sern movidos con su mismo nombre en un directorio que se dar como destino destino. Nombre del destino. Si se ha dado una lista de archivos origen el destino tendr que ser un directorio. Ejemplos: mv carta.txt carta.doc Cambia de nombre el archivo carta.txt a carta.doc. Comando: ln Formato: ln [-s] origen destino Descripcin: Crea un enlace a un archivo, con el fin de poder acceder a un archivo con ms de un nombre. Se pueden utilizar estos enlaces para copiar archivos sin ocupar espacio en disco. Podemos tener dos tipos de enlaces, los simblicos y los fijos. Los enlaces fijos o ligaduras fsicas crean una nueva entrada en el directorio pero no crean un nuevo inodo, sino que a esa nueva entrada se le asigna en nmero de inodo de origen. Las ligaduras simblicas crean un fichero especial cuyo contenido es origen. La opciones son: -s Crea un enlace simblico.
Pgina 47

Sistemas Operativos

2010

origen

Archivo al que se quiere crear un enlace de ligadura. Se puede dar tambin una lista de archivos origen que sern enlazados con su mismo nombre en un destino directorio que se dar como destino. Nombre del enlace que se quiere crear y despus de la creacin del enlace y que tras la creacin del enlace se podr utilizar para referirse al archivo origen. Si se ha dado una lista de archivos origen, el destino tendr que ser un directorio. Ejemplos: ln s documento.txt trabajo.txt Crea un enlace simblico o ligadura simblica del archivo documento.txt en el enlace trabajo.txt. Comando: more Formato: more [opciones] archivos Descripcin: Se utiliza para paginar texto que no cabe en la pantalla y, por tanto, se desplaza sin poderlo ver. Se utiliza a travs de un redireccionamiento o una pipe para formatear el resultado de otro comando como cat o ls. Las opciones son: -n Establece el tamao de las pginas que muestra a n lneas. -c Cambia el formato en que muestra las pginas en la pantalla, escribiendo las lneas una a una y desplazando. -q Cambia el aviso por omisin para el desplazamiento de las pginas. -s Supone varias lneas en blanco consecutivas y las cambia por una sola. Comandos ms tiles de more. Comandos bsicos. h Despliega informacin de ayuda. Espacio Despliega la pantalla siguiente q Para salir del programa Comandos avanzados. Retorno Para avanzar un rengln. Para avanzar n renglones n Retornos d Para avanzar (hacia abajo) media pantalla. u Para retroceder (hacia arriba) media pantalla. nf Para avanzar n pantallas. b Para retroceder una pantalla. nb Para retroceder n pantallas. v Arranca el editor vi usando el archivo el archivo que s este exhibiendo. /modelo Busca el modelo especificado, hacia abajo. n Repite el comando de bsqueda anterior. comando Ejecuta el comando del intrprete de comandos especificado. = Despliega el nmero de rengln en uso. . Repite el comando anterior. No oprimir Retorno despus de ningn comando, excepto de / y Ejemplos: ls l | more Lista los archivos del directorio actual y se los pasa al comando more para que lo pagine y lo muestre pgina a pgina. Comando: less
Pgina 48

Sistemas Operativos

2010

Formato: less [-cmsCM] [-xtab] [+comando] [archivo...] Descripcin: Al igual que more y pg, less es un programa de paginacin. En trabajos sencillos less funciona como los otros dos programas. No obstante, para los usuarios avanzados less es mucho ms refinado. Una de sus principales ventajas es que hace fcil desplazarse hacia atrs o hacia adelante de un archivo. El programa less despliega el contenido de los archivos que se especifiquen. Los datos se despliegan pantalla por pantalla. Despus de escribirse cada pantalla, se ver un indicador en la esquina inferior izquierda. El primer indicador le muestra el nombre del archivo. Cada uno de los indicadores subsecuentes ser un signo de dos puntos :. Comandos Descripcin bsicos H Despliega informacin de ayuda. Espacio Avanza una pantalla. q Para salir del programa. Comandos ms avanzados Retorno Avanza un rengln. nRetorno Avanza n renglones. b Retrocede una pantalla. y Retrocede un rengln. ny Retrocede n renglones. d Avanza (hacia abajo) media pantalla. u Retrocede (hacia arriba) media pantalla. g Va al primer rengln. ng Va al rengln n. G Va al ltimo rengln. np Va al rengln que represente el n porciento en el archivo. v Arranca el editor vi usando el archivo que se est exhibiendo. /modelo Busca hacia abajo el modelo especificado. ?modelo Busca hacia arriba el modelo especificado. n Repite el comando de bsqueda previo. !comando Ejecuta el comando del intrprete de comandos especificado. = Despliega el nmero de rengln y el nombre de archivo en uso. -opcion Cambia la opcin especificada. _opcion Despliega el valor actual de opcion. No oprimir retorno despus de ningn comando excepto, /,? Y !. Existen un gran nmero de opciones que se pueden utilizar de arrancar less, las tres ms tiles son: -s Remplaza mltiples renglones en blanco por uno solo, lo que es til para condensar una salida que contenga renglones en blanco sin significado. -c Despliega cada pantalla de datos nueva de arriba abajo (borra la pantalla). -M Hace que el indicador muestre an ms informacin: el nombre del archivo, el nmero de rengln y el porcentaje desplegado. Ejemplos: less M memo esto muestra: memo line 48/75 93% less +G memo
Pgina 49

Sistemas Operativos

2010

despliega el archivo memo con la posicin inicial al final del archivo. less +/Harley memo despliega el mismo archivo comenzando con una bsqueda de la palabra Harley. less +37 memo un nmero despus de + hace que less arranque en ese rengln. less +37g memo esto hace lo mismo que la opcin anterior. less x5 memo la opcin x seguida de un nmero hace que less establezca los tabuladores en el intervalo regular especificado. En este caso los tabuladores se configuran a cada cinco espacios. Comando: chgrp Formato: chgrp [opciones] grupo archivos Descripcin: Permite el cambio del grupo propietario de un archivo o directorio. Para cambiar la propiedad de grupo de un archivo o directorio hay que ser el propietario de dicho archivo o ser el usuario root. Las opciones son: Muestra detalladamente la accin de cambio de grupo propietario para archivo o -c directorio en el que se realice la accin. Anula los mensajes de error de los archivos o directorios a los que no puede -f cambiar el grupo propietario. Muestra detalladamente los cambios de grupo propietario. -v Cambia recursivamente la propiedad de grupo en los directorios y sus -R contenidos. grupo archivos En grupo se indica cul ser el nuevo propietario. En archivos se indica la lista de archivos y directorios a los que se le quiere cambiar el grupo propietario. Ejemplo: chgrp invitados p* Cambia el grupo propietario a invitados de todos los archivos que comiencen por la letra p dentro del directorio actual. Comando: chmod Formato: chmod [opciones] modo archivos Descripcin: Permite el cambio de los permisos o modo de los archivos y directorios. Los permisos de un archivo o directorio permiten controlar el acceso a los mismos. Existen tres niveles de permisos, los de propietario, grupo y otros. As los permisos de propietario afectan al propietario del archivo o directorio, los permisos de grupo afectan al grupo propietario y, por ltimo, otros afectan al resto de usuarios del sistema. Dentro de cada nivel de permisos existen tres tipos de derechos de lectura r de escritura w y de ejecucin x. En archivos, los derechos de lectura y escritura permitirn leer y escribir el archivo respectivamente y el derecho de ejecucin ejecutar si se trata de un fichero que contiene cdigo ejecutable. En directorios, el derecho de lectura permite hacer un /s sobre el directorio y ver su contenido, el derecho de escritura permite crear nuevos archivos y directorios en l, as como borrar y, por ltimo, el derecho de ejecucin permite poder cambiar el directorio
Pgina 50

Sistemas Operativos

2010

actual por se con el comando cd. Slo se puden cambiar los permisos de un archivo o directorio si es el usuario propietario o si es usuario root. Las opciones son: Muestra detalladamente la accin de cambio de permisos a cada archivo en el -c que se realice la accin. Anula los mensajes de error de los archivos a los que no puede cambiar los -f permisos. -v Muestra detalladamente los cambios de permisos. -R Cambia recursivamente los permisos en los directorios y sus contenidos. modo En modo se indica cules van a ser los nuevos permisos o modo. Estos permisos se agrupan en tres grupos de derechos u, g, o, correspondindose con usuario propietario, grupo propietario y otros respectivamente, adems, existe el grupo a que, adems est por defecto y que modifica a los tres. Y los tipos de derechos que se pueden modificar son r, w, x, lectura escritura y ejecucin, respectivamente. Para formar el modo al que se quiere cambiar, primero se archivos indica el tipo de derechos que se quiere cambiar u,g,o, luego la accin a tomar, + para poner derechos, - para quitarlos, y los derechos que se van a ver afectados por el cambio r, w, x. En archivos se indica la lista de stos a los que se les quiere cambiar los permisos. se quitan los derechos de lectura y escritura al grupo propietario y se quitan todos los derechos a otros. Obsrvese que los distintos cambios de permisos se separan por comas. Comando: chown Formato: chown [opciones] usuario archivos Descripcin: Permite el cambio de usuario propietario de un archivo o directorio. Para cambiar el propietario de un archivo o directorios hay que ser el propietario de dicho archivo o ser el usuario root. Si se cambia la propiedad de un archivo sin ser el root ya no se podr volver a obtener dicha propiedad, esta accin la tendr que hacer el nuevo propietario o el root. Las opciones son: Muestra detalladamente la accin de cambio de propietario para cada archivo o -c directorio en el que se realice la accin. Anula los mensajes de error de los archivos o directorio a los que no puede -f cambiar el propietario. -v Muestra detalladamente los cambios de propietario. -R usuario Cambia recursivamente el usuario propietario en los directorios y sus contenidos. archivos En usuario se indica cul va a ser el nuevo propietario. En archivos se indica la lista de archivos y directorios a los que se quiere cambiar el propietario. Ejemplos: chown psanchez tabla.txt Cambia el propietario de tabal.txt al usuario psanchez. Comando: du Formato: du [opciones] archivos

Pgina 51

Sistemas Operativos

2010

Descripcin: Informa sobre la cantidad de espacio que ocupan en disco los archivos y directorios indicados como parmetros. Si no se da ningn parmetro se da la informacin del directorio actual. Las opciones son: Muestra para cada archivo su tamao. -a Muestra los tamaos en bytes. -b Muestra los tamaos en kilobytes. -k Muestra slo la informacin referente a los sistemas de archivos actualmente -x montados. -L Muestra la informacin del espacio ocupado por el archivo al que apunta una ligadura en lugar de mostrar el espacio que ocupa la ligadura en s. -s Muestra el tamao que ocupa cada subdirectorio en conjunto con la suma de archivos todo lo que ocupa su contenido. Lista de directorios y archivos sobre los que se demanda la informacin referente a su tamao. Ejemplos: du s /var Muestra el tamao total ocupado por el directorio /var y todo su contenido. Comando: file Formato: file [opciones] archivos Descripcin: Da informacin sobre un archivo referente al tipo de archivo. As nos dar informacin sobre si un archivo es ejecutable, de datos, de texto. Las opciones son: -c Muestra para cada archivo su tamao. -z Muestra los tamaos en bytes. -L Muestra los tamaos en kilobytes. -f archilista Muestra slo la informacin referente a los sistemas de archivos -m actualmente montados. Muestra la informacin del espacio ocupado por el archivo al que archivos apunta una ligadura en lugar de listar el espacio que ocupa la ligadura en s. Lista de directorios y archivos sobre los que se demanda la informacin referente a su tipo. Ejemplo: file /etc/profile Nos indica el tipo de archivo que es el archivo file /etc/profile, que en este caso es de texto. Comando: head Formato: head lneas archivos Descripcin: Muestra la cantidad de primeras lneas indicadas de una lista de archivos. Las opciones son: -lneas Cantidad de lneas que queremos que se muestre. archivos Lista de archivos separados por comas que se pretende que se muestre el nmero de lneas indicado, por defecto diez. Comando: tail Formato: tail [opciones] archivo Descripcin: Muestra las ltimas lneas del archivo que se le pasan como parmetro. Por defecto muestra las diez ltimas lneas.
Pgina 52

Sistemas Operativos

2010

Las opciones son: Nmero desplazamiento dentro del archivo, en nmero de lneas, a partir de los offset cuales queremos que se muestre el archivo. Si el nmero va precedido del signo +, mostrar a partir de ese nmero de lneas, si va precedido del signo , mostrar a partir de ese nmero de ltimas lneas. -f Muestra el crecimiento de un archivo, slo termina con la combinacin de teclas archivo [Ctrl] [C]. Archivo que se quiere procesar. Comando: wc Formato: wc [opciones] [archivo(s)] Descripcin: La orden wc (word counter) es un contador de lneas, palabras y caracteres de un archivo. Para wc, una palabra es una cadena de caracteres delimitada por espacios en blanco, tabuladores o retornos de carro existentes en el archivo. Las posibles opciones son: -l Visualizar el nmero de lneas. -w Visualizar el nmero de palabras. -c Visualizar el nmero de caracteres. Si a wc no se le especifica ninguna opcin, tomar por defecto las tres anteriores, visualizando en orden el nmero de lneas, palabras y caracteres. Ejemplo: $ wc ftemp 253 939 6728 ftemp En el caso anterior, wc est indicando que el archivo ftemp tiene 253 lneas, 939 palabras y 6728 caracteres. Obviamente, la orden wc slo puede ser utilizada para procesar archivos de texto. Comando: su Formato: su [] [usuario] Descripcin: La orden su (switch user) permite cambiar nuestro identificador de usuario. Cuando se invoca, nos pide la palabra clave (password) del usuario al que queremos cambiar. Si a su no le pasamos como parmetro ningn nombre de usuario, asumir que deseamos convertirnos en el administrador del sistema (root). Obviamente, si no conocemos la palabra clave del usuario, la orden fallar. La opcin se emplea para indicar a su que se tomen los parmetros de inicio (directorio de arranque, ruta de bsqueda de archivos, variables del entorno, etc.) definidos por el usuario al que nos convertiremos. Por defecto estos parmetros no se toman. Ejemplo: $ su lucas password: $ id uid=519(lucas) gid=519(lucas) grupos=519(lucas) Comando: sort Formato: sort [opciones] [+campo] [archivo(s)] Descripcin: Ordena lneas compuestas por campos, separados por tabuladores, aunque podemos especificar cualquier tipo de separador de campo. Si a sort no le pasamos ningn archivo como parmetro, tomar su entrada de la entrada estndar. Con esta orden
Pgina 53

Sistemas Operativos

2010

podemos ordenar las lneas de uno o varios archivos segn un campo en particular. Esta ordenacin no produce ninguna modificacin en los archivos tratados. Ejemplo: $ Cat > desord uno dos tres cuatro [Ctrl-d] $ sort desord cuatro dos tres uno $ cat > numeros 101 112 10 373 64 19 1111 [Ctrl-d] $ sort numeros 10 101 1111 112 19 373 64 Podemos observar, a tenor de los resultados, que algunos nmeros aparecen ordenados aparentemente al revs. La razn es que sort, por defecto, ordena las palabras segn los caracteres ASCII que la componen. Si lo que deseamos es ordenar segn el valor numrico asociado a esos caracteres, debemos utilizar la opcin n (ordena numricamente), tal y como se muestra a continuacin: $ sort n numeros 10 19 64 101 112 373 1111 Los campos separadores utilizados por defectos son los tabuladores, y en algunas versiones de sort, tambin los espacios en blanco, pero tambin podemos decirle que utilice cualquier tipo de separador especfico, utilizando para ello la opcin t y a

Pgina 54

Sistemas Operativos

2010

continuacin el separador. Como ejemplo vamos a ordenar el archivo que figura a continuacin, denominado sortfich, por el ltimo campo. $ cat sortfich blanco:73:Marte:1543:Manuel verde:17:Jupiter:1968:Sebastian azul:24:Venus:1970:Ana rojo:35:Neptuno:1122:Javier amarillo:135:Tierra:1234:Raul Como podemos apreciar, los distintos campos estn separados por dos puntos. Eso no es ningn problema para sort, ya que podemos especificar el carcter de separacin de campos que deseemos. $ sort t: +4 sortfich azul:24:Venus:1970:Ana rojo:35:Neptuno:1122:Javier blanco:73:Marte:1543:Manuel amarillo:135:Tierra:1234:Raul verde:17:Jupiter:1968:Sebastian En el caso del ejemplo, el ltimo campo es el nmero 4, por eso en las opciones de sort hemos puesto un +4. Obsrvese que la numeracin de campos comienza por el cero. Comando: grep Formato: grep [opciones] patrn [archivo(s)] Descripcin: Permite buscar cadenas de caracteres en los archivos que le indiquemos. grep toma el patrn que deseamos buscar como primer argumento y el resto de los argumentos los toma como nombres de archivos. En caso de que el elemento que deseemos buscar se componga de ms de una palabra, ese elemento deberemos incluirlo entre comillas dobles. Una vez buscado el patrn, se visualizan todos los archivos que lo contienen. Con grep podemos utilizar varias opciones; las tres ms comunes son las que se citan a continuacin: -i Indica a grep que se ignoren maysculas y minsculas. Se busca el patrn y no se diferencia entre letras maysculas y minsculas. -v Visualiza por pantalla las lneas que no contienen el patrn especificado. -n Muestra por pantalla el nmero de lnea en que se encuentra el patrn. Ejemplos: $ grep NULL * depura.c: argn = strtoul (argum, (char **)NULL, 16); depura.c: argn = strtoul (argum, (char **)NULL, 16); depura.c: DirecDeParada = strtoul (&orden[1], (char **)NULL, 16); depura.c: R[reg] = strtoul (cadena, (char **)NULL, 16); desen.c: if ((pf = fopen (programa, r)) == NULL) En este caso, grep busca el patrn NULL en todos los archivos del directorio actual. Recordemos que el asterisco sustituye a cualquier cadena de caracteres, y en este caso a todos los archivos del directorio en el que estemos situados. $ grep n main /home/chan/spro/*.c /home/chan/spro/desen.c:21:main (int argc, char *argv[]) /home/chan/spro/desen.c:46:} /* Fin de main */
Pgina 55

Sistemas Operativos

2010

/home/chan/spro/ensa.c:30:main() /home/chan/spro/ensa.c:42:} /* Fin de main */ /home/chan/spro/gen.c:3:main() /home/chan/spro/principal.c:19:void main (int argc, char *argv[]) /home/chan/spro/principal.c:53:} /* Fin de main */ En el caso anterior, al colocar la opcin n se visualiza el nmero de lnea del archivo donde se encuentra el patrn buscado.

Comando: find Formato: find directorio(s) criterios_de_seleccion opcion_de_comando Descripcin: El comando find se utiliza para examinar la jerarqua de directorios en bsqueda de archivos. Para esta bsqueda pueden indicarse ciertos criterios. Adems, tambin puede aparecer el nombre del archivo encontrado en pantalla o ejecutarse con un comando. Puesto que el comando find examina sistemticamente los directorios y sus subdirectorios, se ha convertido en una herramienta indispensable para el usuario y especialmente para el administrador del sistema. Las posibilidades del comando find no solo pueden utilizarse para la bsqueda de archivos individuales, sino que tambin pueden utilizarse para guardar datos o eliminar archivos dispersos por el sistema de archivos. Estructura y modo de funcionamiento del comando find El comando find examina los directorios y sus subdirectorios de forma recursiva en bsqueda de archivos o incluso directorios. Para ello find se vale de tres datos distintos: En qu directorio debe iniciarse la bsqueda de archivos?. Cules son los criterios de seleccin para esta bsqueda?. Que debe hacer al encontrar un archivo o un directorio que cumple con los criterios de seleccin?

El primero y el tercero son indispensables pero el segundo puede omitirse, en cuyo caso se encontraran todos los archivos. Como parmetros pueden indicarse varios directorios a partir de los cuales se iniciara la bsqueda. La opcin de comando ms sencilla es print. Con este se muestra el nombre de ruta de todos los archivos encontrados. El ejemplo siguiente muestra como visualizar todos los archivos que se encuentran bajo el directorio actual. Con el primer parmetro del comando find se determinara cual es el punto de partida para la bsqueda del directorio actual. La opcin -print indica que debe indicarse el nombre de ruta del archivo encontrado.

Pgina 56

Sistemas Operativos

2010

Los archivos encontrados se visualizaran mediante sus nombres de ruta relativos. S i como punto de inicio para la bsqueda se especifica un nombre de ruta absoluto, en la salida aparecern tambin los nombres de ruta absolutos. Durante la bsqueda, find examina tambin los subdirectorios bajo el directorio de inicio. Aqu se tiene tambin en cuenta, lgicamente, los derechos de acceso de los directorios. Un directorio solo podr examinarse cuando el usuario posea derechos de lectura y ejecucin para dicho directorio. Si no es as se enviara un mensaje de error a travs del canal de errores.

Criterios de seleccin para archivos y directorios Si no se introducen opciones de seleccin el comando find encontrara todos los archivos, siempre que lo permitan las autorizaciones para todo el directorio. Con las opciones de seleccin se delimita el numero de archivos . Las siguientes opciones de seleccin pueden utilizarse para delimitar la bsqueda. Opcin -name -type -user -group -size -atime -mtime -ctime -perm -links Significado Bsqueda por nombre de archivo Bsqueda por tipo de archivo Seleccin por propietario del archivo Seleccin por pertenencia a grupo Seleccin por tamao del archivo Seleccin por fecha del ltimo acceso Seleccin por fecha de la ltima modificacin del archivo Seleccin por fecha de creacin del archivo Seleccin por derechos de acceso Seleccin por numero de referencias del archivo

Con todas las opciones excepto name , -type, -user, -group y perm, aparecen cifras como parmetros , adicionales tras el nombre de opcin. Ante la cifra puede aparecer tambin un signo ms (+) o un signo menos (-). Un signo ms significa siempre mayor que y un signo menos significa siempre menor que es decir, el dato +3 significa que se permiten valores mayores que 3, y el dato -5 que solo se admiten valores menores que 5.

Pgina 57

Sistemas Operativos

2010

Con la opcion name seguido de un nombre de archivo se define que nombre de archivo debe tener el archivo que se buscara. La figura siguiente muestra algunos ejemplos. En lugar de nombres de archivo fijos, tambin pueden utilizarse plantillas de bsqueda para los nombres de archivo. en ese caso, el comando find accede a los mismos smbolos especiales que el shell en la expansin del nombre de archivo. Para que sea el comando find el que interprete los smbolos especiales y no el shell, estos deben protegerse del shell mediante comillas o comillas invertidas. adams:-$ find . name abraham -print ./abraham ./mi_primer/abraham adams:-$ find . name A-Z]* -print ./Verdura ./Fruta ./Sortdat ./ListaUsuarios ./mi_segundo/k ./mi_segundo/m ./mi_segundo/s adams:-$ find . name *t -print ./Fruta ./Sortdat adams:-$ Opcion name En ningn caso debe olvidar introducir como mnimo la opcion print. Sin la opcion print el comando find ejecuta la bsqueda de archivos, pero no muestra nada en pantalla al encontrar los archivos deseados. Seleccin por el tipo de archivo Hasta ahora conocemos solo tres tipos de archivos diferentes: 1. Archivos Normales 2. Carpetas 3. Archivos de Dispositivo El tipo de archivo tambin puede ser un criterio de seleccin en la bsqueda por el rbol de archivos. En la siguiente lista se resumen los tipos de archivos que find diferencia con las letras identificadas por cada uno de ellos:

Pgina 58

Sistemas Operativos

2010

Letra identificativa f d c b p

Tipo de a archivo Archivo Normal Directorio Archivo de dispositivo orientado a caracteres Archivo de dispositivo orientado a bloques Canalizaciones con nombre o FIFO

En este momento no trataremos en detalle de los llamados archivos FIFO. Se utilizan para el intercambio de datos entre procesos que no se encuentran en relacin directa entre procesos principales y secundarios. Por otra parte, funcionan como las conocidas canalizaciones. Las opciones de seleccin name y type pueden combinarse tal como se muestra en la siguiente figura. En este caso, deben cumplirse ambos criterios a la vez. Se dice que ambos criterios de seleccin se vinculan con un Y lgico. adams:-$ find . type d -print . ./.term ./mi_primer ./mi_segundo adams:-$ find . type d -name *Z* -print ./mi_segundo adams:-$ combinacin de - name y type La opcin - user permite la seleccin de los archivos que pertenecen a un propietario determinado. Para ello se especifica el nombre del propietario como siguiente parmetro tras la opcion - userTambin podra suceder que se buscaran archivos que pertenecieran a usuarios que no se conocieran en el sistema como propietario habitual. En este caso, en el lugar en el que normalmente aparecera un nombre de usuario en el comando ls-l, aparece solo un nombre de usuario. Dichos nmeros de usuario son tambin admisibles como parmetro tras la opcion user. En la siguiente figura encontrara ejemplos para la bsqueda de archivos por nombres de archivo y ejemplos para la opcion group. La opcion - group tiene una estructura similar a al de la opcion - user.

Pgina 59

Sistemas Operativos

2010

Con group el criterio de seleccin ser la pertenencia del archivo a un grupo determinado. Para los archivos pertenecientes a un grupo que en el sistema no se conoce mediante un nombre de grupo, se especificara como parmetro siguiente solo el numero de identificacin del grupo. adams:-$ find / - user hugo -print 2>/dev/null>lista adams:-$ cat lista /tmp/lista /var/spoll/mail/hugo /home/hugo /home/hugo/.kermrc /home/hugo/.less /home/hugo/.lessrc /home/hugo/.term /home/hugo/.term/termrc /home/hugo/abraham /home/hugo/verdura /home/hugo/mi_primer /home/hugo/mi_primer/passwd /home/hugo/mi_primer/group /home/hugo/mi_primer/abraham /home/hugo/mi_primer/zebraham -rwxr-xr-x 1hugo sys 98 May 5 13:49 keymap* -rwxr-xr-x 1hugo sys 211 May 5 13:49 local* adams:-$ find . group sys -print ./mi_segundo/K ./mi_segundo/M ./mi_segundo/S ./mi_segundo/keymap ./mi_segundo/local ./mi_segundo/0 ./mi_segundo/cdrom

Con frecuencia puede resultar til al usuario buscar archivos especialmente grandes o solo archivos vacos. La opcion size permite la bsqueda de archivos segn su tamao. Tras la opcion size se indican los datos de tamao que pueden representarse en una cifra de bloque o en una cifra de bytes. Si no se indica lo contrario, la cifra tras la opcion se interpretara como cifra de bloque. Cada bloque tiene un tamao de 512 caracteres. Para averiguar el numero de caracteres a partir del numero de bloque, debe multiplicarse por 512 la cifra tras la opcion size. Con el siguiente comando se realizara la bsqueda de todos los archivos que tengan exactamente 5120 caracteres: find . size 10 -print

Pgina 60

Sistemas Operativos

2010

Tambin puede incorporarse a la cifra el carcter c si el valor debe interpretarse como numero de caracteres. La bsqueda anterior tambin podra activarse de la siguiente forma: find . size 5120c -print El comando find gana flexibilidad con una ampliacin que ya hemos mencionado al principio del capitulo. Si delante de la cifra aparece un signo menos, se buscaran todos los archivos menores que el dato en bytes o bloques. Con un signo mas delante de la cifra se buscaran solo archivos mayores que dicho valor. Para buscar todos los archivos mayores que 200 KB, podra utilizarse el siguiente comando: find . type f -size +200k -print En este caso, no se utilizara la letra c, sino la letra k para indicar que el valor debe interpretarse como referencia a KB. Como criterio adicional se indica tambin el tipo de archivo. Normalmente, el resto de tipos de archivo no son tan grandes. Mediante las tres marcas de tiempo introducidas para cada archivo, se registra internamente en segundos cuando se creo, se accedi y se modifico el archivo por ultima vez. El comando find no soporta esta precisin. El comando find y sus tres opciones, -atime, -mtime y ctime, consultan solo con exactitud en periodos de 24 horas. Para las tareas que debe llevar a cabo es normalmente suficiente. Como ya explicamos con la opcion size, delante de los datos de las opciones atime, mtime y - ctime pueden aparecer signos ms o menos para indicar que se permite un valor o menor que la cifra del da. A continuacin se muestra un ejemplo del comportamiento del comando find con la opcion mtime: find . mtime -3 -print

Opciones del comando find Las opciones se ejecutan para cada archivo encontrado. Junto con las opciones de comando print que muestra el nombre de ruta del archivo encontrado, con la opcion de comando exec puede ejecutarse el comando introducido tras esta. Los comandos que aparezcan tras -exec se ejecutaran sin previa comprobacin. La opcion de comando ok plantea al usuario la pregunta de si realmente desea ejecutar el comando. La ejecucin sin pregunta de constatacin con la opcion de comando exec la especificacin de un comando tras la opcion exec debe someterse a algunas reglas que exponemos a continuacin:
Pgina 61

Sistemas Operativos

2010

La opcion de comando exec debe ser la ultima opcion. El comando tras la opcion de exec debe cerrarse mediante el parmetro \; puesto que el punto y coma es un carcter especial para el shell, debe protegerse del shell con una barra diagonal si en el comando tras la opcion exec debemos referirnos al nombre de archivo encontrado , se utiliza el signo {}. El siguiente comando muestra el formato del comando ls para cada archivo encontrado: find . user hugo -exec ls -l {} \; El punto y coma debe reconocerse tambin como parmetro. Una forma habitual de utilizar el comando find y la opcion exec es la supresin de archivos que se encuentran en directorios diferentes pero que cumplen unos criterios comunes. Si se deseara suprimir todos los archivos a los que no se han accedido desde hace dos semanas se utilizara el comando: find . type f -atime +13 -exec rm {} \; Para la opcin de comando ok, se aplican las mismas normas que para la opcin exec, pero con la opcion ok se indica en pantalla el comando completo para cada archivo encontrado y se pregunta si el comando correspondiente debe ejecutarse de la forma indicada. El comando tras la opcion ok solo se ejecutara si se responde y a la pregunta. adams:-$ find . exec echo <<archivo: << {} \;

3.3 Comandos para el manejo de procesos 3.3.1 Definicin de proceso. En esencia, un proceso o tarea es una instancia de un programa en ejecucin. Es la unidad ms pequea de trabajo individualmente planificable por un SO. Un SO de multiprogramacin se encarga de seguir la pista a todos los procesos activos y les asigna recursos del sistema de acuerdo a polticas ideadas para satisfacer objetivos de rendimiento de diseo. Todo el software ejecutable de la computadora, inclusive el SO, se organiza en varios procesos secuenciales, o en forma breve procesos. Un proceso es tan slo un programa en ejecucin, lo que incluye los valores activos del contador, registros y variables del programa. De manera conceptual, cada proceso tiene su propia CPU virtual. Por supuesto, la realidad es que la verdadera CPU alterna entre los procesos; pero para comprender el sistema, es mucho ms fcil pensar en un conjunto de procesos en ejecucin (seudo) paralela, que pensar en llevar un registro de la forma en que alterna la CPU de programa en programa. Esta rpida alternancia se llama multiprogramacin.

Pgina 62

Sistemas Operativos

2010

Si la CPU alterna entre los procesos, la velocidad a la que se ejecuta un proceso no ser uniforme y es probable que no se pueda reproducir si los mismos procesos se ejecutan de nuevo. As, los procesos no deben programarse con hiptesis implcitas acerca del tiempo. Por ejemplo, consideremos un proceso de Entrada/Salida que inicializa el movimiento de una cinta magntica, ejecuta un ciclo intil 1000 veces para que la cinta alcance su velocidad de trabajo y despus proporciona un comando que lee el prime registro. Si la CPU decide alternar con otro proceso durante este ciclo, podra ocurrir que el proceso de la cinta no se ejecutara sino hasta que el primer registro hubiera pasado por la cabeza de lectura. Cuando un proceso tiene requisitos crticos en tiempo real como en este ejemplo, es decir, cuando dos sucesos deben ocurrir en un lapso dado en milisegundos, hay que tomar medidas especiales para garantizar que dichos sucesos ocurran. Sin embargo, lo normal es que la mayora de los procesos no sean afectados por la multiprogramacin subyacente de la CPU o las velocidades relativas de procesos distintos. La diferencia entre un proceso y un programa es sutil, pero tambin crucial. Podramos utilizar la siguiente analoga para aclarar este punto. Consideremos un cientfico de la computacin con una mente culinaria, que est cocinando el pastel de cumpleaos de su hija. El tiene una receta para un pastel de cumpleaos y una cocina bien abastecida con los ingredientes necesarios: harina, huevo, azcar, extracto de vainilla, etc. En esta analoga, la receta es el programa (es decir, un algoritmo expresado en cierta notacin adecuada), el cientfico de computacin es el procesador (CPU) y los ingredientes del pastel son los datos de entrada. El proceso es la actividad en la que el cocinero lee la receta, busca los ingredientes y cocina el pastel. Imaginemos ahora que el hijo del cientfico entra corriendo, llorando y diciendo que lo ha picado una abeja. El cientfico registra el punto de la receta donde se qued (el estado del proceso activo se resguarda), busca un libro de primeros auxilios y comienza a seguir las instrucciones de ste. Aqu vemos que el procesador alterna de un proceso (cocinar) a otro de mayor prioridad (administrar cuidado mdico), cada uno con un programa distinto (recetario vs). Libro de primeros auxilios). Despus de atender la picadura, el cientfico regresa al punto donde se encontraba. La idea clave es que un proceso es una actividad de cierto tipo. Tiene un programa, entrada, salida, y estado. Un solo procesador puede ser compartido entre varios procesos, con cierto algoritmo de planificacin, que se utiliza para determinar cuando detener el trabajo en un proceso y dar servicio a otro distinto. 3.3.2 ID de un proceso LINUX identifica los procesos mediante un entero nico denominado ID de proceso. Al nivel ms bajo, un proceso nuevo se crea mediante una llamada al sistema1 con fork. El proceso que ejecuta la solicitud para la creacin de un proceso recibe el nombre de proceso padre y el proceso creado se conoce como proceso hijo. Los dos procesos tienen el mismo entorno, las mismas especificaciones de manejo de seales, los mismos Ids de grupo y de usuario y la misma clase y prioridad de planificador, pero diferentes IDs de proceso.

Una llamada al sistema es el llamado a una subrutina que hace que el ncleo proporcione algn servicio a un programa. Pgina 63

Sistemas Operativos

2010

LINUX asocia cada proceso con un usuario particular conocido como propietario del proceso, el cual tiene ciertos privilegios. Cada usuario tiene un nmero de identificacin nico que se conoce como ID del usuario. 3.3.3 Estados de un proceso El estado de un proceso indica la condicin en que ste se encuentra en un momento determinado. Muchos SOs permiten alguna forma de los estados que aparecen en la tabla 3.1 Estado Nuevo (new) Ejecucin (running) Bloqueado (blocked) Listo (ready) Hecho (done) Significado Creacin del proceso. Ejecucin de las instrucciones del proceso. Proceso en espera de un evento, como una operacin de E/S. Proceso en espera de ser asignado al procesador. Proceso terminado y recuperacin de sus recursos.

Tabla 3.1: Estados de los procesos.

El diagrama de estados es una representacin grfica de los estados permitidos de un proceso, as como de las transiciones permitidas entre stos. Estados del proceso. Aunque cada proceso es una unidad independiente, con su propio contador de programa y estado interno, es frecuente que los procesos deban interactuar con otros. Un proceso podra generar cierta salida que fuera utilizada por otro. Cuando un proceso se bloquea, lo hace porque desde el punto de vista lgico no puede continuar; esto ocurre, por lo general, porque espera ciertos datos que no estn disponibles todava. Tambin es posible que se detenga un proceso que conceptualmente est listo y que se pueda ejecutar, debido a que el SO ha decido asignar la CPU a otro proceso en cierto momento. Estas dos condiciones son totalmente distintas. En el primer caso, la suspensin es inherente al problema (no se puede procesar la lnea de comando del usuario hasta que sta sea escrita). En el segundo caso, es un aspecto tcnico del sistema (no existe la CPU suficiente para darle a cada proceso su propio procesador privado).
En ejecucin 1 Bloqueado 4 3 2 Listo 1. BLOQUEADO. El proceso se bloquea en espera de datos. 2. EXPIRACIN DEL TIEMPO. El planificador elige otro proceso. 3. DESPACHAR. El planificador elige este proceso. 4. DESPERTAR. Los datos estn disponibles.

Un proceso puede estar en ejecucin, bloqueado o listo. Las transiciones entre estos estados se muestran en la figura. Pgina 64

Sistemas Operativos

2010

En la figura vemos un diagrama de estados que muestra los tres que puede tener un proceso: a) En ejecucin (utiliza la CPU en el instante dado). b) Listo (ejecutable, se detiene en forma temporal para que se ejecute otro proceso). c) Bloqueado (no se puede ejecutar debido a la ocurrencia de algn evento externo). Desde el punto de vista lgico, los dos primeros estados son similares. En ambos casos, el proceso desea ejecutarse, slo que en el segundo caso, no existe CPU disponible para l. El tercer estado es distinto de los otros puesto que el proceso no se puede ejecutar, incluso aunque la CPU no tenga labores que realizar. Son posibles cuatro transiciones entre estos estados, como lo muestra la figura. La transicin 1 ocurre cuando un proceso descubre que no puede continuar. En ciertos sistemas, el proceso debe ejecutar una llamada al sistema para pasar al estado de bloqueo. Lo ms frecuente es que un proceso lea de un tubo o archivo especial (por ejemplo, una terminal) y que no existan datos disponibles, por lo que el proceso se bloquea en forma automtica. La transicin 2 y 3 se deben al planificador de proceso (una parte del SO), sin que el proceso sepa de ellas. La transicin ocurre cuando el planificador decide que el proceso en ejecucin ya ha sido ejecutado el tiempo suficiente y que es hora de que otro proceso tenga tiempo de CPU. La transicin 3 ocurre cuando los dems procesos han tenido su parte y es tiempo de que el primer proceso vuelva a ejecutarse. El tema de la planificacin, es decir, decidir cul proceso debe ejecutarse, cundo y por cunto tiempo, es muy importante. Se han diseado muchos algoritmos con la intencin de balancear las demandas en competencia por eficacia del SO como un todo y equidad para los procesos individuales. La transicin 4 aparece cuando ocurre el evento externo por el que espera un proceso (como la llegada de nuevos datos). Si no existe otro proceso en ejecucin en ese momento, se produce la transicin 3 en forma inmediata y el proceso comienza su ejecucin. En caso contrario, tendra que esperar en estado listo por un momento, hasta que la CPU est disponible.

3.3.4 Comandos relacionados con la ejecucin de procesos. Existen ciertas rdenes que tardan mucho tiempo en ejecutarse y sin embargo no son interactivas; como ejemplo podemos poner la compilacin de un programa o la comprensin de un archivo de datos. En estos casos, UNIX proporciona la posibilidad de ejecutar rdenes en segundo plano (batch). Al ejecutar un proceso en segundo plano, el shell devuelve el prompt inmediatamente y podemos seguir trabajando en la terminal aun cuando la orden batch siga ejecutndose. Para poner una orden trabajando en batch, la lnea de rdenes debe acabar con un smbolo ampersand (&). El ampersand dice al shell que ejecute la orden, pero que no se quede esperando al proceso hijo. De este modo, podremos mandar compilar un programa en segundo plano y mientras tanto seguir haciendo otras cosas.

Pgina 65

Sistemas Operativos

2010

Comando: ps Formato: ps [opciones] Descripcin: Informa acerca de los procesos que en ese momento se estn ejecutando en el sistema. Si no le pasamos ninguna opcin, slo nos ofrecer un pequeo informe de los procesos asociados a nuestra terminal. En el sistema BSD, esta orden funciona de forma diferente como lo hace en UNIX System V. Las opciones ms comunes para este ltimo son: -e Informa de todos los procesos que hay en el sistema. -f Proporciona una lista completa de cada proceso, incluyendo el identificador de cada uno de ellos (PID) y el identificador del proceso padre (PPID). -l Da listados largos y completos que contiene muchos detalles de los procesos de los que informa, incluyendo prioridad, valor nice y tamao de la memoria. Ejemplo ps ef UID Root Root Root Root Root Root Root Root Root Root Root etc. Root Chan PID 0 1 2 4 3332 3288 3291 3296 3301 3304 3329 3313 4025 PPID C 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 STIME 12:04:19 12:04:19 12:04:19 12:04:19 12:04:46 12:04:33 12:04:34 12:04:34 12:04:36 12:04:37 12:04:45 12:04:39 12:23:22 TTY ? ? ? ? ? ? ? ? ? ? ? ? Tyy0 TIME 0:00 0:00 0:00 0:00 0:00 0:00 0:00 0:00 0:00 0:00 0:00 0:07 0:02 COMMAND swapper /etc/init /pagedaemon netisr /etc/vtdaemon /etc/rlbdaemon /etc/sockregd /etc/syslogd /etc/portmap /etc/inetd /etc/ptydaemon /etc/rwhod s ksh

Analicemos cada uno de los campos anteriores: UID Nombre del usuario propietario del proceso. PID Identificador del proceso. PPID Identificador del proceso padre. C ndica la cantidad de recursos de CPU que el proceso ha utilizado recientemente. El ncleo utiliza esta informacin para calcular la prioridad. Este campo puede ser modificado con la orden nice. STIME Instante de comienzo del proceso. TTY Terminal asociado al proceso. Es el terminal usado por el proceso para operaciones de lectura y escritura estndar. Algunos procesos no estn asociados a ningn terminal, en cuyo caso la columna de TTY de la salida contiene el smbolo de interrogacin, ?. TIME Tiempo de CPU asignado al proceso. COMMAND Nombre del programa que contiene la imagen del proceso. Las opciones ms comunes para la versin BSD difieren, como hemos indicado anteriormente, de la versin System V, y son las siguientes: l Formato de presentacin extendido. u Muestra el nombre de usuario y el tiempo de inicio.
Pgina 66

Sistemas Operativos

2010

m Muestra informacin relacionada con la memoria. a Muestra tambin los procesos de otros usuarios. x Muestra tambin los procesos que no tienen ningn terminal asociado. Comando: kill Formato: kill [-seal] PID [PID...] Descripcin: Enva seales a uno o varios procesos identificados por su PID. Esta orden tambin existe como llamada al sistema para poder ser invocada desde programa. Una seal es una interrupcin software que se enva a un proceso, de forma asncrona, para informarle de algn evento. Cuando un proceso recibe una seal puede tratarla de tres formas diferentes: 1. Ignorar la seal. 2. Invocar la rutina de tratamiento por defecto proporcionada por el ncleo. 3. Invocar una rutina propia que se encargara de tratar dicha seal. Cada seal tiene asociado un nmero entero positivo que la identifica. En el caso UNIX System V existen 19 diferentes, numeradas del 1 al 19. Estas son: 1. SIGHUP: Hanguh. Es enviada a todos los procesos asociados a un mismo terminal cuando este se conecta. La accin por defecto es terminar la ejecucin de los procesos que la recibe. 2. SIGINT: Interrupcin. Es enviada a todos los procesos asociados a un mismo terminal cuando se pulsa la tecla de interrupcin. Por defecto, provoca la terminacin de los procesos que la reciben. 3. SIGQUIT: Salir. Es similar a SIGINT, pero en este caso se enva cuando pulsamos la tecla de salida Ctrl-\ (en LINUX Ctrl-4). 4. SIGILL: Instruccin ilegal. Se enva a cualquier proceso que intente ejecutar una interrupcin ilegal. Por defecto termina la ejecucin del programa que la recibe. 5. SIGTRAP: Es enviada cuando se ejecutan instrucciones paso a paso en un programa. Su accin por defecto tambin es terminar el proceso que la recibe. 6. SIGIOT: Fallo hardware. 7. SIGEMT: Fallo hardware. 8. SIGFPE: Es enviada cuando el hardware detecta un error en una operacin en coma flotante. Por defecto, termina la ejecucin del proceso que la recibe. 9. SIGKILL: Provoca la terminacin del proceso. Esta seal no puede ser ignorada. 10. SIGBUS: Error de acceso a memoria. 11. SIGSGV: Violacin de segmento de memoria. 12. SIGSYS: No se usa. 13. SIGPIPE: Intento de escritura en una tubera en la cual no hay nadie leyendo. 14. SIGALARM: Es enviada al proceso cuando alguno de sus temporizadores llega a cero. Provoca por defecto la terminacin del proceso. 15. SIGTERM: Indica a un proceso que debe terminar su ejecucin. Puede ser ignorada. 16. SIGUSR1: Reservada para el usuario. 17. SIGUSR2: Reservada para el usuario. 18. SIGCLD: Se enva la padre de un proceso si ste muere. 19. SIGPWR: Fallo de alimentacin. La orden kill, como hemos dicho, se utiliza para enviar seales. El que enva la seal debe ser el propietario de los procesos o el administrador del sistema. Por defecto, kill enva la seal nmero 15 al proceso especificado, con intencin de terminar su ejecucin. Esta seal nmero 15 lo mximo que hace es avisar al proceso que termine por si mismo, pero

Pgina 67

Sistemas Operativos

2010

el proceso puede ignorarla. Si queremos eliminar el proceso definitivamente, lo mejor es enviarla la seal nmero 9, que no se puede ignorar. Ejemplo: ps PID 644 661 677 678 679 1809 2432 2663 TTY pts/0 pts/0 pts/0 pts/0 pts/0 pts/0 pts/0 pts/0 STAT S S S S S S S R TIME 0:00 7:20 0:00 0:12 0:00 0:00 0:00 0:00 COMMAND bash /usr/bin/galeon-bin /usr/bin/galeon-bin /usr/bin/galeon-bin /usr/bin/galeon-bin tail f /tmp/wine.log.wl4c8q /usr/bin/galeon-bin ps a

Imaginemos que queremos eliminar el proceso tail cuyo PID es el 1809. La forma de hacerlo sera: kill 9 1809 Veamos como al invocar de nuevo ps ya eliminar. PID TTY STAT TIME 644 pts/0 S 0:00 661 pts/0 S 7:20 677 pts/0 S 0:00 678 pts/0 S 0:12 679 pts/0 S 0:00 2432 pts/0 S 0:00 2663 pts/0 R 0:00 no aparece el proceso que acabamos de COMMAND bash /usr/bin/galeon-bin /usr/bin/galeon-bin /usr/bin/galeon-bin /usr/bin/galeon-bin /usr/bin/galeon-bin ps a

3.3.5 Redireccionamiento de entrada y salida estndar Cada proceso nuevo se crea con tres archivos abiertos2 que se conocen como entrada estndar (teclado), salida estndar (pantalla) y salida de error estndar. Todos los comandos de Linux, as como los programas de aplicacin, aceptan entrada desde la entrada estndar y colocan la salida en la salida estndar. Todos los mensajes de diagnstico se colocan de manera automtica en la salida de error estndar. Cuando se registra un usuario por primera vez, los archivos de entrada, salida y error estndares se anexan a la terminal del usuario; cualquier programa que ejecute (o proceso que cree) hereda la terminal del usuario as como los tres archivos abiertos.
Linux trata del mismo modo a los archivos y dispositivos, por lo que un archivo abierto puede ser un archivo almacenado en un disco (o en algn otro medio de almacenamiento secundario) o un dispositivo (como una terminal). Pgina 68
2

Sistemas Operativos

2010

Linux asocia la entrada del teclado con un archivo llamado stdin, y asocia la salida de la terminal con un archivo llamado stdout. Cualquier usuario de Linux puede redireccionar la entrada y salida para que en vez de que provenga de o vaya hacia la terminal, provenga de un archivo o vaya hacia un archivo. La tabla 3.2 muestra los smbolos de redireccionamiento y su significado empleados en Linux. Smbol Significado o < Se usa para redireccionar la entrada en un comando o programa a fin de que provenga de un archivo y no de la terminal, es decir, en vez de que la entrada provenga del teclado de la terminal, viene de un archivo. Por ejemplo, el siguiente comando envia por correo electrnico el archivo info al usuario jperez. mail jperez < info En vez de volver a escribir el contenido del archivo info hacia el comando mail, se utiliza dicho archivo como la entrada (stdin) hacia el comando mail. > Se emplea para redireccionar la salida de un programa hacia un archivo, es decir, en vez de que la salida vaya a la pantalla de la terminal, se coloca en un archivo. Por ejemplo, el siguiente comando guarda la hora y fecha actuales en el archivo fecha: date > fecha En lugar de que el comando date despliegue la hora y fecha actuales en la pantalla de la terminal las enva al archivo fecha. Linux crea o sobreescribe el archivo a la derecha del smbolo >, por lo que debe tenerse cuidado de no destruir informacin til de esta manera. >> Se usa para aadir informacin a un archivo existente. Por ejemplo, el siguiente comando agrega la fecha actual a un archivo llamado reporte: date >> reporte Tabla 3.2: Smbolos de redireccionamiento de la E/S estndares. A continuacin se presenta un ejemplo ms extenso. Suponga que el archivo ventas contiene en el primer campo de cada lnea de texto un cdigo de identificacin de cliente. date > reporte_ventas sort < ventas >> reporte_ventas mail jperez smaldonado < reporte_ventas La primera lnea coloca la salida del comando date (fecha) en el archivo reporte_ventas. La segunda lnea utiliza el archivo ventas como entrada hacia el comando sort (ordenar) y aade la salida al archivo reporte_ventas. La ltima lnea enva por correo electrnico el archivo reporte_ventas a los usuarios jperez y smaldonado.

Pgina 69

Sistemas Operativos

2010

Nota: Si se redirecciona un mismo archivo como entrada y salida hacia un comando, lo ms probable es que se destruya el contenido del archivo.

3.3.6 Conexin de procesos mediante tuberas. Aunque cada proceso (programa o comando) es una entidad independiente, con su propio contador de programa y estado interno, es usual que los procesos deban interactuar con otros. Con frecuencia es necesario utilizar la salida de un proceso como entrada de otro, o dicho de otra manera, un proceso podra generar cierta salida que fuera utilizada por otro. Por ejemplo, en el comando: cat Capitulo1 Capitulo2 Capitulo3 | grep programa el primer proceso, que ejecuta cat, concatena tres archivos. El segundo proceso, que ejecuta grep, selecciona e imprime en la salida estndar todas las lneas que contienen la palabra programa desde la salida generada por el primer proceso (concatenacin de los archivos Capitulo1, Capitulo2 y Capitulo3 ). En vez de introducir cada comando por separado y guardar los resultados en archivos intermedios, puede conectar una secuencia de comandos por medio de una tubera. El carcter de tubera de Linux es una barra vertical ( | ). El trmino tubera es apropiado. La salida del programa a la izquierda de la tubera (la barra vertical) se enva por la tubera y se emplea como la entrada del programa situado a la derecha. Con las tuberas es posible conectar varios procesos. La tabla 3.3 muestra algunos ejemplos. Comando sort ventas | lp cat ventas* | sort | lp ls l | less ls | tee3 datos | more who > fusu | pico Accin Ordena el archivo ventas y lo imprime. Imprime una lista ordenada de los datos de todos los archivos con nombres que comienzan con ventas. Despliega en la pantalla la salida del comando ls l Coloca una copia del listado de archivo generado por ls en el archivo datos, mientras se ve el listado por medio del paginador more. Escribe la salida del comando who en el archivo fusu y dicho archivo lo recibe como entrada el editor de texto pico.

Tabla 3.3: Ejemplos de comandos que emplean tuberas ( | ).

3.3.7 Procesamiento en segundo plano Linux permite correr un comando en segundo plano al mismo tiempo que se ejecuta un comando en primer plano, es decir, el Shell permite correr un proceso e iniciar otro antes de que se complete el primero; al hacer esto, el primer proceso queda en segundo plano.
3 El comando tee divide la salida de una tubera en uno o ms archivos. Esto permite que se capture lo que se est enviando hacia la salida estndar y se coloque esa salida en un archivo mientras todava se permite que la salida fluya por la salida estndar.

Pgina 70

Sistemas Operativos

2010

Para colocar un proceso en segundo plano es necesario utilizar el smbolo & como ltimo carcter de la lnea que contiene el comando que se desea que corra en segundo plano. Por ejemplo, al introducir el siguiente comando: sort ventas > ventas.ord & ver un nmero en la pantalla que corresponde al PID del proceso que se coloc en segundo plano. Por lo general, cuando se ejecuta un comando, el shell suspende operaciones hasta que ste se completa. Si se agrega el smbolo & al final de una cadena de comandos, sta correr simultneamente con el shell, el cual contina su operacin tan pronto como se ejecuta el comando de segundo plano. A menos que se use un redireccionamiento de E/S con el comando de segundo plano, tanto el comando de segundo plano como el shell actual esperarn una entrada de la terminal y producirn una salida hacia la misma. A menos que el comando de segundo plano se encargue de la propia E/S, la sintaxis para el procesamiento en segundo plano es: cadena_de_comando [archivo_de_entrada] archivo_salida & Por ejemplo, para copiar una serie de archivos cuyos nombres terminan con los caracteres .txt a un subdirectorio llamado antiguos y, sin esperar a que termine ese proceso, imprimir una lista ordenada de los datos en todos los archivos cuyo nombre empiece con ventas, se escribe: cp *.txt antiguos & cat ventas* | sort | lp Notas: 1. Se colocan trabajos en segundo plano cuando: a) Se quiere esperar a que un programa termine antes de arrancar otro. b) Se tiene una serie de tareas y por lo menos una de ellas debe correr por s misma. En tal caso, se inicia sa y se coloca en segundo plano. 2. Todos los procesos hijos se aniquilan cuando mueren sus padres. Como el proceso en segundo plano es hijo del shell del usuario, se aniquila de manera automtica despus de que el usuario termina una sesin.

3.4 Editor vi Un editor de texto es simplemente un programa usado para la edicin de archivos que contienen texto, como una carta, un archivo en C o un archivo de configuracin del sistema, mientras que hay muchos editores de texto en Linux, el nico editor que est garantizado encontrar en cualquier sistema UNIX y es el vi visual editor . Este es el editor estndar usado por todos los sistemas UNIX, el cual sirve para escribir y modificar archivos. La manera de entrar al editor es a travs de la lnea de comandos tecleando vi y despus el nombre del archivo o desde el men de programas.
Pgina 71

Sistemas Operativos

2010

El editor vi tiene 3 modos de trabajo -Modo Comando -Modo Insercin - Modo Ejecucin de Comandos Cada uno de los cuales cuenta con sus propios comandos, que ha continuacin se explican:

3.4.1 Modo comando Para activar este modo se presiona la tecla ESC, y entonces queda listo para recibir instrucciones las cuales tienen categoras en base a la funcin que desempean. enseguida se muestra un listado de las categoras del modo comando con sus comandos respectivos. Movimientos del cursor h Desplaza el cursor una localidad hacia la izquierda. j Desplaza el cursor una localidad hacia abajo k Desplaza el cursor una localidad hacia arriba. l Desplaza el cursor una localidad hacia la derecha. w e Desplaza el cursor una palabra a la derecha. b Desplaza el cursor una palabra hacia la izquierda $ Desplaza el cursor al final de la lnea . O Desplaza el cursor al principio de la lnea. G Desplaza el cursor al final del documento. lG Desplaza el cursor al principio del documento. nG Desplaza el cursor a la lnea n dentro del documento. ctrl.-f Una pantalla hacia delante. ctrl.-b Una pantalla hacia atrs.

Reemplazo de texto r ns R cw ncw c$ cO cc ncc Reemplaza la letra sobre el cursor por la que sea presionada despus de la letra Cambia n letras partiendo de la posicin del cursor. Reemplaza todo texto deseado a partir de la posicin del cursor. Cambia la palabra que se encuentra el cursor. Cambia n palabras empezando con la que se encuentra sobre el cursor Cambia todo el texto a partir del cursor y hasta el final de la lnea. Cambia todo el texto a partir del cursor y hasta el inicio de la lnea. Cambia el texto de una lnea completa. Cambia el texto de n lneas completas.

Borrado de texto
Pgina 72

Sistemas Operativos

2010

x nx dw ndw d$ D d0 dd ndd

Borra el carcter que se encuentra sobre el cursor. Borra n caracteres partiendo de la posicin del cursor. Borra una palabra que se encuentra sobre o a la derecha del cursor. Borra n palabras que se encuentran sobre o a la derecha del cursor. Borra el texto de la posicin del cursor al final de la lnea. Borra el texto de la posicin del cursor al inicio de la lnea. Borra la lnea donde se encuentra el cursor. Borra n lneas a partir de donde se encuentra el cursor.

3.4.2 Modo de insercin Para activar este modo se presiona cualquiera de las teclas que permiten introducir texto al documento las cuales son: I I A A O O Entra al modo de insercin de texto. Inserta el texto al principio de la lnea. Aade texto una posicin delante de la del cursor. Aade texto al final de la lnea. Abre una lnea para insercin de texto bajo la posicin del cursor. Abre una lnea para insercin de texto sobre la posicin del cursor.

3.4.3 Modo ejecucin de comandos Para activar este modo se presiona la tecla ESC y uno de los siguientes caracteres :,/,? !. Ms adelante se ver el uso de cada uno de ellos. Una vez activado este modo se pueden realizar las siguientes funciones:
Bsqueda Busca un patrn de caracteres a partir de la posicin el cursor hasta el final del archivo. ? patrn Busca un patrn de caracteres partiendo de la posicin del cursor hasta el inicio del archivo /patrn n N Repite la ltima bsqueda o busca la siguiente ocurrencia. Repite la ltima bsqueda o busca la siguiente ocurrencia en sentido contrario. Reemplazo :s/patrn/cadena/[g] Busca la cadena patrn en la lnea actual y al encontrarlo lo reemplaza por cadena. Si la opcin g esta puesta har un reemplazo
Pgina 73

Sistemas Operativos

2010

global en la lnea de los contrario solo reemplazar la primera ocurrencia.

Copiado :inicio,final co posicin Copia el texto a partir de la lnea inicio hasta la lnea final y lo posiciona en el lugar posicin

Movimiento :inicio ,final m posicin Mueve el texto que se encuentra entre las lneas inicio y final posicionndolo a partir de la lnea posicin. Salvar :w :w archivo l :x :q! Salva el contenido actual del buffer (archivo) y continua trabajando en el editor. Salva el contenido actual del buffer (archivo) en uno nuevo llamado archivo l. Salva el contenido actual del sistema y sale del editor. Sale del editor sin salvar el trabajo o modificaciones recientes. Ejecucin de comandos UNIX :! Comando Una vez que le da la tecla de ! sale del vi y permite que el comando sea ejecutado despus de lo anterior retorna al editor. Otros :set number :ser nonumber u Activa la numeracin de lneas. desactiva la numeracin de lneas. Elimina el ltimo comando que se realiz.

La sintaxis de vi es: vi nombre del archivo


Pgina 74

Sistemas Operativos

2010

Por ejemplo inicie vi tecleando /home/larry# vi test Inmediatamente aparecer algo parecido a ~ ~ test [New file] La columna de caracteres - indica que esta al final del archivo Insertando texto Orden i

Est ahora en el modo ordenes, para poder insertar texto en el archivo, pulse <i> (lo que le har entrar en el modo de insercin), y empiece a escribir. Now is the for all gob men to come to the aid of the party ~ ~ Mientras inserta texto, puede escribir tantas lneas como desee (pulsando <return> despus de cada una) y puede corregir los errores con la tecla de borrado de carcter. Para salir del modo de insercin y volver al modo de ordenes solo pulse <esc>. Mientras esta en modo ordenes puede usara las teclas del cursor para moverse por el archivo. Cuando solo se tiene una lnea e intenta moverse hacia abajo muy probablemente vi emita un pitido. Orden a Insertar texto comenzando detrs de la posicin actual del cursor, en lugar de la posicin actual del cursor.

Por ejemplo, use la tecla de cursor a la izquierda para desplazar el cursor sobre las palabras good y men Now is the for all gob_men to come to the aid of the party ~ ~ Pulse <a> para iniciar el modo de insercin y escriba Now is the for all gob women to come to the aid of the party ~
Pgina 75

Sistemas Operativos

2010

~ orden o Para insertar texto en la lnea de debajo de la actual Por ejemplo, pulse <o> y teclee otra lnea o dos: Now is the for all gob women to come to the aid of the party Afterwards, we ll go out for pizza and beer. ~ ~ Borrando texto Desde el modo de ordenes, la orden x borra el caracter debajo del cursor. Si pulsa x cinco veces terminara con> Now is the for all gob women to come to the aid of the party Afterwards, we ll go out for pizza and_ ~ ~ Ahora pulse <a>, inserte algn texto seguido de <esc>: Now is the for all gob women to come to the aid of the party Afterwards, we ll go out for pizza and Diet coke. ~ ~ orden dd Se utiliza para borrar lneas enteras. Por ejemplo para borrar la segunda lnea, mueva el cursor en la segunda lnea y pulse la tecla d dos veces (dd). Now is the for all gob women to come to the aid of the party ~ ~ orden dw Borra la palabra sobre la que se encuentra el cursor. Por ejemplo, situ el cursor sobre la palabra good y pulse <dw>. Now is the for all women to come to the aid of the party ~ ~

Pgina 76

Sistemas Operativos

2010

Modificando texto Orden R

Se utiliza para sustituir sesiones de texto Por ejemplo, Situ el cursor en la primera letra de la palabra party y pulse <R>, y escriba la palabra hungry.

Now is the for all gob_men to come to the aid of the hungry ~ ~ El uso de la orden R para editar texto es bastante parecido al uso de las ordenes i y a, pero R sobrescribe texto en lugar de insertarlo. Orden

Sustituye un nico carcter situado debajo del cursor Por ejemplo, situ el cursor al comienzo de la palabra now y escriba r seguido c, obtendr: c_ow is the for all gob_men to come to the aid of the party ~ ~ La orden ~ cambia de maysculas a minsculas o viceversa la letra donde se encuentra el cursor. Por ejemplo, situ el cursor sobre la o de Cow, y repetidamente pulsa <~>, . Cow is the for all gob_men to come to the aid of the party ~ ~

Ordenes de movimiento

Adems de utilizar las teclas del cursor para moverse por el documento, en vi existen las ordenes h, j, k y l, para mover el cursor a la izquierda, abajo, arriba y derecha respectivamente.
Orden w Mueve el cursor al comienzo de la siguiente palabra. Orden b Lo lleva al comienzo de la palabra anterior Orden 0 (cero). Mueve el cursor al comienzo de la lnea actual.
Pgina 77

Sistemas Operativos

2010

Orden $ Lo lleva al final de la lnea. Orden <ctrl-F> Avanza el cursor una pantalla hacia delante Orden <ctrl-B> Regresa una pantalla atrs. Orden G Lleva el cursor al final del archivo, puede tambin desplazarse una lnea arbitraria; por ejemplo, pulsando la orden 10G, llevara el cursor a la linea 10 del archivo, para desplazarse al comienzo pulse 1G. Puede tambin asociar ordenes de desplazamiento con otras ordenes como es el borrado. Por ejemplo, la orden d$ borrara todo desde la posicin del cursor al final de la lnea; dG borrara todo desde la posicin del cursor al final del archivo. Guardando archivos y saliendo del editor vi Orden :q! Al pulsar : , El cursor se desplazara a la ultima lnea de la pantalla. (Esta en modo de ultima lnea). Cow is the for all gob_men to come to the aid of the party ~ ~ :

Orden :wq Salva el archivo y sale de vi Orden ZZ (desde el modo de ordenes, sin :) Es equivalente a la orden :wq Orden :w Salva los cambios sin salirse de vi.

Editando otro archivo Orden :e Se utiliza para abrir otro archivo. Por ejemplo, para dejar de editar el archivo test y en su lugar editar el archivo test2

Cow is the for all gob_men to come to the aid of the party ~ ~ :e test2 Si utiliza la orden :e sin salvar primero el archivo, obtendr el mensaje de error No write since last change (:edit ! overrides)
Pgina 78

Sistemas Operativos

2010

Lo cual significa que vi no quiere editar otro archivo hasta que salve el primero Orden :e! Indica al editor que realmente se desea editar otro archivo sin salvar los cambios en el primero.

Incluyendo otro archivo Orden :r Puede incluir el contenido de otro archivo en el archivo que esta editando. Por ejemplo, para editar los archivos test y test2, estando editado el test Cow is the for all gob_men to come to the aid of the party ~ ~ :r test2 Ahora tendremos dos archivos, el archivo test2 se inserta en la posicin actual del cursor. Ejecutando comandos del interprete Se pueden ejecutar comandos del interprete desde editor vi con las siguientes ordenes: Orden :r! Funciona como la orden :r, pero en lugar de leer un archivo, inserta la salida de un comando dado en el archivo en la posicin actual del cursor. Por ejemplo, la orden :r! ls F . Muestra en el archivo el listado del directorio donde se encuentra ubicado. Orden :! Se utiliza para salir a un interprete de comandos desde vi, es decir, ejecutar desde dentro de vi y volver al editor una vez finalice. Por ejemplo, si usa la orden: :! ls F La orden ls F sera ejecutada, y los resultados mostrados en la pantalla, pero no insertados en el archivo de edicin. :shell. Con esta orden vi inicia una instancia de comandos, permitindole temporalmente dejar a vi parado mientras ejecuta otras ordenes. Simplemente salga del intrprete de comandos usando la orden exit, para regresar a vi.

3.5 Administracin de cuentas y grupos de usuarios Una de las principales responsabilidades del administrador del sistema Linux es mantener las cuentas de usuarios y de grupos de usuarios. Ello incluye dar de alta nuevas cuentas, eliminar las que nos se utilicen, establecer los mecanismos de comunicacin con los usuarios, etc.
Pgina 79

Sistemas Operativos

2010

Existe 3 tipos de usuarios: Usuario Normal, es un individuo particular que puede entrar en el sistema, con ms o menos privilegios que harn uso de los recursos del sistema. Como indicador en el prompt utiliza el smbolo $ (dlar). Ejemplo: raul, sergio, mrodriguez, etc. Tambin se les conoce como usuarios de login. Usuarios de Sistema, son usuarios propios del sistema vinculados a las tareas que debe realizar el sistema operativo, este tipo de usuario no puede ingresar al sistema con un login normal. Ejemplo: mail, ftp, bin, sys, proxy, etc. Tambin se le conoce como usuarios sin login. root (superusuario), todo sistema operativo GNU/Linux cuenta con un superusuario, que tiene los mximos privilegios que le permitirn efectuar cualquier operacin sobre el sistema, su existencia es imprescindible ya que se encarga de gestionar los servidores, grupos, etc.

En todas las operaciones con usuarios se ven implicados 3 archivos en donde se guardan la informacin concerniente a los usuarios y a los grupos a que pertenecen:

/etc/passwd: guarda informacin de los usuarios del sistema como: nombres, directorio home, shell. /etc/group: almacena la informacin sobre los grupos existentes en el sistema. /etc/shadow: contiene las contraseas cifradas de los usuarios adems de otros datos para su validacin.

Archivo /etc/passwd El archivo passwd almacena los usuarios creados en el sistema y tiene el siguiente formato: root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync clases:x:1000:1000:LinuxCentro:/home/clases:/bin/bash Cada lnea esta separada en campos, el separador de campo son los dos puntos (:), y cada campo representa lo siguiente:

Login: el nombre del usuario. No puede haber dos nombres iguales.

Pgina 80

Sistemas Operativos

2010

Contrasea cifrada: si no se utiliza el fichero de shadow, las contraseas cifradas se almacenan en este campo. Si utilizamos el fichero de shadow, todos los usuarios existentes en este fichero deben existir tambin en el de shadow y en este campo se pone el carcter x. User ID: nmero de identificacin del usuario. Es el nmero con el cual el sistema identifica al usuario. El 0 es el nico que est reservado para el root. Group ID: el nmero de grupo al cual pertenece el usuario. Como un usuario puede pertenecer a ms de un grupo, este GID es del grupo primario. Comentarios: campo reservado para introducir los comentarios que queramos sobre el usuario. Se suele utilizar para poner el nombre completo o algn tipo de identificacin personal. Directorio home: el directorio home del usuario es donde ste podr guardar todos sus ficheros, generalmente se encuentran dentro del directorio /home y el nombre de cada directorio es similar al de cada usuario. Intrprete de comandos: un intrprete de comandos (shell ) es un programa que se encarga de leer todo lo que escribimos en el teclado y ejecutar los programas o comandos que le indiquemos. Hay decenas de ellos, aunque el ms utilizado es, sin duda, el bash (GNU Bourne-Again SHell). Si en este campo est: /bin/false /bin/nologin el usuario no podr tener acceso a su shell y no podr ejecutar comandos.

Archivo /etc/group El archivo group almacena la informacin de los grupos del sistema, y tiene el siguiente formato: root:x:0:root bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon sys:x:3:root,bin,adm clases:x:502: Al igual que el archivo anterior cada lnea est separada en campos el separador de campo son los dos puntos (:), y cada campo representa lo siguiente:

Nombre del grupo. Por defecto con los comandos habituales se crea un grupo con el mismo nombre que el usuario creado, aunque pueden existir otros grupos con nombres especficos.
Pgina 81

Sistemas Operativos

2010

Contrasea cifrada: la contrasea de un grupo se utiliza para permitir que los usuarios de un determinado grupo se puedan cambiar a otro o para ejecutar algunos programas con permisos de otro grupo, siempre que se disponga de la contrasea. Group ID: nmero de identificacin del grupo. Es el nmero con el cual el sistema identifica internamente a los grupos. El 0 es el nico que est reservado para el grupo del root (los administradores). Lista de usuarios: los nombres de los usuarios que pertenecen al grupo, separados por comas. Aunque todos los usuarios deben pertenecer a un determinado grupo (especificado en el cuarto campo del fichero de passwd), este campo se puede utilizar para que usuarios de otros grupos tambin dispongan de los mismos permisos que tiene el que se est referenciando.

Archivo /etc/shadow El archivo shadow se encarga de almacenar las contraseas cifradas del usuario, y tienen el siguiente formato: root:$1$qvZCDFha$8CsNHHB/QDYlx3wDnZWzp/:12829:0:99999:7::: bin:*:12829:0:99999:7::: daemon:*:12829:0:99999:7::: clases:$1$8Ne4Ij4r$th9obKXkR7iTZGj26jGUc/:12831:0:99999:7::: Igual que los archivos anteriores cada lnea esta separada en campos el separador de campo son los dos puntos (:), y cada campo representa lo siguiente:

Login: debe ser el mismo nombre que se utiliza en el fichero de passwd. Contrasea cifrada. Das que han pasado, desde el 1 de enero de 1970, hasta que la contrasea ha sido cambiada por ltima vez. Das que deben pasar hasta que la contrasea pueda ser cambiada. Das que han de pasar hasta que la contrasea deba ser cambiada. Das antes de caducar la contrasea en el que se avisar al usuario de que debe cambiarla. Das que pueden pasar despus de que la contrasea caduque, antes de deshabilitar la cuenta del usuario (si no se cambia la contrasea). Das, desde el 1 de enero de 1970, desde que la cuenta est deshabilitada. Campo reservado.

En sistemas UNIX es muy comn representar las fechas a partir del nmero de segundos transcurridos desde el 1 de enero de 1970.
Pgina 82

Sistemas Operativos

2010

3.5.1 Comandos relacionados con la administracin de cuentas y grupos de usuarios Comando: useradd Formato: useradd [-opciones] usuario Descripcin: Este comando se utiliza para dar de alta a nuevos usuarios en el sistema. Si no se proporcionan argumentos, tomar determinados valores por defecto, dichos valores se pueden consultar con la opcin D y estn almacenados en el directorio /etc/default/useradd Ejemplo # useradd g Usuarios c Norma Roldan normita En este ejemplo se cre la cuenta normita y se asigno al grupo Usuarios Algunas de las opciones ms comunes de este comando son: - u: permite especificar el UID. - c: aade los valores a la seccin de comentarios. - d: permite especificar el directorio de trabajo, crear automticamente el directorio sealado. - s: permite establecer el shell. Ejemplos:

# useradd -u 501 alexvira # useradd c Luis Ramos luis # useradd d /home/soft msantos # useradd s /bin/false operador1

crea el usuario alexvira con su UID 501 crea el usuario luis rellenando el comentario con Luis Ramos crea el usuario msantos con su directorio de trabajo soft crea el usuario operador1 desactivando la posibilidad de ejecutar un shell

Una vez creado el usuario debemos agregarle una contrasea con la orden: # passwd normita O dejar la cuenta sin password para que el usuario la establezca: #passwd d normita Comando: userdel Formato: userdel [-opciones] usuario Descripcin: Este comando permite eliminar usuarios del sistema. Por ejemplo, si queremos eliminar al usuario normita, se escribe lo siguiente: #userdel normita

Pgina 83

Sistemas Operativos

2010

Si queremos eliminar tambin su directorio HOME, debemos emplear la opcin r. Es aconsejable eliminar las cuentas de usuarios que ya no se conectan al sistema, ya que stas pueden ser agujeros en la seguridad. Comando: groupadd Formato: groupadd [-opciones] grupo Descripcin: Con est comando podemos dar de alta un nuevo grupo en el sistema por ejemplo, si queremos dar de alta al grupo de usuarios de captura utilizamos la orden: # groupadd captura Si quiere aadir un grupo supervisor con GID 601: # groupadd g 601 supervisor Comando: newgrp Formato: newgrp [-opciones] grupo Descripcin: Comando que permite que un usuario pueda cambiarse de grupo. Por ejemplo el usuario normita que pertenece al grupo captura, quiere cambiarse al grupo programadores #newgrp programadores Comando: gpasswd Formato: gpasswd [-opciones] grupo Descripcin: Permite administrar los grupos. Se puede utilizar para aadir y eliminar usuarios, sealar un administrador e indicar un password para el grupo. El administrador del sistema es el encargado de nombrar a un administrador por grupo. Dicho administrador puede ser un usuario cualquiera del sistema. El administrador de grupo tendr el permiso de incluir nuevos usuarios en su grupo. Solo root puede establecer quin ser de un grupo. Por ejemplo para definir al usuario normita como administrador del grupo captura utilizamos la orden: #gpasswd A normita captura Ejemplos: # gpasswd admin cambia el passwd del grupo admin # gpasswd -a juan admin aade el usuario juan al grupo admin Comando: groupdel Formato: groupdel [-opciones] grupo Descripcin: Este comando permite eliminar un grupo del sistema, el grupo no podr ser eliminado si este es el grupo primario de un usuario. Ejemplo: # groupdel admin
Pgina 84

Sistemas Operativos

2010

UNIDAD IV SERVICIOS DE RED

4.1 Herramientas de administracin de los servicios Los servicios son aplicaciones que se ejecutan independientemente del usuario y de que ste haya iniciado la sesin en el equipo. Normalmente se asocia los servicios slo a servicios de red, pero los servicios proporcionan una gran funcionalidad al sistema operativo. Estas aplicaciones se registran como servicios y los controla el administrador de servicios. El administrador de servicios permite establecer los servicios que se van a ejecutar al iniciar el sistema, y nos permite parar, ejecutar o reanudar los servicios que estn activos actualmente en el sistema. Hay diferentes mtodos de administrar el acceso a los servicios del sistema. Debe decidir qu mtodo le gustara usar en funcin del servicio, la configuracin del sistema y el nivel de conocimientos que tenga de Linux. La forma ms fcil de denegar el acceso a un servicio es desactivndolo. Los servicios en la jerarqua /etc/rc.d se pueden configurar para iniciarse o detenerse con tres aplicaciones diferentes:
Herramienta de configuracin de servicios una aplicacin grfica que muestra

una descripcin de cada servicio, muestra si los servicios se han iniciado en el momento del arranque (para los niveles de ejecucin 3, 4, y 5), y permite que los servicios sean arrancados, detenidos o reiniciados.
ntsysv: una aplicacin basada en texto que permite configurar cules servicios son

arrancados al momento de arranque para cada nivel de ejecucin. Los cambios no toman efecto de inmediato para los servicios no xinetd. Los servicios que no son xinetd no pueden ser arrancados, detenidos o reiniciados usando este programa.
chkconfig: utilidad de lnea de comandos permite activar o desactivar servicios para

los diferentes niveles de ejecucin. Los cambios no toman efecto de inmediato para los servicios no xinetd. Los servicios no xinetd no pueden ser arrancados, detenidos o reiniciados usando esta utilidad.
setup:

Niveles de ejecucin Antes de configurar el acceso a servicios, deber entender qu son los niveles de ejecucin en Linux. Un nivel de ejecucin es un estado o un modo que los servicios includos en el directorio /etc/rc.d/rc<x>.d definen, donde <x> es el nmero del nivel de ejecucin.
Pgina 85

Sistemas Operativos

2010

Red Hat Linux utiliza los siguientes niveles de ejecucin:


0 Parada 1 Modo de un usuario 2 No se utiliza (definido por el usuario) 3 Modo completo de multiusuario 4 No se utiliza (definido por el usuario) 5 Modo completo de multiusuario (con una pantalla de conexin basada en X) 6 Rearranque

Si usa una pantalla de texto para el ingreso al sistema, estar operando a nivel de ejecucin 3. Si usa una pantalla grfica para ingresar al sistema, estar operando a nivel de ejecucin 5. El nivel de ejecucin por defecto se puede cambiar si se modifica el fichero /etc/inittab, que contiene una lnea junto a la parte superior del fichero con el siguiente aspecto:
id:5:initdefault:

Cambie el nmero de esta lnea para reflejar el nivel de ejecucin que desee. El cambio no tendr efecto hasta rearrancar el sistema. Para cambiar el nivel de ejecucin inmediatamente, use el comando telinit seguido del nmero del nivel de ejecucin. Debe ser usuario root para poder usar este comando. 4.1.1. Herramienta de configuracin de servicios La Herramienta de configuracin de servicios es una aplicacin grfica desarrollada por Red Hat para configurar qu servicios SysV en /etc/rc.d/init.d se inician en el momento del arranque (para los niveles de ejecucin 3, 4, y 5) y cules servicios xinetd estn activados. Tambin le permite arrancar, detener y rearrancar servicios SysV as como rearrancar xinetd. Para arrancar la Herramienta de configuracin de servicios desde el escritorio, vaya al botn Men principal (en el Panel) => Configuracin del servidor => Servicios o escriba el comando redhat-config-services en el intrprete de comandos (por ejemplo, en un XTerm o un terminal de GNOME ).

Pgina 86

Sistemas Operativos

2010

Figura 4.1 Herramienta de configuracin de servicios

La Herramienta de configuracin de servicios muestra el nivel de ejecucin as como tambin el nivel de ejecucin en el cual est modificando actualmente. Para modificar otro nivel de ejecucin, seleccione Editar nivel de ejecucin desde el men desplegable y seleccione los niveles 3, 4, o 5. La Herramienta de configuracin de servicios muestra los servicios de /etc/rc.d/init.d y los servicios controlados por xinetd. Haga click en un servicio para mostrar una breve descripcin del servicio y tambin para ver el estado del mismo. Si el servicio no es xinetd, la ventana de estado muestra si el servicio se est ejecutando o no. Si el servicio es controlado por xinetd, la ventana de estado mostrar la frase servicio xinetd. Para arrancar, detener o rearrancar un servicio inmediatamente, seleccione el servicio y haga click en el botn adecuado (o elija la accin correspondiente en el men desplegable Acciones). Si el servicio es xinetd, los botones de accin estarn desactivados porque no pueden ser arrancados o detenidos individualmente. Si activa o desactiva un servicio xinetd marcando o desmarcando la casilla de verificacin al lado del nombre del servicio, debe seleccionar Archivo => Guardar cambios desde el
Pgina 87

Sistemas Operativos

2010

men desplegable para reiniciar xinetd e inmediatamente activar/desactivar el servicio xinetd que usted cambi. Tambin se configura xinetd para recordar la configuracin. Puede activar/desactivar ms de un servicio xinetd a la vez y guardar los cambios cuando haya terminado. Por ejemplo, imagine que verifica rsync para activarlo a nivel de ejecucin 3 y luego guarda los cambios. El servicio rsync se activar de inmediato. La prxima vez que arranque xinetd, rsync estar todava activado.

Aviso Cuando guarde los cambios de los servicios xinetd, xinetd es reiniciado y los cambios toman efecto de inmediato. Cuando guarda cambios a otros servicios, el nivel de ejecucin es reconfigurado, pero los cambios no sern efectivos de inmediato. Para activar un servicio no xinetd para que se inicie en el momento de arranque del sistema para el nivel de ejecucin seleccionado actualmente, marque la casilla de verificacin al lado del nombre del servicio en la lista. Despus de configurar el nivel de ejecucin, aplique los cambios seleccionando Archivo => Guardar cambios desde el men desplegable. La configuracin del nivel de ejecucin es modificada, pero el nivel de ejecucin no es reiniciado; por tanto los cambios no toman efecto de inmediato. Por ejemplo, asuma que est configurando un nivel de ejecucin 3. Si cambia el valor para el servicio anacron de marcado a desmarcado y luego selecciona Guardar cambios, el nivel de ejecucin 3 cambia y entonces anacron no es iniciado al momento de arranque. Sin embargo, el nivel de ejecucin 3 no es reinicializado, por tanto anacron todava estar ejecutndose. Llegados a este punto, seleccione una de las siguientes opciones: 1. Detener el servicio anacron Detenga el servicio seleccionndolo de la lista y haciendo click en el botn Parar el servicio . Aparecer un mensaje para indicar que se ha detenido correctamente el servicio. 2. Reinicializar el nivel de ejecucin Reinicializar el nivel de ejecucin escribiendo en el intrprete de comandos del shell el comando telinit 3 (donde 3 es el nmero de nivel de ejecucin). Esta opcin es recomendada si cambia el valor Comenzar al arrancar de ms de un servicio y quiere activar los cambios inmediatamente. 3. No es necesario que detenga el servicio anacron. Puede esperar a que se rearranque el sistema para detener el servicio. La prxima vez que se arranque el sistema, se inicializar el nivel de ejecucin sin que se ejecute el servicio anacron.

4.1.2 ntsysv La utilidad ntsysv provee una interfaz sencilla para activar y desactivar servicios. Puede usar ntsysv para activar o desactivar un servicio xinetd. Tambin puede usar ntsysv para configurar los niveles de ejecucin. Por defecto, nicamente el nivel de ejecucin actual es
Pgina 88

Sistemas Operativos

2010

configurado. Para configurar un nivel de ejecucin diferente, especifique uno o ms niveles con la opcin --level. Por ejemplo, el comando ntsysv --level 345 configura los niveles de ejecucin 3, 4, y 5. La interfaz ntsysv funciona de forma similar al programa de instalacin en modo texto. Utilice las flechas arriba y abajo para desplazarse por la lista. La barra espaciadora selecciona o anula la seleccin de servicios, y tambin sirve para "pulsar" los botones Aceptar y Cancelar. Para desplazarse en la lista de servicios y entre los botones Aceptar y Cancelar, use la tecla [Tab]. Un asterisco, *, significa que el servicio est activado. Con la tecla [F1] se mostrar una breve descripcin de cada servicio.

Aviso

Los servicios manejados por xinetd son afectados de inmediato por ntsysv. Para todos los dems servicios, los cambios no toman efecto de inmediato. Usted debe detener o arrancar el servicio individual con el comando service daemon stop. En el ejemplo anterior, sustituya daemon por el nombre del servicio que desee detener, por ejemplo httpd. Reemplace stop por start o restart para arrancar o reiniciar el servicio.

4.1.3 chkconfig El comando chkconfig puede ser usado para activar y desactivar servicios. Si usa el comando chkconfig --list, ver una lista de los servicios del sistema y si estn iniciados (on) o detenidos (off) en los niveles de ejecucin 0-6. Al final de la lista, ver una seccin para los servicios manejados por xinetd. Si usa chkconfig --list para realizar una consulta a un servicio manejado por xinetd, ver si el servicio xinetd est activado (on) o desactivado (off). Por ejemplo, el comando chkconfig --list finger retorna la salida siguiente:
finger on

Como se muestra, finger est activado como un servicio xinetd. Si xinetd est ejecutndose, finger estar activo. Si usa chkconfig --list para consultar un servicio /etc/rc.d, ver las configuraciones del servicio para cada nivel de ejecucin. Por ejemplo, el comando chkconfig --list anacron devuelve la siguiente salida:
anacron 0:off 1:off 2:on 3:on 4:on 5:on

Pgina 89

Sistemas Operativos

2010

6:off chkconfig tambin puede ser usado para configurar un servicio para que comience (o no) en un nivel de ejecucin especfico. Por ejemplo, desactive nscd en los niveles de ejecucin 3, 4, y 5, usando el comando siguiente:

chkconfig --level 345 nscd off

Aviso Los servicios gestionados por xinetd estn afectados por chkconfig. Por ejemplo, si se est ejecutando xinetd, finger est deshabilitado y se ejecuta el comando chkconfig finger on y se activa de inmediato finger sin tener que reiniciar xinetd de forma manual. El resto de los cambios no se producen inmediatamente tras haber usado chkconfig manualmente. Deber parar y reiniciar el servicio individual con el comando service daemon stop. En el ejemplo anterior, reemplace daemon con el nombre del servicio que desea parar; por ejemplo, httpd. Reemplace stop start o con restart para iniciar o reiniciar el sistema .

4.2 Servicio de impresin El sistema de impresin de Linux al igual que su antecesor Unix, funciona a grandes rasgos de la siguiente manera: El comando lpr copia el archivo a imprimir en el directorio de spool indicado en el archivo printcap y crea en dicho directorio un archivo de control en el que indica: el archivo (del directorio de spool) a imprimir, el usuario que solicit ese servicio de impresin, los parmetros que se le pasaron en la lnea de comandos, entre otros; y ah termina su funcin. A continuacin entra en juego un daemon llamado lpd. Este programa se activa peridicamente y comprueba si hay archivos de control en el directorio de spool y en caso de que los haya realiza las siguientes acciones para cada uno de dichos archivos: 1. Imprime la pgina de banner, si sta no se encuentra suprimida, pasndola a travs del filtro de salida si hay alguno definido. 2. Si se indic al comando lpr que tena que emplear algn filtro de impresin en concreto (ej.: lpr -t) se ejecuta el filtro indicado en la correspondiente entrada del archivo printcap; si
Pgina 90

Sistemas Operativos

2010

no se indic ningn filtro al comando lpr, se ejecuta el indicado por el parmetro 'if' del archivo printcap. 3. Cuando se ejecuta el filtro, se redirecciona su entrada estndar al archivo a imprimir (el creado por lpr en el directorio de spool) , y su salida estndar a: - la entrada estndar del filtro de salida (si ste est definido en el archivo printcap) y la salida de dicho filtro al dispositivo de impresin asociado a esta impresora (orden 'lp' del printcap). - al dispositivo de impresin indicado en el archivo printcap. El servicio de impresin recoge las solicitudes locales o remotas para obtener copias sobre papel y las dirige hacia una cola de trabajos. Como la impresora es un dispositivo ms lento que los procesadores, el servicio selecciona el trabajo de impresin correspondiente segn sus reglas de control y lo dirige hacia la impresora correspondiente cuando sta queda libre para realizar la tarea. Un servicio de impresin consta de los siguientes componentes: El proceso servidor que recoge los trabajos de los clientes. Una serie de utilidades de gestin, que permitan controlar los trabajos pendientes. Instalar un controlador de dispositivo para cada impresora definida, ya sea local o remota, donde se indiquen las caractersticas bsicas del aparato (tipo de papel, calidad de impresin, etc.). Una cola de impresin para cada dispositivo definido, donde se dispongan los trabajos que estn pendientes de impresin. Cada cola debe tener un nombre nico en el sistema y ser designada mediante alias. Posteriormente debe seleccionarse el controlador correspondiente al modelo de la impresora y el tipo de filtro necesario para los datos que se desea enviar al dispositivo. A continuacin se describen las caractersticas principales de los 2 tipos de servicios de impresin ms utilizados LPRng y CUPS. LPRng: El servicio de impresin LPR de siguiente generacin (LPRng) es una evolucin de las clsicas utilidades lpr del Unix de Berkeley (BSD), actualmente en desuso. A continuacin se muestra la tabla de caractersticas del servicio. Paquete RPM: LPRng Servicio: lpd Fichero de configuracin: /etc/printcap Fichero de control de acceso: /etc/hosts.lpd Los siguientes son los mandatos que brinda el servicio LPRng:

Pgina 91

Sistemas Operativos

2010

Mandato lpd lpc lpr lpq Lprm

Descripcin Servicio de impresin Controla las funciones bscias del servicio de impresin Manda un trabajo de impresin a la cola Lista el contenido de los trabajos pendiente de una cola Elimina un trabajo de impresin

CUPS: El Servicio de Impresin Comn para Unix (CUPS) brinda el soporte de una capa de impresin porttil para sistemas Unix, ofreciendo interfaces de comandos compatibles con los servicios de Unix System V y los de Unix BSD. Este servicio es el utilizado actualmente en la mayora de distribuciones de Linux. Las caractersticas principales de CUPS son: Utiliza el Protocolo para Impresin en Internet (IPP) como base para la gestin de los trabajos de impresin. Garantiza la compatibilidad con Unix System V (lp) y con Unix BSD (lpr). Soporta interfaz va web. Ofrece contabilidad y cuotas de trabajos y de pginas impresas. Permite usar servicio de directorios para impresoras conectadas en red. Soporta clientes IPP y LPD. Brinda servicios de autentificacin de usuarios y comunicacin encriptada. El protocolo IPP suministra mtodos para la autentificacin segura de los usuarios y la posibilidad de codificar la informacin mediante capas SSL/TLS. Estas caractersticas pueden ser configuradas tanto en las impresoras, como en el servidor CUPS. DHCP. Dynamic Host Configuration Protocol (DHCP), Protocolo de configuracin dinmica de servidor, es un protocolo de red para asignar automticamente informacin TCP/IP a equipos cliente. Cada cliente DHCP se conecta un servidor DHCP centralizado que devuelve la configuracin de red del cliente, incluida la direccin IP, el gateway y los servidores DNS. Motivos para usar el protocolo DHCP DHCP es til para proporcionar de un modo rpido la configuracin de red del cliente. Al configurar el sistema cliente, el administrador puede seleccionar el protocolo DHCP y no especificar una direccin IP, una mscara de red, un gateway o servidor DNS. El cliente recupera esta informacin desde el servidor DHCP. DHCP tambin es til si un administrador desea cambiar las direcciones IP de muchos sistemas. En lugar de volver a configurar todos los sistemas, puede modificar un archivo de configuracin DHCP en el servidor para establecer el nuevo conjunto de direcciones IP. Si los servidores DNS de una
Pgina 92

Sistemas Operativos

2010

organizacin cambian, los cambios tambin se aplicarn en el servidor DHCP, no en todos los clientes DHCP. Una vez que se reinicie la red en los clientes (o reinicie los clientes), se aplicarn los cambios. Adems, si un porttil o cualquier tipo de equipo mvil se configuran para DHCP, podr desplazarse entre distintas oficinas sin tener que volver a configurarlo, siempre y cuando cada oficina tenga un servidor DHCP que permita su conexin a la red.

4.3 Servicio web

Un servicio web (en ingls, Web service) es un conjunto de protocolos y estndares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programacin diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar datos en redes de ordenadores como Internet. La interoperabilidad se consigue mediante la adopcin de estndares abiertos. Las organizaciones OASIS y W3C son los comits responsables de la arquitectura y reglamentacin de los servicios Web. Para mejorar la interoperabilidad entre distintas implementaciones de servicios Web se ha creado el organismo WS-I, encargado de desarrollar diversos perfiles para definir de manera ms exhaustiva estos estndares.

4.3.1 Estndares empleados


Web Services Protocol Stack: As se denomina al conjunto de servicios y protocolos de los servicios Web. XML (Extensible Markup Language): Es el formato estndar para los datos que se vayan a intercambiar. SOAP (Simple Object Access Protocol) o XML-RPC (XML Remote Procedure Call): Protocolos sobre los que se establece el intercambio. Otros protocolos: los datos en XML tambin pueden enviarse de una aplicacin a otra mediante protocolos normales como HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), o SMTP (Simple Mail Transfer Protocol). WSDL (Web Services Description Language): Es el lenguaje de la interfaz pblica para los servicios Web. Es una descripcin basada en XML de los requisitos funcionales necesarios para establecer una comunicacin con los servicios Web. UDDI (Universal Description, Discovery and Integration): Protocolo para publicar la informacin de los servicios Web. Permite comprobar qu servicios web estn disponibles. WS-Security (Web Service Security): Protocolo de seguridad aceptado como estndar por OASIS (Organization for the Advancement of Structured Information Standards). Garantiza la autenticacin de los actores y la confidencialidad de los mensajes enviados.

Pgina 93

Sistemas Operativos

2010

4.3.2 Ventajas de los servicios web


Aportan interoperabilidad entre aplicaciones de software independientemente de sus propiedades o de las plataformas sobre las que se instalen. Los servicios Web fomentan los estndares y protocolos basados en texto, que hacen ms fcil acceder a su contenido y entender su funcionamiento. Al apoyarse en HTTP, los servicios Web pueden aprovecharse de los sistemas de seguridad firewall sin necesidad de cambiar las reglas de filtrado. Permiten que servicios y software de diferentes compaas ubicadas en diferentes lugares geogrficos puedan ser combinados fcilmente para proveer servicios integrados. Permiten la interoperabilidad entre plataformas de distintos fabricantes por medio de protocolos estndar y abiertos. Las especificaciones son gestionadas por una organizacin abierta, la W3C, por tanto no hay secretismos por intereses particulares de fabricantes concretos y se garantiza la plena interoperabilidad entre aplicaciones.

Cuando un usuario se conecta a un servicio de Internet utilizando un navegador, lo hace especificando una direccin al estilo http://www.sitio.com. Esta direccin se llama URL y si se descompone en sus elementos se obtendr: <mtodo>://<servidor>/<directorio absoluto> <mtodo> : es la cadena de caracteres http <servidor>: es el nombre del computador al cual se sta conectando <directorio absoluto>: en este caso es / y representa el directorio raz Para que el servidor remoto obedezca esta solicitud de servicio debe manejar el protocolo http dentro de sus servicios instalados. La informacin se transmite en formato HTML o lenguaje de marcas de hipertexto. Todo el servicio web se logra gracias al protocolo http en el servidor como ya se dijo, el cual es manejado y administrado por un software llamando servidor web. En Linux se llama Apache. El servidor Apache se desarrollo en NCSA que es el Centro Nacional de Aplicaciones para Supercomputadoras en el ao de 1995. 4.3.3 Archivos de configuracin de Apache Apache maneja dentro del servidor una serie de directorios en donde residen las pginas web y los programas de aplicaciones orientadas a la web, cuya ubicacin puede variar segn la distribucin de Linux o las especificaciones que se dan en el momento de compilarlo. La manera de averiguar si existe Apache dentro del servidor, si se us rpm para instalarlo es:

Pgina 94

Sistemas Operativos

2010

$ rpm q httpd en caso de existir el sistema responde: httpd -2.0.54-10 pero puede variar segn la versin Cuando se compila Apache desde los cdigos fuentes este viene en formato .gz como este: httpd -2.0.54.tar.gz La manera de compilarlo es: gunzip httpd-2.0.54.tar.gz aparece el archivo .tar en cual se debe descomprimir tar xvf httpd-2.0.54.tar aparece el directorio httpd-2.0.54 al cual debe entrar cd httpd-2.0.54 y se ejecutan estos comando como usuario root: ./configure prefix=/www make make install El parmetro prefix determina en qu directorio debe quedar Apache. En el caso de Fedora, Apache viene localizado en /var/www y el archivo de configuracin en /etc/httpd/conf/httpd.conf y para arrancar el servicio se puede hacer de varias maneras: /sbin/service httpd start /etc/rc.d/init.d/httpd start debe aparecer OK en color verde en la pantalla Para detener Apache ejecutar: /sbin/service httpd stop /etc/rc.d/init.d/httpd stop Si requiere saber el estatus del servicio web ejecutar: /sbin/service httpd status /etc/rc.d/init.d/httpd status

4.4 Servidor de correo electrnico: SENDMAIL El correo electrnico es una de las aplicaciones ms usadas a nivel mundial, pues fue un servicio escogido libremente por los usuarios de Internet, lo cual determin el auge de la computacin personal de Internet. SMTP o Simple mail Transfer Protocol es un protocolo de TCP/IP encargado de la transmisin de correos. POP3 e IMAP son protocolos diseados para la gestin de lso correos y manejos de las bandejas en los agentes de los clientes. Sendmail no es un
Pgina 95

Sistemas Operativos

2010

programa orientado a que lo use el usuario directamente, pero se puede usar, lo cual se har en este momento solamente para conocer algunos aspectos de su funcionamiento y recibir el correo con el programa de texto mail que viene en Linux Sendmail viene ya preinstalado para uso bsico as que slo se mencionar los pasos de comprobacin como se ha hecho con las otras plataformas: Comprobar si est instalado: rpm q sendmail Editar como usuario root el archivo de configuracin de Sendmail /etc/mail/sendmail.cf slo como ejercicio de comprobacin sin hacer cambios. Este es un archivo muy complejo que es preferible no tocar al menos que sea experto. Para arrancar Sendmail existen 2 formas: /sbin/service sendmail start /etc/rc.d/init.d/sendmail start debe aparecer OK en color verde en la pantalla Para detener Apache ejecutar: /sbin/service sendmail stop /etc/rc.d/init.d/sendmail stop Si requiere saber el estatus del servicio web ejecutar: /sbin/service sendmail status /etc/rc.d/init.d/sendmail status Activar Sendmail para enviarle un correo al usuario manual: /usr/sbin/sendmail manual La pantalla queda en un rengln en blanco y el sistema espera los comandos para enviar el mensaje para lo cual se introducen los datos aqu y se debe terminar con . (punto) 4.4.1 Comando mail El programa de correo ms sencillo que hay se denomina mail y se suele hallar en el directorio / bin. Este programa no tiene un editor a pantalla completa y no requiere el sistema X Window. El comando mail, parecido al programa mailx que se distribuye con otras versiones de UNIX , soporta las caractersticas bsicas necesarias para redactar, enviar, enumerar y leer mensajes. Utilice el redireccionamiento con prudencia. No es una idea muy buena que digamos enviar a alguien el contenido del diccionario del sistema ! Para crear y enviar correo con mail, siga estos pasos: 1. En la lnea de comandos, introduzca la palabra mail seguida de la direccin de correo electrnico de destino, de este modo :
Pgina 96

Sistemas Operativos

2010

# mail 2. El comando mail responder con la indicacin Subject. Introduzca una breve lnea relativa al asunto: Subject: Proyecto de Programacin Nexus. 3. Pulse Intro y escriba el texto de su mensaje: Tengo una oportunidad inmejorable! La empresa con la que hablamos el mircoles est interesada en contratar tu equipo de programacin. Por favor, llmame para confirmar si puedes atenderles. 4. Cuando haya terminado de escribir el texto, introduzca un punto (.) en una lnea sola para enviar el mensaje: EOT 5. El programa mail responde imprimiendo las letras EOT (fin de texto) y enviando el mensaje. Utilice el comando mail para recuperar el correo del directorio /var/spool/mail. Para leer el correo, utilice el comando mail en la lnea de comandos, as: # mail Cuando utiliza el comando mail, ste imprime una versin corta del mensaje y luego enumera los mensajes. El signo & es una indicacin de la lnea de comandos. Utilice in comando de una sola letra (vase la Tabla 17.2) para leer, eliminar, guardar o responder al mensaje de correo en curso, lo cual se sabe por un signo mayor que (>). Por defecto, los mensajes guardados se almacenan en un archivo llamado mbox del directorio de inicio. La tabla 17.2 enumera los comandos ms habituales del programa mail ; para obtener una lista completa de los comandos mail , remtase a la pgina man correo. Comandos habituales del programa mail Tecla + ? R d h n q r t x Accin Moverse al siguiente mensaje y enumerarlo Moverse al mensaje anterior y enumerarlo Imprimir una lista de los comandos mail Responde al remitente Eliminar mensaje en curso Volver a imprimir la lista de mensajes (despus de enumerar un mensaje) Ir al mensaje siguiente y enumerarlo Salir y guardar los mensajes en el buzn predeterminado, mbox. Responder al remitente y a todos los destinatarios. Escribir o enumerar el mensaje en curso. Salir y no guardar los mensajes de mbox.

Pgina 97

Sistemas Operativos

2010

4.5 Compartir recursos entre diferentes sistemas operativos 4.5.1 Compartir Recursos en Red con Samba Samba es una suite de aplicaciones Unix que habla el protocolo SMB (Server Message Block). Este protocolo, funciona a nivel de la capa de presentacin del modelo OSI de TCP/IP. Muchos sistemas operativos, incluidos Windows y OS/2, usan SMB para operaciones de red clienteservidor. Mediante el soporte de este protocolo, Samba permite a los servidores Unix entrar en accin, comunicando con el mismo protocolo de red que los productos de Microsoft Windows. De este modo, una mquina Unix con Samba puede enmascararse como servidor en tu red Microsoft y ofrecer los siguientes servicios: Compartir uno o ms sistemas de archivos. Compartir impresoras, instaladas tanto en el servidor como en los clientes. Ayudar a los clientes, con visualizador de Clientes de Red. Autentificar clientes logendose contra un dominio Windows. Proporcionar o asistir con un servidor de resolucin de nombres WINS. Samba es la idea de Andrew Tridgell, quien actualmente lidera el equipo de desarrollo de Samba development desde su casa de Canberra, Australia. El proyecto naci en 1991 cuando Andrew cre un programa servidor de ficheros para su red local, que soportaba un raro protocolo DEC de Digital Pathworks. Aunque l no lo supo en ese momento, aquel protocolo ms tarde se convertira en SMB. Unos cuantos aos despus, l lo expandi como su servidor SMB particular y comenz a distribuirlo como producto por Inte rnet bajo el nombre de servidor SMB. Entre otras cosas, Microsoft aadi al protocolo soporte para enlaces simblicos y duros as como tambin soporte para ficheros de gran tamao. Por mera coincidencia esto ocurri por la misma poca en que Sun Microsystems hizo el lanzamiento de WebNFS (una versin extendida de NFS), protocolo NetBIOS, el cual a su vez trabaja sobre NetBEUI (acrnimo de NetBIOS Extended User Interface, que se traduce como Interfaz de Usuario Extendida de NetBIOS), IPX/SPX (acrnimo de Internet Packet Exchange/Sequenced Packet Exchange, que se traduce como Intercambio de paquetes interred/Intercambio de paquetes secuenciales) o NBT, aunque tambin puede trabajar directamente sobre TCP/IP.

4.5.2 Instalacin y Configuracin La versin ms actual de samba es la 3.5.3. Necesitar tener instalados los siguientes paquetes, que seguramente vienen incluidos en los discos de instalacin de su distribucin predilecta: samba: Servidor SMB. samba-client: Diversos clientes para el protocolo SMB. samba-common: Ficheros necesarios para cliente y servidor. Consulte a la base de datos RPM del sistema si se encuentran instalados estos paquetes, utilizando el siguiente mandato:
Pgina 98

Sistemas Operativos

2010

rpm -q samba samba-client samba-common Si utiliza CentOS 4 o White Box Enterprise Linux 4, solo bastar realizar lo siguiente para instalar o actualizar la programtica necesaria: yum -y install samba samba-client Para la mayora de los casos la configuracin de Samba como servidor de archivos es suficiente. Configuracin Para comenzar la configuracin es necesario tener una cuenta en la mquina Linux y otra en la mquina Windows, con la misma contrasea clave de acceso. Dado que este usuario no va a tener acceso al Shell entonces, no es necesario que tenga password por medio del comando passwd, es suficiente con definir /bin/false como shell bien definirla en /sbin/nologin, como se muestra a continuacin: useradd -s /sbin/nologin usuario-windows smbpasswd -a usuario-windows A menos que se necesite que esta misma cuenta, tenga acceso a otros servicios como Telnet, SSH, etc, entonces debe realizarse lo siguiente: useradd -s /bin/bash usuario-windows passwd usuario-windows smbpasswd -a usuario-windows

El fichero lmhosts NetBios significa Network Basic Input/Output System, desarrollado por IBM en la dcada de los 80 para compartir recursos entre computadoras. El sistema fue desarrollado como una API bsica de comunicacin entre sistemas de computadoras. NetBIOS posee la caracterstica de poder resolver nombres mediante la asociacin con direcciones IP correspondientes. Para fines prcticos el nombre NetBIOS debe tener un mximo de 11 caracteres. Normalmente tomaremos como referencia el nombre corto del servidor o el nombre corto que se asigno como alias a la interfaz de red. Este lo estableceremos en el fichero /etc/samba/lmhosts, en donde encontraremos lo siguiente: 127.0.0.1 localhost Debemos aadir entonces el nombre que hayamos elegido asociado a la direccin IP que se tenga dentro de la red local. Opcionalmente podr aadir tambin los nombres y direccin IP del resto de las mquinas que conformen la red local. La separacin de espacios se hace con un tabulador. Ejemplo: 127.0.0.1 localhost 192.168.1.5 server
Pgina 99

Sistemas Operativos

2010

192.168.1.6 client

Parmetros principales del fichero smb.conf. Modifique el fichero /etc/samba/smb.conf con cualquier editor de texto. Dentro de este notar que la informacin que le ser de utilidad viene comentada con un smbolo # y los ejemplos con ; (punto y coma), siendo estos ltimos los que tomaremos como referencia. Empezaremos por establecer el grupo de trabajo editando el valor del parmetro workgroup asignando un grupo de trabajo deseado: workgroup = MIGRUPO Opcionalmente puede establecer con el parmetro netbios name otro nombre distinto para el servidor si acaso fuese necesario, pero siempre tomando en cuenta que dicho nombre deber corresponder con el establecido en el fichero /etc/samba/lmhosts: netbios name = server El parmetro server string es de carcter descriptivo. Puede utilizarse un comentario breve que de una descripcin del servidor. server string = Servidor Samba %v en %L

Parmetros tiles para la seguridad. La seguridad es importante y esta se puede establecer primeramente estableciendo la lista de control de acceso que definir que mquinas o redes podrn acceder hacia el servidor. El parmetro hosts allow sirve para determinar esto. Si la red consiste en mquinas con direccin IP desde 192.168.1.1 hasta 192.168.1.254, el rango de direcciones IP que se definir en hosts allow ser 192.168.1., de modo tal que solo se permitir el acceso dichas mquinas. Note por favor el punto al final de cada rango. Modifique sta de manera que quede del siguiente modo: hosts allow = 192.168.1. 127. El parmetro interfaces permite establecer desde que interfaces de red del sistema se escucharn peticiones. Samba no responder a peticiones provenientes desde cualquier interfaz no especificada. Esto es til cuando Samba se ejecuta en un servidor que sirve tambin de puerta de enlace para la red local, impidiendo se establezcan conexiones desde fuera de la red local. interfaces = 192.168.1.254/24

4.5.3 Impresoras en Samba. Las impresoras se comparten de modo predeterminado, as que solo hay que realizar algunos ajustes. Si se desea que se pueda acceder hacia la impresora como usuario invitado sin clave de acceso, basta con aadir public = Yes en la seccin de impresoras,

Pgina 100

Sistemas Operativos

2010

por otra parte es necesario prevenir problemas con sistemas operativos viejos, versiones anteriores de Windows como 95, 98 y ME, como son: print command = lpr -P %p -o raw %s -r lpq command = lpstat -o %p lprm command = cancel %p-%j Por ltimo es posible que se requiera un usuario que pertenezca al grupo que realizan tareas de administracin en las impresoras, as la seccin [printers] quedar como sigue: [printers] comment = Impresoras. path = /var/spool/samba printable = Yes browseable = No writable = no printable = yes public = Yes print command = lpr -P %p -o raw %s -r lpq command = lpstat -o %p lprm command = cancel %p-%j printer admin = fulano, @opers_impresion

4.5.4 Compartiendo directorios a travs de Samba. Para los directorios o volmenes que se irn a compartir, en el mismo fichero de configuracin encontrar distintos ejemplos para distintas situaciones particulares. En general, puede utilizar el siguiente ejemplo que funcionar para la mayora: comment = Comentario que se le ocurra path = /cualquier/ruta/que/desee/compartir El volumen puede utilizar cualquiera de las siguientes opciones: Opcin Descripcin guest ok Define si ser permitir el acceso como usuario invitado. El valor puede ser Yes o No. public Es un equivalente del parmetro guest ok, es decir define si ser permitir el acceso como usuario invitado. El valor puede ser Yes o No. browseable Define si se permitir mostrar este recurso en las listas de recursos compartidos. El valor puede ser Yes o No. writable Define si ser permitir la escritura. Es el parmetro contrario de read only. El valor puede ser Yes o No. Ejemplos: writable = Yes es lo mismo que read only = No. Obviamente writable = No es lo mismo que read only= Yes

Pgina 101

Sistemas Operativos

2010

valid users Define que usuarios o grupos pueden acceder al recurso compartido. Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo antecedidos por una @. Ejemplo: fulano, mengano, @administradores. write list Define que usuarios o grupos pueden acceder con permiso de escritura. Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo antecedidos por una @. Ejemplo: fulano, mengano, @administradores. admin users Define que usuarios o grupos pueden acceder con permisos administrativos para el recurso. Es decir, podrn acceder hacia el recurso realizando todas las operaciones como superusuarios. Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo antecedidos por una @. Ejemplo: fulano, mengano, @administradores. directory mask Es lo mismo que directory mode. Define que permiso en el sistema tendrn los subdirectorios creados dentro del recurso. Ejemplos: 1777 create mask Define que permiso en el sistema tendrn los nuevos ficheros creados dentro del recurso. Ejemplo: 0644 Por ejemplo para compartir el recurso denominado ftp, que esta en el directorio /var/ftp/pub, con los siguientes premisos activados: 755 para el directorio en general y todo fichero que sea puesto en su interior tendr permiso 644. [ftp] comment = Directorio del servidor FTP path = /var/ftp/pub guest ok = Yes read only = Yes write list = fulano, administrador directory mask = 0755 create mask = 0644

Opciones para cliente o servidor Wins. Puede habilitar convertirse en servidor WINS o bien utilizar un servidor WINS ya existente. Se puede ser un servidor WINS o un cliente WINS, pero no ambas cosas a la vez. . Si se va ser el servidor WINS, debe habilitarse lo siguiente: wins support = Yes Si se va a utilizar un servidor WINS ya existente, debe des comentar la siguiente lnea y especificar qu direccin IP utiliza dicho servidor WINS: wins server = 192.168.1.1

Iniciar el servicio y aadirlo al arranque del sistema. Si iniciar Samba por primera vez realice lo siguiente:/sbin/service smb start
Pgina 102

Sistemas Operativos

2010

Si va a reiniciar el servicio, realice lo siguiente: /sbin/service smb restart Para que Samba inicie automticamente cada vez que inicie el servidor solo ejecute el siguiente mandato: /sbin/chkconfig smb on

Accediendo hacia Samba. Modo Texto Smbclient. Indudablemente el mtodo ms prctico y seguro es el mandato smbclient. Este permite acceder haca cualquier servidor Samba o Windows como si fuese el mandato ftp en modo texto. Para acceder al cualquier recurso de alguna mquina Windows o servidor SAMBA determine primero que volmenes o recursos compartidos posee est utilice el mandato smbclient del siguiente modo: smbclient -U usuario -L alguna_maquina Lo cual le devolvera ms menos lo siguiente: Domain=[MI-DOMINIO] OS=[Unix] Server=[Samba 3.0.7-1.3E] Sharename Type Comment --------------- ---------- ----------------homes Disk Home Directories etlogon Disk Network Logon Service ftp Disk ftp IPC$ IPC IPC Service (Servidor Samba 3.0.7-1.3E en mi-servidor) ADMIN$ IPC IPC Service (Servidor Samba 3.0.7-1.3E en mi-servidor) epl5900 Printer Created by redhat-config-printer 0.6.x hp2550bw Printer Created by redhat-config-printer 0.6.x Anonymous login successful Domain=[MI-DOMINIO] OS=[Unix] Server=[Samba 3.0.7-1.3E] Server Comment ----------- --------------mi-servidor Servidor Samba 3.0.7-1.3E en mi-servidor Workgroup Master ---------------- ------MI-DOMINIO MI-SERVIDOR La siguiente corresponde a la sintaxis bsica para poder navegar los recursos compartidos por la mquina Windows o el servidor SAMBA: smbclient //alguna_maquina/recurso -U usuario Ejemplo: smbclient //LINUX/FTP -U jbarrios Despus de ejecutar lo anterior, el sistema solicitar se proporcione la clave de acceso del usuario jbarrios en el equipo denominado LINUX. smbclient //LINUX/FTP -U jbarrios
Pgina 103

Sistemas Operativos

2010

added interface ip=192.168.1.254 bcast=192.168.1.255 nmask=255.255.255.0 Password: Domain=[miusuario] OS=[Unix] Server=[Samba 2.2.1a] smb: \> Pueden utilizarse virtualmente los mismos mandatos que en el interprete de ftp, como seran get, mget, put, del, etc.

Montaje de unidades de red. Si necesita poder visualizar desde GNU/Linux a las mquinas con Windows e interactuar con los directorios compartidos por ests, necesitar realizar algunos pasos adicionales. De manera predeterminada, y por motivos de seguridad, solo root puede utilizar los mandatos smbmnt y smbumount. Deber entonces establecer permisos de SUID a dichos mandatos. Puede hacerlo ejecutando, como root lo siguiente:chmod 4755 /usr/bin/smbmnt chmod 4755 /usr/bin/smbumount. Para acceder hacia una mquina Windows determine primero que volmenes o recursos compartidos posee est. utilice el mandato smbclient del siguiente modo:smbclient -N -L alguna_maquina lo cual le devolvera ms menos lo siguiente: Anonymous login successful Domain=[MI-DOMINIO] OS=[Unix] Server=[Samba 3.0.7-1.3E] Sharename Type Comment --------------- ------- -------------homes Disk Home Directories netlogon Disk Network Logon Service ftp Disk ftp IPC$ IPC IPC Service (Servidor Samba 3.0.7-1.3E en mi-servidor) ADMIN$ IPC IPC Service (Servidor Samba 3.0.7-1.3E en mi-servidor) epl5900 Printer Created by redhat-config-printer 0.6.x hp2550bw Printer Created by redhat-config-printer 0.6.x Anonymous login successful Domain=[MI-DOMINIO] OS=[Unix] Server=[Samba 3.0.7-1.3E] Server Comment --------- ------mi-servidor Servidor Samba 3.0.7-1.3E en mi-servidor Workgroup Master --------- ------MI-DOMINIO MI-SERVIDOR En el ejemplo anterior hay un volumen compartido llamado algn_volumen. Si queremos montar este, debemos crear un punto de montaje. ste puede crearse en cualquier directorio sobre el que tengamos permisos de escritura. Para montarlo, utilizamos entonces la siguiente lnea de mandato: smbmount //alguna_maquina/algn_volumen /punto/de/montaje/ Si la mquina Windows requiere un usuario y una clave de acceso, puede aadir a lo anterior las opciones
Pgina 104

Sistemas Operativos

2010

-username=el_necesario -password=el_requerido -workgroup=MIGRUPO Si la distribucin de GNU/Linux utilizada es reciente, tambin puede utilizar el ya conocido mandato mount del siguiente modo: mount -t smbfs -o username=el_necesario, password=el_requerido //alguna_maquina/algn_volumen /punto/de/montaje/ Si se genera una cuenta pcguest, similar a la cuenta nobody, podemos montar volmenes SMB sin ingresar una clave de acceso pero con privilegios restringidos, o aquellos que definamos a un volumen accedido por un usuario invitado. Esto sera el mtodo por eleccin para compartir volmenes en una red de rea local. Puede generarse una cuenta pcguest o bien dejar que el sistema tome al usuario nobody. Si opta por lo primero, solo de de alta la cuenta NO asigne clave de acceso alguna. Montar volmenes remotos como usuarios invitado es muy sencillo. Un ejemplo real sera: mount -t smbfs -o guest //LINUX/FTP //var/ftp Lo anterior monta un volumen SAMBA de una mquina con GNU/Linux en otra mquina con GNU/Linux. Puede aadirse tambin una entrada en /etc/fstab de modo que slo tenga que ser tecleado mount /punto/de/montaje. Esta lnea sera de modo similar al siguiente://LINUX/FTP /var/ftp smbfs user,auto,guest,ro,gid=100 0 0 Recurdese que el volumen compartido debe estar configurado para permitir usuarios invitados: [FTP] comment = Programtica libre (RPMS) path = /var/ftp/pub public = Yes guest ok = Yes Modo grfico Desde el entorno de GNOME. Si utiliza GNOME 2.x o superior, ste incluye un mdulo para Nautilus que permite acceder hacia los recursos compartidos a travs de Samba sin necesidad de modificar cosa alguna en el sistema. Solo hay que hacer clic en Servidores de red en el men de GNOME.

Desde Windows. Por su parte, desde Windows deber ser posible acceder sin problemas hacia Samba como si fuese hacia cualquier otra mquina con Windows. Vaya, ni Windows ni el usuario notarn siquiera la diferencia.

Pgina 105

Sistemas Operativos

2010

Uniendo mquinas al dominio del Controlador Primario de Dominio. El controlador de dominio permite utilizar a Samba como servidor de autenticacin y servidor de archivos que adems permite almacenar el perfil, preferencias y documentos del usuario en el servidor automticamente sin la intervencin del usuario.

Creando manualmente cuentas de mquinas Bajo algunas circunstancias ser necesario crear cuentas de mquinas (trust accounts o cuentas de confianza) a fin de permitir unirse al dominio. El procedimiento es simple: /usr/sbin/useradd -d /dev/null -g 100 -s /bin/false -c "Cuenta de mquina" -M maquina-windows$ smbpasswd -a maquina-windows$ Es de resaltar que las cuentas de mquinas deben incluir obligatoriamente un smbolo $ al final del nombre.

Windows 95/98/ME y Windows XP Home Ya que los sistemas con Windows 95/98/ME y Windows XP Home no incluyen una implementacin completa como miembros de dominio, no se requieren cuentas de confianza. El procedimiento para unirse al dominio es el siguiente: Acceder hacia Men de inicio Configuraciones Panel de control Red Seleccione la pestaa de Configuracin Seleccione Cliente de redes Microsoft Haga clic en el botn de propiedades Seleccione Acceder a dominio de Windows NT y especifique el dominio correspondiente. Clic en todos los botones de Aceptar y reinicie el sistema Acceda con cualquier usuario que haya sido dado de alta en el servidor Samba y que adems cuente con una clave de acceso asignada con smbpasswd.

Windows 2000/2003 y Windows XP Profesional Clic derecho en el icono de Mi PC. Seleccionar Propiedades Haga clic en la pestaa de Identificacin de red o Nombre del sistema. Clic en el botn de Propiedades. Clic en el botn Miembro de dominio Ingrese el nombre del dominio y el nombre de la mquina y haga clic en el botn de Aceptar Aparecer un dilogo que preguntar por una cuenta y clave de acceso con privilegios de administracin en el servidor.

Pgina 106

Sistemas Operativos

2010

Especifique la root y la clave de acceso que asign a la cuenta de root con el mandato smbpasswd (NO LA CLAVE DE ACCESO DE ROOT EN EL SISTEMA). Espere algunos segundos. Deber mostrarse un mensaje emergente de confirmacin que dice Bienvenido a MIDOMINIO Reinicie el sistema Acceda con cualquier usuario que haya sido dado de alta en el servidor Samba y que adems cuente con una clave de acceso asignada con smbpasswd.

4.6 Servicio de acceso remoto Tradicionalmente Linux ha utilizado una serie de comandos para conectarse de manera remota a un servidor como son el cado de telnet para hacer conexin, ftp para transportar archivos remotamente y otros como rlogin para conexin remota, y rsh para el manejo de lneas de comando de manera remota, los cuales tienen el inconveniente de no ser seguros debido a que la informacin no se transporta de manera encriptada. ssh en cambio usa el algoritmo de encriptacin pblica RSA que es un estndar en la industria. Con ssh toda la comunicacin ser encriptada con la conveniencia adicional de poder interactuar de manera grfica a travs de a travs de Xwindows pues es la variable de entorno DISPLAY que puede ser compartida. El programa servidor tiene un archivo de configuracin en /etc/ssh/ssh_config y que tambin se puede administrar desde Webmin. Igualmente, puede ser activado usando los comandos: /sbin/service sshd start /etc/rc.d/init.d/sshd start debe aparecer OK en color verde en la pantalla, y para detener el servicio: /sbin/service sshd stop /etc/rc.d/init.d/sshd stop Para usar ssh se requiere que est instalado openssh-server como servidor y opensshclients como cliente, lo cual se peude ver con los comandos: $ rpm q openssh-server $ rpm q openssh-clients

4.6.1 Conexin a un servidor remoto usando ssh La manera de conectarse a un servidor remoto es: $ ssh usuario@servidor

Pgina 107

Sistemas Operativos

2010

Por ejemplo ssh manuel@linux.domain.com.co Desde ese comente se es usuario remoto del servidor Linux.domain.com.co, en este caso como usuario manuel, el cual debe estar creado como tal en el servidor remoto y aparece el prompt [manuel@linux]$ Muchas veces no es necesario entrar a un servidor para ejecutar un comando sino basta indicarlo de manera directa y remota. Por ejemplo si se quiere ver qu programas .conf existen en el directorio remoto /etc se usa el siguiente comando: $ ssh Linux.domain.com.co ls/etc/*.conf A continuacin, el sistema remoto pide la contrasea y si sta es correcta, ejecuta el comando mostrando los archivos del caso.

Pgina 108

Sistemas Operativos

2010

Fuentes Bibliogrficas Bandel David, Napier Robert, Linux Edicin Especial, 6ta Edicin, Prentice Hall, Espaa, 1999 Dvila Sguerra, Manuel GNU/Linux y el Software libre y sus mltiples aplicaciones Alfaomega, Mxico, 2009 Eckstein Robert, CollierBrown David, Kelly Peter, Usando Samba, Primera Edicin, Noviembre de 1999 http://www.linuxparatodos.net/portal/staticpages/index.php?page=13como-samba:

Pgina 109

S-ar putea să vă placă și