Académique Documents
Professionnel Documents
Culture Documents
CARRERAS PROFESIONALES
CIBERTEC
ndice
Presentacin Red de contenidos UNIDAD DE APRENDIZAJE 1 INTRODUCCIN AL SOFTWARE LIBRE TEMA 1 : Introduccin al software libre, caractersticas de Linux UNIDAD DE APRENDIZAJE 2 COMANDOS BSICOS Y CONFIGURACIN DE RED TEMA 2 : Comandos Bsicos para el manejo de Linux 27 7 5 6
UNIDAD DE APRENDIZAJE 3 ADMINISTRACIN DE USUARIOS Y GRUPOS TEMA 3 : Administrar usuarios y grupos en un ambiente Windows UNIDAD DE APRENDIZAJE 4 PROCESO DE ARRANQUE EN LINUX TEMA 4 : Proceso de aranque, inicio y cierre del sistema. 57 45
UNIDAD DE APRENDIZAJE 6 INSTALACIN DE APLICACIONES EN LINUX TEMA 6 : Formas de instalar aplicaciones en Linux 109
UNIDAD DE APRENDIZAJE 7 Semana de Exmenes Parciales de Teora UNIDAD DE APRENDIZAJE 8 Examen Parcial de Laboratorio UNIDAD DE APRENDIZAJE 9 ANLISIS DE ARCHIVOS DE REGISTRO DEL SISTEMA LINUX TEMA 9 : Anlisis de archivos de registro y cuotas de disco 123
CIBERTEC
CARRERAS PROFESIONALES
UNIDAD DE APRENDIZAJE 10 SERVIDOR NFS y SAMBA TEMA 10 : Funcin de los servidores NFS y Samba 135
UNIDAD DE APRENDIZAJE 11 SERVIDORES DNS TEMA 11 : Uso del Sistema de Nombres de Dominio (DNS). 167
UNIDAD DE APRENDIZAJE 14 SERVIDOR DE CORREO TEMA 14 : Implementar el uso de de un servidor de correo Exmenes Finales. 209
CARRERAS PROFESIONALES
CIBERTEC
Presentacin
El curso Sistemas Operativos Avanzados (Linux) muestra como primera parte temas de introduccin al sistema operativo Linux, con el cual se va tomar una primera visin de este maravilloso sistema operativo, para luego entrara mas en detalle el tema de la administracin de este.
La segunda parte se enfoca en la configuracin de Servidores de Internet: Servidor Samba, Servidor NFS, Servidor DNS, Servidor DHCP, Servidor Web, Servidor de Correo. La instalacin y configuracin de estos servidores se realizara modificando sus archivos de configuracin correspondientes, de tal manera que el participante podr realizar sus propias experiencias sin importar la Distribucin Linux a usar, sin embargo la distribucin utilizada para la explicacin del presente curso ser CentOS Linux 5.0 y el Entorno de Escritorio Gnome.
CIBERTEC
CARRERAS PROFESIONALES
CARRERAS PROFESIONALES
CIBERTEC
UNIDAD DE APRENDIZAJE
1
TEMA
OBJETIVOS ESPECFICOS Conocer que es un sistema Operativo Conocer el proyecto GNU Identificar conceptos de software
CONTENIDOS Sistema Operativo Proyecto GNU Proyecto Linux Software Libre Distribuciones Linux Escritorios Graficos en Linux
CIBERTEC
CARRERAS PROFESIONALES
1. Sistema Operativo
Un sistema operativo es el encargado de llevar a cabo todas las gestiones sobre los recursos de una computadora, es decir, un conjunto de programas de computadora destinado a permitir una administracin eficaz de sus recursos. Comienza a trabajar cuando se enciende el computador, y gestiona el Hardware de la mquina desde los niveles ms bsicos, permitiendo tambin la interaccin con el usuario.
1.1
Los sistemas operativos simplifican el manejo de la computadora, desempean una serie de funciones bsicas esenciales para la gestin del equipo. Entre las ms destacables, cada una ejercida por un componente interno (mdulo en ncleos monolticos y servidor en microncleos), podemos resear las siguientes: Proporcionar ms comodidad en el uso de un computador. Gestionar de manera eficiente los recursos del equipo, ejecutando servicios para los procesos (programas) Brindar una interfaz al usuario, ejecutando instrucciones (comandos).
CARRERAS PROFESIONALES
CIBERTEC
Permitir que los cambios debidos al desarrollo del propio SO se puedan realizar sin interferir con los servicios que ya se prestaban (evolutividad).
1.2 UNIX
Unix es un sistema operativo portable, multitarea y multiusuario; desarrollado, en principio, en 1969 por un grupo de empleados de los laboratorios Bell de AT&T, entre los que figuran Ken Thompson, Dennis Ritchie y Douglas McIlroy. Durante fines de la dcada de 1970 y principios de la dcada de 1980, la influencia de Unix en crculos acadmicos indujo a su adopcin en masa (principalmente la variante BSD, que haba surgido en la Universidad de California, Berkeley) en varias compaas que se iniciaban por aquel entonces, siendo la ms destacada Sun Microsystems. Hoy en da, junto a los sistemas Unix certificados, tambin se pueden encontrar sistemas similares a Unix, como Linux y los derivados de BSD.
1.3 BSD
BSD son las inciales de Berkeley Software Distribution (en espaol, Distribucin de Software Berkeley) y se utiliza para identificar un sistema operativo derivado del sistema Unix nacido a partir de los aportes realizados a ese sistema por la universidad de California en Berkeley. En los primeros aos del sistema Unix sus creadores, los Laboratorios Bell de la compaa AT&T, autorizaron a la Universidad de California en Berkeley y a otras universidades a utilizar el cdigo fuente y adaptarlo a sus necesidades. Durante la dcada de los setenta y los ochenta Berkeley utiliz el sistema para sus investigaciones en materia de sistemas operativos. Cuando AT&T retir el permiso de uso a la universidad por motivos comerciales, la universidad promovi la creacin de una versin inspirada en el sistema Unix utilizando las aportaciones que ellos haban realizado, permitiendo luego su distribucin con fines acadmicos y al cabo de algn tiempo reduciendo al mnimo las restricciones referente a su copia, distribucin o modificacin. Algunos sistemas operativos descendientes del sistema desarrollado por Berkeley son Solaris, FreeBSD, NetBSD, OpenBSD y Mac OS X. BSD tambin ha hecho grandes contribuciones en el campo de los sistemas operativos en general, como por ejemplo: El manejo de memoria virtual paginado por demanda El control de trabajos El Fast FileSystem El protocolo TCP/IP El editor de texto vi
CIBERTEC
CARRERAS PROFESIONALES
10
1.4 GNU/Linux
Linux es un sistema operativo tipo Unix que se distribuye bajo la Licencia Pblica General de GNU (GPL), es decir que es software libre. Su nombre proviene del Ncleo de Linux, desarrollado en 1991 por Linus Torvalds en conjunto con las aplicaciones de sistema creadas por el proyecto GNU liderado por Richard Stallman.
CARRERAS PROFESIONALES
CIBERTEC
11
programadores para contribuir a GNU, aunque una porcin sustancial del desarrollo fue (y contina siendo) producida por voluntarios. A medida que GNU ganaba renombre, negocios interesados comenzaron a contribuir al desarrollo o comercializacin de productos GNU y el correspondiente soporte tcnico. El ms prominente y exitoso de ellos fue Cygnus Solutions, ahora parte de Red Hat.
1.4.1.1 Etimologa
GNU es un acrnimo recursivo que significa GNU No es Unix (GNU is Not Unix). En espaol, se recomienda pronunciarlo u como el antlope africano, por ello, el trmino mayoritariamente se deletrea (GNU) para su mejor comprensin.
CIBERTEC
CARRERAS PROFESIONALES
12
Esta licencia se aplica a cualquier programa o trabajo que contenga una nota puesta por el propietario de los derechos del trabajo estableciendo que su trabajo puede ser distribuido bajo los trminos de esta "GPL General Public License". El "Programa", utilizado en lo subsecuente, se refiere a cualquier programa o trabajo original, y el "trabajo basado en el Programa" significa ya sea el Programa o cualquier trabajo derivado del mismo bajo la ley de derechos de autor: es decir, un trabajo que contenga el Programa o alguna porcin de l, ya sea ntegra o con modificaciones o traducciones a otros idiomas. Otras actividades que no sean copia, distribucin o modificacin si estn cubiertas en esta licencia y estn fuera de su alcance. El acto de ejecutar el programa no est restringido, y la salida de informacin del programa est cubierta slo si su contenido constituye un trabajo basado en el Programa (es independiente de si fue resultado de ejecutar el programa). Si esto es cierto o no depende de la funcin del programa. El proyecto OpenOffice.org de Sun Microsystems emplea la LGPL.
CARRERAS PROFESIONALES
CIBERTEC
13
CentOS (Community ENTerprise Operating System) es un clon a nivel binario de la distribucin Red Hat Enterprise Linux, compilado por voluntarios a partir del cdigo fuente liberado por Red Hat. Los desarrolladores de CentOS usan ese cdigo fuente para crear un producto final que es muy similar al Red Hat Enterprise Linux y est libremente disponible para ser bajado y usado por el pblico, pero no es mantenido ni asistido por Red Hat. CentOS usa yum para bajar e instalar las actualizaciones, herramienta tambin utilizada por Fedora.
Red Hat es una empresa dedicada al software libre, y adems es un importante proveedor, distribuidor y promotor de Linux. Red Hat fue fundada en 1995 y tiene su sede en Raleigh, Carolina del Norte con oficinas en todo el mundo. La compaa es mejor conocida por su sistema operativo Red Hat Enterprise Linux (RHEL), y ms recientemente, a travs de la adquisicin de la empresa de cdigo abierto JBoss que es un servidor de aplicaciones.
Fedora es una distribucin Linux patrocinada oficialmente por Red Hat. El Proyecto Fedora Linux desarrollaba paquetes extra para viejas distribuciones de Red Hat Linux (RHL 8, RHL 9, FC 1, FC 2), antes de convertirse en parte del Proyecto Fedora. Cuando la distribucin Red Hat Linux qued entre Red Hat Enterprise Linux y el Proyecto Fedora existente, los usuarios domsticos y de pequeas empresas tuvieron incertidumbre acerca de qu hacer; Red Hat Professional Workstation se cre en este mismo momento con la intencin de llenar el nicho que Red Hat Linux haba ocupado una vez, pero con un futuro incierto. Esta opcin cay rpidamente para aquellos que no eran usuarios de Red Hat Linux en favor del Proyecto Fedora. Recientemente, la comunidad Fedora ha prosperado, y la distribucin Fedora tiene la reputacin de ser una distribucin completamente abierta enfocada en la innovacin y abierta al trabajo en grupo con las comunidades de Linux Debian es una comunidad conformada por desarrolladores y usuarios, que pretende crear y mantener un sistema operativo GNU basado en software libre pre compilado y empaquetado, en un formato sencillo para mltiples arquitecturas y en varios ncleos. Debian nace como una apuesta por separar en sus versiones el software libre del software no libre. El modelo de desarrollo del proyecto es ajeno a motivos empresariales o comerciales, siendo llevado adelante por los propios usuarios, aunque cuenta con el apoyo de varias empresas en forma de infraestructuras. Debian no vende directamente su software, lo pone a disposicin de cualquiera en Internet, aunque s permite a personas o empresas distribuir comercialmente este software mientras se respete su licencia. Ubuntu es una distribucin Linux que ofrece un sistema operativo enfocado a computadoras de escritorio aunque tambin proporciona soporte para servidores. Es una de las ms importantes distribuciones de GNU/Linux a nivel mundial. Basada en Debian GNU/Linux, Ubuntu concentra su objetivo en la facilidad y libertad de uso, la facilidad de instalacin y los lanzamientos regulares (cada 6 meses). Ubuntu es patrocinado por Canonical Ltd., una empresa privada fundada y financiada por el empresario sudafricano Mark Shuttleworth. El nombre de la distribucin proviene del concepto zul y xhosa de Ubuntu, que significa "humanidad hacia otros" o "yo soy porque nosotros somos".
CIBERTEC
CARRERAS PROFESIONALES
14
OpenSuse es el nombre de la distribucin y proyecto libre auspiciado por Novell y AMD para el desarrollo y mantenimiento de un sistema operativo basado en Linux. Luego de adquirir SUSE Linux en enero de 2004, Novell decidi lanzar SUSE Linux Professional como un proyecto completamente de cdigo abierto, involucrando a la comunidad en el proceso de desarrollo. La versin inicial fue una versin beta de SUSE Linux 10.0
CARRERAS PROFESIONALES
CIBERTEC
15
2. Estudiar el funcionamiento de la aplicacin y adaptarlo a las necesidades 3. Distribuir copias, con lo que puede ayudar a otros. 4. Mejorar el programa y hacer pblicas las mejoras, de modo que toda la comunidad se beneficie. Otro de los requisitos fundamentales para considerar a una aplicacin como Software Libre es el acceso al cdigo fuente de la aplicacin.
1.5.1.2 Shareware
Se denomina Shareware a una modalidad de distribucin de software el cual permite al usuario evaluar de forma gratuita el producto, por un lapso de tiempo, aunque tambin las limitaciones pueden estar en algunas de las formas de uso o las capacidades finales. Para adquirir una licencia de software que permite el uso del software de manera completa se requiere de un pago. No debe confundirse el shareware con el sistema freeware que indica que un software es totalmente gratuito, si bien es cierto que el primero se inspira y tiene sus races en el segundo. Tampoco debe confundirse el hecho de que un software sea Shareware o freeware con el hecho de que sea de cdigo abierto, ya que esto ltimo depende de la disponibilidad o no del cdigo fuente.
CIBERTEC
CARRERAS PROFESIONALES
16
RAPIDEZ DE DESARROLLO. Las actualizaciones y ajustes se realizan a travs de una comunicacin constante va Internet. Menores tiempos de desarrollo debido a la amplia disponibilidad de herramientas y libreras. RELACIN CON EL USUARIO. El programador se acerca mucho ms a la necesidad real de su cliente, y puede crear un producto especfico para l. LIBRE. Es de libre distribucin, cualquier persona puede regalarlo, venderlo o prestarlo. COMBATE EFECTIVAMENTE LA PIRATERA DE SOFTWARE. AHORRO EN LICENCIAS. No se tienen que pagar ningn tipo de licencias para poder usarlo, por lo que hace al Software Libre una perfecta alternativa para el sector Educativo Publico de Pas
CARRERAS PROFESIONALES
CIBERTEC
17
Mediante un proceso de certificacin es posible obtener la conformidad a la LSB de un producto. Dicha certificacin la lleva a cabo el Open Group en colaboracin con el Free Standards Group (Grupo de Estndares Libres). Como ejemplo, la LSB especifica: libreras estndar, un conjunto de rdenes y utileras que extienden el estndar POSIX, la estructura jerrquica del sistema de archivos, los niveles de ejecucin, y varias extensiones al sistema grfico X Window.
1.8.1 Caractersticas
La mayora usa un sistema operativo basado en el ncleo Linux, pero tambin se usan otros sistemas como BeOS, FreeBSD, Minix, Solaris, OS/2 o incluso Microsoft Windows (sin embargo, distribuir un Live CD de ste ltimo es ilegal). El primer Live CD Linux fue Yggdrasil Linux en 1995, aunque fue poco exitosa. Posteriormente surgiDemoLinux (ao 2000). El auge de esta modalidad de Linux se inici alrededor del ao 2003 con la distribucin alemana de Knoppix, basada, a su vez, en la distribucin de software Debian. Una de las mejoras de este mtodo fue la compresin cloop, esto permiti sobrepasar los 650700 MB del CD (se usaba el driver loop) y lograr introducir hasta 2 GB. Uno de los mayores inconvenientes de este sistema es el requerimiento de una gran cantidad de memoria RAM (256 son ms que suficientes y hay distribuciones que funcionan perfectamente en 128), una parte para su uso habitual y otra para funcionar como el disco virtual del sistema. En el arranque, se le pueden dar distintos parmetros para adaptar el sistema al computador, como la resolucin de pantalla o para activar o desactivar la bsqueda automtica de determinado hardware.
CIBERTEC
CARRERAS PROFESIONALES
18
1.9.1 Gnome
GNOME es un entorno de escritorio para sistemas operativos de tipo Unix bajo tecnologa X Window. Forma parte oficial del proyecto GNU. Naci como una alternativa a KDE. Se encuentra disponible actualmente en 48 idiomas en su ltima versin
1.9.1.1 Objetivo
El Proyecto GNOME pone un gran nfasis en la simplicidad, usabilidad y en hacer que las cosas funcionen. Otros objetivos del proyecto son: La libertad para crear un entorno de escritorio que siempre tendr el cdigo fuente disponible para reutilizase bajo una licencia de software libre. El aseguramiento de la accesibilidad, de modo que pueda ser utilizado por cualquiera, sin importar sus conocimientos tcnicos y discapacidad fsica. Hacer que est disponible en muchos idiomas. En el momento est siendo traducido a ms de 100 idiomas. Un ciclo regular de liberaciones y una estructura de comunidad disciplinada.
CARRERAS PROFESIONALES
CIBERTEC
19
1.9.1.2 Historia
El proyecto GNOME (GNU Network Object Model Environment) surgi en agosto de 1997 como proyecto liderado por los mexicanos Miguel de Icaza y Federico Mena para crear un entorno de escritorio completamente libre para sistemas operativos libres, en especial para GNU/Linux. Desde el principio, el objetivo principal de GNOME ha sido proporcionar un conjunto de aplicaciones amigables y un escritorio fcil de utilizar. GNOME tambin es una palabra del idioma ingls que significa gnomo. En esos momentos exista otro proyecto anterior con los mismos objetivos, pero con diferentes medios: KDE. Los primeros desarrolladores de GNOME criticaban a dicho proyecto por basarse en la biblioteca de controles grficos Qt, cuya licencia (QPL), aunque libre, no era compatible inicialmente con la licencia GPL de la FSF. Aos ms tarde los problemas de licencia de Qt se han resuelto y estas crticas han cesado. Sin embargo, los dos proyectos siguen rumbos tecnolgicos distintos y se hacen una competencia amigable. Como con la mayora de los programas GNU, GNOME ha sido diseado para ejecutarse en toda la gama de sistemas operativos de tipo Unix con X Window, y especialmente pensado para GNU/Linux. Desde sus inicios se ha utilizado la biblioteca de controles grficos GTK, originalmente desarrollada para el programa The GIMP. A medida que el proyecto ha ido progresando en los ltimos aos, los objetivos del mismo se han extendido para tratar una serie de problemas en la infraestructura Unix existente Actualmente el proyecto evoluciona bajo amparo de la Fundacin GNOME.
CIBERTEC
CARRERAS PROFESIONALES
20
1.9.2 KDE
De acuerdo con su pgina web, KDE es un entorno de escritorio contemporneo para estaciones de trabajo Unix. KDE llena la necesidad de un escritorio amigable para estaciones de trabajo Unix, similar a los escritorios de MacOS o Windows. La K, originariamente, representaba la palabra Kool , pero su significado fue abandonado ms tarde. Actualmente significa simplemente K, la letra inmediatamente anterior a la L (inicial de Linux) en el alfabeto.
1.9.2.1 Objetivo
KDE se basa en el principio de la personalizacin. Todos los componentes de KDE pueden ser configurados en mayor o menor medida por el usuario. Las opciones ms comunes son accesibles en su mayora desde mens y dilogos de configuracin. Los usuarios avanzados pueden optar por editar los archivos de configuracin manualmente, obteniendo en algunos casos un mayor control sobre el comportamiento del sistema. La apariencia de KDE es configurable en varios niveles. Tanto el gestor de ventanas (llamado Kwin) como los controles (botones, mens, etc.) utilizan "estilos" intercambiables, que definen cada aspecto de su apariencia. Es por este motivo que KDE no mantiene una nica apariencia entre versiones, sino que se opta por aquella ms ampliamente aceptada en el momento de cada nuevo lanzamiento. La intencin del proyecto KDE es la de crear un entorno de escritorio que no se comporte de un modo predefinido, sino que permita al usuario adecuar el sistema a su gusto y comodidad. Esto no impide que KDE resulte fcil de usar para nuevos usuarios, detalle al que no se resta importancia. Algunas personas externas al proyecto a menudo critican su similitud con los escritorios Windows y su falta de innovacin. Esta observacin, sin embargo, recae sobre la seleccin de parmetros predefinidos del sistema, a menudo orientada a facilitar la integracin de nuevos usuarios, acostumbrados en su mayora a trabajar con Windows. Pese a todo esta crtica no tiene fundamento alguno, ya que debido a que KDE tiene una alta capacidad de configuracin se pueden realizar efectos de escritorio muy innovadores (inclusive algunos son comparables con Compiz o Beryl).
CARRERAS PROFESIONALES
CIBERTEC
21
1.9.2.2 Historia
El proyecto fue iniciado en octubre de 1996 por el programador alemn Matthias Ettrich, quien buscaba crear una interfaz grfica unificada para sistemas Unix. En sus inicios imit a CDE (Common Desktop Environment), un entorno de escritorio utilizado por varios Unix. Dos factores llevaron a la creacin del proyecto alternativo GNOME en 1997: la eleccin de la biblioteca Qt, que por aquel entonces posea una licencia incompatible con la GPL de GNU, aunque libre: la QPL, y en menor medida la importancia del lenguaje C++ para el desarrollo de KDE. La rivalidad actual entre ambos proyectos se considera beneficiosa generalmente y existe, de hecho, una constante cooperacin e inspiracin mutua. KDE 1: Al ao siguiente, se public KDE 1.0. Esta versin contena un panel (barra de tareas y lanzador de aplicaciones), un escritorio sobre el cual dejar iconos, un administrador de archivos (Kfm) y un gran nmero de utilidades. KDE 2: KDE 2.0, lanzado en el ao 2000, fue reescrito casi por completo. Esta versin inclua Konqueror (un navegador web y gestor de archivos) adems de muchas nuevas tecnologas con el objetivo de mejorar la integracin entre aplicaciones. En esta versin mejor parcialmente el aspecto visual. KDE 3: KDE 3.0 fue publicado en el ao 2002, y es la evolucin de KDE 2. El aspecto de la interfaz no vari hasta KDE 3.1, en el que consta una importante mejora referente al tema visual: Keramik es incluido como nuevo tema por omisin junto con el conjunto de iconos Crystal GT y el antialisado de fuentes. En KDE 3.2 Crystal GT fue reemplazado por Crystal SVG. En KDE 3.4 Keramik fue reemplazado por Plastik.
CIBERTEC
CARRERAS PROFESIONALES
22
1.9.3 XFCE
Xfce (xfeis) es un entorno de escritorio ligero para sistemas tipo Unix como Linux, BSD, Solaris y derivados. Se configura ntegramente con el ratn o mouse. Su creador, Olivier Fourdan, dice de l: Diseado para la productividad, las aplicaciones se cargan y se ejecutan rpidamente, mientras conserva recursos de sistema Xfce tambin provee el marco de trabajo para el desarrollo de aplicaciones. Adems de Xfce mismo, hay otros programas que tambin utilizan las bibliotecas de Xfce, como el editor de texto Mousepad, el reproductor multimedia Xfmedia o el emulador de consola Terminal. Xfce est basado en la biblioteca GTK+ 2.x y utiliza el gestor de ventanas Xfwm. Xfce se pareca en sus inicios al entorno de escritorio CDE, pero fue alejndose notablemente debido a que fue reprogramado nuevamente desde cero(ya lo haba hecho entre las versiones 2.x y 3.x), y a diferencia de sus anteriores versiones, ahora cuenta con un sistema modular pudiendo gestionar un sistema de tipo multihead de manera bastante sencilla, y sigue todos los estndares establecidos por Freedesktop.org. El nombre Xfce originalmente provena de XForms Common Enviroment, pero debido a los grandes cambios en el cdigo, ya no usa el kit de herramientas de XForms, como originalmente lo haca. El nombre sobrevivi, pero ya no se indica como XFce sino Xfce. Los desarrolladores estn de acuerdo en que el nombre carece de significado actualmente, aunque se le suele desglosar como X Free Choresterol Environment (entorno X libre de colesterol) en referencia al poco consumo de memoria que realiza y a la velocidad con que se ejecuta al no tener elementos superfluos a diferencia de otros entornos de escritorio ms grandes. Thunar es el nuevo gestor de archivos predeterminado para Xfce desde la versin 4.4. Es similar a Nautilus y est diseado para una mxima velocidad y un mnimo consumo de memoria. Xfce tambin posee un gestor de archivos comprimidos llamado Xarchiver.
CARRERAS PROFESIONALES
CIBERTEC
23
1.9.4 Enlightenment
Enlightenment, tambin conocido simplemente como E, es un gestor de ventanas ligero para UNIX y GNU/Linux. Uno de sus objetivos es llegar a ser un entorno de escritorio completo. Es muy configurable y muy atractivo visualmente. Durante un tiempo fue el gestor de ventanas de GNOME.
CIBERTEC
CARRERAS PROFESIONALES
24
La ltima versin estable es la 0.16.8.6 (tambin llamada DR16). El siguiente lanzamiento importante ser la versin 0.17 (DR17) que est actualmente en fase de desarrollo y se basa en las nuevas Enlightenment Foundation Libraries (EFL). DR17 no est basado en DR16 sino que ha sido reescrito totalmente.
CARRERAS PROFESIONALES
CIBERTEC
25
Autoevaluacin
1.
2.
3.
CIBERTEC
CARRERAS PROFESIONALES
26
CARRERAS PROFESIONALES
CIBERTEC
27
UNIDAD DE APRENDIZAJE
2
TEMA
OBJETIVOS ESPECFICOS Conocer los comandos bsicos del entorno linux Aprender a modificar los parmetros de red en Linux
CONTENIDOS Comandos para informacin del sistema Comandos para manejo de archivos Comandos para configuracin de red
CIBERTEC
CARRERAS PROFESIONALES
28
1.1.
arch
Este comando sirve para mostrarnos la arquitectura del procesador de nuestro sistema:
1.3. /proc/cpuinfo
Nos muestra la informacion referente al procesador del sistema
CARRERAS PROFESIONALES
CIBERTEC
29
Ejemplo:
1.4. /proc/meminfo
Verifica el uso de la memoria Ejemplo:
CIBERTEC
CARRERAS PROFESIONALES
30
1.5. /proc/swaps
Nos muestra el uso del espacio en memoria SWAP Ejemplo:
1.6. /proc/mounts
Nos muestra los sistemas de ficheros que se encuentran montados Ejemplo:
1.7. date
Nos muestra la fecha que tiene registrado el sistema Ejemplo:
En caso de querer modificar la fecha solo se debe de seguir la siguiente sintaxis: date [MesDiaHoraMinutoAo.Segundos]
CARRERAS PROFESIONALES
CIBERTEC
31
Ejemplo:
1.8. w
Nos indica los usuarios que se encuentran en el sistema asi como lo que hacen en el Ejemplo:
1.9. df h
Nos reporta el uso de espacio en los discos duros Ejemplo
1.10. ps xa
Este comando lista los procesos que se estan ejecutando en el sistema
CIBERTEC
CARRERAS PROFESIONALES
32
1.11. mkdir
Este comando sirve para crear una carpeta Ejemplo:
Tambien puede usarse en conjunto con el parametro p para crear un arbol de carpetas Ejemplo
1.12. touch
Sirve para generar archivos sin contenido
CARRERAS PROFESIONALES
CIBERTEC
33
Ejemplo
1.13. cd
Comando que nos permite movernos entre directorios, su sintaxis es: cd [carpetaDondeQuieroMoverme] Ejemplo:
1.14. cp
Comando que sirve para copiar archivos o carpetas, su sintaxis es cp [parametros] [archivo/Directorio] [rutaDestino] Los parametros son: -r: Copiadirectorios recursivamente -v: Muestra el estado de la copia -f: Forza la copia sin pedirnos confirmacin Ejemplo 1: Copiando un archivo a una carpeta
CIBERTEC
CARRERAS PROFESIONALES
34
1.15. mv
Comando que sirve para mover archivos o carpetas, su sintaxis es mv [parametros][archivo/Directorio] [rutaDestino] Los parametros son: -v: Muestra el estado del proceso -f: Forza el movimiento sin pedirnos confirmacin
1.16. rm
Comando que sirve para eliminar archivos o carpetas, su sintaxis es rm [parametros] [archivo/Directorio] Los parametros son: -r: Borra directorios recursivamente -v: Muestra el estado de la borrado -f: Forza el borrado sin pedirnos confirmacin
CARRERAS PROFESIONALES
CIBERTEC
35
Ejemplo 1:
Ejemplo2:
1.17. ls
Lista los archivos que contiene una carpeta, su sintaxis es ls [parametros] Los parametros son: -l: Muestra los detalles de archivos y carpetas -a: Muestra los archivos o carpetas ocultas Ejemplo:
1.18. find
Busca archivos en una ruta especifica, su sintaxis es find [ruta] [expresion]
CIBERTEC
CARRERAS PROFESIONALES
36
Ejemplo1. Buscar archivos y carpetas con el nombre archivo.txt en todo el directorio Raiz
Ejemplo 2. Buscar archivos y carpetas que le pertenezcan al usuario rdelvillar en todo el directorio raiz
Ejemplo 3. Buscar archivos con extension .bin dentro del directorio '/home/rdelvillar'
Ejemplo 4. Buscar archivos binarios que no han sido usados en los ultimos 100 dias
Ejemplo5. Buscar archivos binarios creados o modificados en los ultimos diez dias
CARRERAS PROFESIONALES
CIBERTEC
37
1.19. updatedb
Este comando sirve para actualizar la base de datos de nuestro sistema
1.20. mount
El comando mount nos sirve para montar desde particiones de disco, hasta dispositivos externos como cd's, dvd's, floopy drives, imagenes ISO, o dispositivos de almacenamiento masivo de datos. La manera de usar este comando es la siguiente: Ejemplo1. Montando un DVD
Ejemplo 2. Montando en CD
CIBERTEC
CARRERAS PROFESIONALES
38
CARRERAS PROFESIONALES
CIBERTEC
39
2.2. zip
El comando zip es utilizado normalmente para comprimir paquetes. La sintaxis para el buen uso de este comando es: [root@localhost ~]# zip [parametros] Ejemplo 1. Comprimiendo un archivo con ZIP
CIBERTEC
CARRERAS PROFESIONALES
40
/etc/hosts
/etc/resolv.conf
Las modificaciones realizadas en este archivo de configuracin son reflejados inmediatamente. Nota: Este archivo se encuentra la direccin de loopback (127.0.0.1), esta direccin es utilizada por varias aplicaciones para su funcionamiento, se recomienda que no modifique esta linea. Ejemplo: 127.0.0.1 localhost.localdomain localhost 192.168.1.10 mail.redfactor.net mail 192.168.1.13 www.red.factor.net www
CARRERAS PROFESIONALES
CIBERTEC
41
Sus parmetros de configuracin son: Define las direcciones IP de los servidores de nombre en los cuales se debern resolver las bsquedas. El archivos hosts solo permite hasta 3 servidores de nombre diferentes Define el nombre de dominio local en el cual pertenecen los equipos en una red local Este parmetro define la lista de bsqueda nombres de equiposes til cuando se busca un equipo dentro de la red local por un nombre corto Este parmetro indica la preferencia de los nameserver definidos
FORWARD_IPV4
HOSTNAME
GATEWAY
CIBERTEC
CARRERAS PROFESIONALES
42
Los parmetros que admiten los archivos de configuracin de la interfaz de red Ethernet son los siguientes: DEVICE BOOTPROTO none No utiliza ningn protocolo de arranque. static Se define de forma manual los parmetros de red. dhcp Obtiene los parmetros de red por medio de un servidor de DHPC IPADDR NETMASK NETWORK HWADDR Define la direccin IP asignada a ese dispositivo. Define la mscara de red. Define el segmento de red Define el direccin MAC del dispositivo de red. Se recomienda que modificar el valor de este parmetro. Define la Direccin IP del Gateway en la red Establece si el dispositivo debe activarse con los servicios de red Define las direcciones de los servidores DNS primario y secundario a utilizar. Define el nombre del dispositivo fsico
GATEWAY ONBOOT
DNS1, DNS2
DHCP_HOSTNAME Esta opcin establece un nombre al equipo. Utilice esta opcin si el servidor DHCP requiere que el cliente especifique el nombre de su equipo antes de recibir una direccin IP.
Ejemplo del archivo de configuracin. DEVICE=eth0 BOOTPROTO=static IPADDR=192.168.2.10 NETMASK=255.255.255.0 NETWORK=192.168.2.0 GATEWAY=192.168.2.254 DNS1=192.168.2.1 HWADDR= 00:1E:EC:6E:CD:51
CARRERAS PROFESIONALES
CIBERTEC
43
Autoevaluacin
1.
Cul es el comando que te permite conocer la hora del sistema? (a) (b) (c) (d) cd mkdir date messages
2.
Cul es el comando que te permite conocer los usuarios conectados al sistema? (a) (b) (c) (d) ls cat w tar
3.
Cul es el archivo donde se almacena los DNS del sistema? (a) (b) (c) (d) hosts messages resolv.conf grub.conf
CIBERTEC
CARRERAS PROFESIONALES
44
CARRERAS PROFESIONALES
CIBERTEC
45
UNIDAD DE APRENDIZAJE
3
TEMA
3
Administracin de Usuarios y Grupos
TEMA Aprender cmo administrar usuarios y grupos en un ambiente Windows
OBJETIVOS ESPECFICOS Aprender a crear, editar y eliminar usuarios Aprender a crear, editar y eliminar grupos
CONTENIDOS Introduccin Herramientas para la creacin de usuarios Usuarios y Grupos estndares Contraseas Ejemplos
CIBERTEC
CARRERAS PROFESIONALES
46
1. Introduccin
El control de los usuarios y grupos es un elemento clave en la administracin de sistemas Linux. Los tipos de usuarios en Linux son: Usuario Administrador Es la cuenta del administrador del Sistema en caso de Linux y Unix el usuario es el usuario root Usuarios de Servicio Cuentas que existen para ser usadas con aplicaciones especificas Usuarios Standard Cuentas ligadas a un usuario fsico en particular
Los Grupos son expresiones lgicas de organizacin, reuniendo usuarios para un propsito comn. Los usuarios dentro de un mismo grupo pueden leer, escribir o ejecutar archivos que pertenecen a ese grupo. Cada usuario y grupo tiene un nmero de identificacin nico llamado identificador de usuario (UID) y un identificador de grupo (GID) respectivamente. Un usuario que crea un archivo se convierte en el propietario y el propietario de grupo para ese archivo. Al archivo tambin se le asignan permisos separados de lectura, escritura y ejecucin para el propietario del archivo, para el grupo y para cualquier otro usuario. Solamente el superusuario (root) puede cambiar el propietario de un archivo, y los permisos de acceso se pueden cambiar tanto por el superusuario como por el creador del archivo. Linux soporta listas de control de acceso (ACLs) para archivos y directorios lo que permite colocar permisos para usuarios especficos adems del creador. Una de las tareas ms importantes de cualquier administrador del sistema, es la de administrar adecuadamente usuarios y grupos, as como asignar y revocar permisos.
CARRERAS PROFESIONALES
CIBERTEC
47
La forma ms fcil de manejar usuarios y grupos es a travs de la aplicacin grfica, Administrador de usuarios (system-config-users).
Las siguientes herramientas de lnea de comandos tambin se pueden utilizar para manejar usuarios y grupos:
. useradd, usermod y userdel. Mtodos estndar de la industria para aadir,
shadow asociados.
. pwconv, pwunconv. Herramientas para la conversin de contraseas a contraseas shadow (oscurecimiento de contraseas) y de vuelta a contraseas estndar.
CIBERTEC
CARRERAS PROFESIONALES
48
CARRERAS PROFESIONALES
CIBERTEC
49
CIBERTEC
CARRERAS PROFESIONALES
50
gdm htt mysql webalizer mailnull smmsp squid ldap netdump pcap quaggavt quagga radvd slocate wnn dovecot radiusd
42 101 27 67 47 51 23 55 34 77 102 92 75 21 49 97 95
6. Contraseas Shadow
En entornos multiusuario es muy importante utilizar contraseas shadow tambin conocido como Oscurecimiento de contraseas, (proporcionadas por el paquete shadow-utils). Haciendo esto se mejora la seguridad de los archivos de autenticacin
CARRERAS PROFESIONALES
CIBERTEC
51
del sistema. Por esta razn, el programa de instalacin activa por defecto las contraseas shadow. Lo siguiente es una lista de las ventajas de las contraseas shadow sobre el mtodo tradicional de almacenar contraseas en los sistemas basados en UNIX:
. Mejora la seguridad del sistema al mover las contraseas encriptadas desde
el archivo /etc/passwd que puede leer todo el mundo, a /etc/shadow, el cual slo puede ser ledo por el usuario root. . Almacena informacin sobre las vigencias de las contraseas. . Permite el uso del archivo /etc/login.defs para reforzar las polticas de seguridad. La mayora de las utilidades proporcionadas por el paquete shadow-utils funcionan adecuadamente sin importar si las contraseas shadow estn activadas o no. Sin embargo, puesto que la informacin sobre la vigencia de las contraseas es almacenada exclusivamente en el archivo /etc/shadow, cualquier comando que cree o modi_que la informacin sobre la vigencia de las contraseas, no funcionar. Abajo se muestra una lista de los comandos que no funcionan a menos que se activen primero las contraseas shadow:
. chage . gpasswd . Las opciones /usr/sbin/usermod -e o -f . Las opciones /usr/sbin/useradd -e o -f
7. Ejemplos
Lo primero: la orden useradd. El primer paso para crear una nueva cuenta consiste en utilizar el mandato useradd del siguiente modo: useradd nombre_del_usuario Ejemplo:
CIBERTEC
CARRERAS PROFESIONALES
52
Lo segundo: la orden passwd. Despus de crear la nueva cuenta con useradd o que sigue a continuacin es especificar una contrasea para el usuario. Determine una que le resulte fcil de recordar, que mezcle nmeros, maysculas y minsculas y que, preferentemente, no contenga palabras que se encontraran fcilmente en el diccionario. Aunque el sistema siempre tratar de prevenirlo cuando se escoja una mala contrasea, el sistema no le impedir que lo haga. Especificar una nueva contrasea para un usuario, o bien cambiar la existente, se puede realizar utilizando el mandato passwd del siguiente modo: passwd nombre_del_usuario Ejemplo:
El sistema solicitar entonces que proceda a teclear la nueva contrasea para el usuario y que repita sta para confirmar. No ver el echo, por seguridad, el sistema no mostrar los caracteres tecleados, por lo que debe hacerlo con cuidado. Si se considera que tal vez se cometieron errores de tecleado, puede presionarse las veces que sean necesarias la tecla <Backspace> o <Retroceso>. De cualquier forma el sistema le informar si coincide o no lo tecleado. Si todo sali bien recibir como respuesta del sistema code 0. Si en cambio recibe code 1, significa que deber repetir el procedimiento, ya que ocurri un error. Este procedimiento tambin puede utilizarse para cambiar una contrasea existente. Opciones avanzadas. En muchos casos pueden no ser necesarios, pero si se esta administrando un servidor o estacin de trabajo, o bien se es un usuario un poco ms experimentado, y se quiere crear una cuenta con mayores o menores restricciones, atributos y/o permisos, pueden utilizarse las siguientes opciones de useradd: -c comment Se utiliza para especificar el archivo de comentario de campo para la nueva cuenta.
CARRERAS PROFESIONALES
CIBERTEC
53
-d home dir Se utiliza para establecer el directorio de trabajo del usuario. Es conveniente, a fin de tener un sistema bien organizado, que este se localice dentro del directorio /home. -e expire date Se utiliza para establecerla fecha de expiracin de una cuenta de usuario. Esta debe ingresarse en el siguiente formato: AAAA-MM-DD. -g initial group Se utiliza para establecer el grupo inicial al que pertenecer el usuario. De forma predeterminada se establece como nico grupo 1. Nota: el grupo asignado debe de existir. -G group,[...] Se utiliza para establecer grupos adicionales a los que pertenecer el usuario. Estos deben separarse utilizando una coma y sin espacios. Esto es muy conveniente cuando se desea que el usuario tenga acceso a determinados recursos del sistema, como acceso a la unidad de disquetes, administracin de cuentas PPP y POP. Nota: los grupos asignado deben de existir. -m Se utiliza para especificar que el directorio de trabajo del usuario debe ser creado si acaso este no existiese, y se copiaran dentro de este los archivos especificados en /etc/skel. -s shell Se utiliza para establecer el Shell que podr utilizar el usuario. De forma predeterminada, en Red Hat Linux y Fedora Core, se establece bash como Shell predefinido. -u uid Se utiliza para establecer el UID, es decir, la ID del usuario. Este debe ser nico. De forma predeterminada se establece como UID el nmero mnimo mayor a 99 y mayor que el de otro usuario existente. Cuando se crea una cuenta de usuario por primera vez, como ocurre en Red Hat Linux y Fedora Core generalmente se asignar 500 como UID del usuario. Los UID entre 0 y 99 son reservados para las cuentas de los servicios del sistema. Ejemplo:
CIBERTEC
CARRERAS PROFESIONALES
54
Lo anterior crear una cuenta de usuario llamada jperez, que se encuentra incluido en los grupos operadores y linux, que tendr un UID=521, utilizar Bash como intrprete de mandatos y tendr un directorio de trabajo en /home/jperez. Existen ms opciones y comentarios adicionales para el mandato useradd, estas se encuentran especificadas en los manuales -Man pages-. Para acceder a esta informacin, utilice el mandato man useradd desde una ventana terminal.
Ejemplo:
Si se desea eliminar tambin todos los archivos y sub-directorios contenidos dentro del directorio de trabajo del usuario a eliminar, se debe agregar la opcin -r: userdel -r nombre_del_usuario Ejemplo:
CARRERAS PROFESIONALES
CIBERTEC
55
Manejo de Grupos.
Alta de grupos.
groupadd grupo-que-sea
Baja de grupos
CIBERTEC
CARRERAS PROFESIONALES
56
Autoevaluacin
1.
2.
Cul es el archivo donde se graba la configuracin principal de los usuarios? (a) (b) (c) (d) passwd shadow hosts messages
3.
Cul es el archivo donde se graba el password de los usuarios? (a) (b) (c) (d) passwd shadow hosts messages
CARRERAS PROFESIONALES
CIBERTEC
57
UNIDAD DE APRENDIZAJE
4
TEMA
4
Proceso de arranque en Linux
TEMA Describir el proceso de aranque en Linux, asi como los componetes que intervienen en l.
OBJETIVOS ESPECFICOS Comprender el proceso de aranque, inicio y cierre del sistema Conocer el gestor de arranque Grub Concer la estructura de archivos
CONTENIDOS Proceso de aranque, inicio y cierre del sistema El Grub en linux La estructura de archivos
CIBERTEC
CARRERAS PROFESIONALES
58
CARRERAS PROFESIONALES
CIBERTEC
59
3. La segunda etapa del gestor de arranque carga el kernel en memoria, lo cual en su momento carga los mdulos necesarios y monta la particin root para slo-lectura. 4. El kernel transfiere el control del proceso de arranque al programa /sbin/init. 5. El programa /sbin/init carga todos los servicios y herramientas de espacio del usuario y monta todas las particiones listadas en /etc/fstab. 6. Se le presenta al usuario una pantalla de inicio de conexin para el sistema Linux recin iniciado. Ya que la configuracin del proceso de arranque es ms comn que la del proceso de cierre, en el resto del captulo se discutir el modo en el que el proceso de arranque funciona y cmo se puede personalizar para satisfacer sus necesidades.
1.2.1. La BIOS
Cuando un ordenador x86 se carga, el procesador busca al final de la memoria del sistema por Basic Input/Output System o el programa BIOS y lo ejecuta. La BIOS controla no slo el primer paso del proceso de arranque, sino que tambin proporciona una interfaz de bajo nivel para dispositivos perifricos. Por este motivo se escribe tan slo en modo lectura, memoria permanente y est siempre disponible para el uso. Otras plataformas usan programas diferentes para ejecutar tareas a bajo nivel equivalentes a aquellas de la BIOS en el sistema x86. Por ejemplo, los ordenadores basados en Itanium usan el Shell Interfaz de Firmware extendible (Extensible Firmware Interface, EFI).
CIBERTEC
CARRERAS PROFESIONALES
60
Una vez que se haya cargado, la BIOS chequea los perifricos y localiza un dispositivo con el que arrancar el sistema. Habitualmente, en primer lugar comprueba cualquier disquete y unidades de CDROM presente por los medios de arranque, y a continuacin si esto falla, echa un vistazo a las unidades de disco duro del sistema. En la mayora de los casos, el orden de bsqueda de las unidades para arrancar es controlado por una configuracin de la BIOS y busca por el dispositivo maestro IDE en el bus IDE primario. La BIOS carga en memoria cualquier programa que resida en el primer sector de este dispositivo, llamado Registro de arranque principal o Master Boot Record (MBR). La MBR slo tiene 512 bytes de tamao y contiene las instrucciones de cdigo de mquina para el arranque del equipo, llamado un gestor de arranque, as como tambin la tabla de particiones. Una vez que la BIOS haya encontrado y cargado el gestor de arranque en memoria, le deja el control del proceso de arranque a ste.
CARRERAS PROFESIONALES
CIBERTEC
61
Una vez que el gestor de arranque de la segunda etapa haya determinado qu kernel arrancar, localizar el binario del kernel correspondiente en el directorio /boot/. El kernel binario es llamado usando el siguiente formato. /boot/vmlinuz<kernel-version> (donde <kernel-version> corresponde a la versin del kernel especificada en las configuraciones del gestor de arranque). Para instrucciones sobre el uso del gestor de arranque para suministrar argumentos de lnea de comandos al kernel. El gestor de arranque luego coloca una o ms de las imgenes apropiadas de initramfs en la memoria. Luego, el kernel descomprime estas imgenes desde la memoria a /boot/, un sistema de archivos virtual basado en RAM, a travs de cpio. El initrd es usado por el kernel para cargar controladores y mdulos necesarios para arrancar el sistema. Esto es muy importante si posee unidades de disco duro SCSI o si est el sistema utiliza el sistema de archivos ext3. Una vez que el kernel y la imagen initramfs se cargan en memoria, el gestor de arranque pasa el control del proceso de arranque al kernel.
1.2.3. El kernel
Cuando se carga el kernel, ste inicializa y configura la memoria del ordenador y el diferente hardware conectado al sistema, incluyendo todos los procesadores, subsistemas de entrada/salida y dispositivos de almacenamiento. A continuacin
CIBERTEC
CARRERAS PROFESIONALES
62
buscar la imagen comprimida de initramfs en una ubicacin predeterminada en memoria, la descomprimir directamente a /sysroot/ y cargar todos los controladores necesarios. A continuacin inicializa los dispositivos virtuales relacionados con el sistema de ficheros, tal como LVM o software RAID antes de completar los procesos initramfs y de liberar toda la memoria que la imagen del disco ocup anteriormente.
El kernel luego crea un dispositivo root, monta la particin root como slo lectura y libera cualquier memoria no utilizada. Llegados a este punto, el kernel est cargado en memoria y operativo. Sin embargo, como no hay aplicaciones de usuario que permitan la entrada significativa de datos al sistema, no se puede hacer mucho ms. Para configurar el entorno de usuario, el kernel inicia el programa /sbin/init.
CARRERAS PROFESIONALES
CIBERTEC
63
especiales en los puertos seriales que deben ser inicializados, rc.sysinit ejecutar el archivo /etc/rc.serial. El comando init luego ejecuta el script /etc/inittab, el cual describe cmo se debera configurar el sistema en cada nivel de ejecucin SysV init. Los niveles de ejecucin son un estado, o modo, definido por los servicios listados en el SysV directorio /etc/rc.d/rc<x>.d/, donde <x> es el nmero de nivel de ejecucin. A continuacin, el comando init configura la biblioteca de funciones fuente, /etc/rc.d/init.d/functions, para el sistema, que establece el modo en cmo iniciar o matar un programa y cmo determinar el PID del programa. El programa init inicia todos los procesos de fondo buscando en el directorio apropiado rc para el nivel de ejecucin especificado por defecto en /etc/inittab. Los directorios rc estn numerados para corresponder al nivel de ejecucin que representan. Por ejemplo, /etc/rc.d/rc5.d/ es el directorio para el nivel de ejecucin 5. Cuando se arranca el nivel de ejecucin 5, el programa init consulta el directorio etc/rc.d/rc5.d/ para determinar qu procesos iniciar o parar. Casi todos los ficheros en /etc/rc.d/rc5.d/ son enlaces simblicos apuntando a los scripts localizados en el directorio /etc/rc.d/init.d/. Los enlaces simblicos se usan en cada uno de los directorios rc de manera que los niveles de ejecucin puedan ser reconfigurados al crear, modificar y eliminar los enlaces simblicos sin que afecte a los scripts actuales a los que se refiere. El nombre de cada enlace simblico comienza con K o S. Los enlaces K son procesos eliminados en ese nivel de ejecucin, mientras que aquellos que inician por S son procesos a iniciar. El comando init en primer lugar detiene todos los enlaces simblicos de K en el directorio mediante la ejecucin del comando /etc/rc.d/init.d/<command> <stop>, en el que < command>es el proceso a matar. A continuacin inicia todos los enlaces simblicos S al ejecutar /etc/rc.d/init.d/<command>. start.
CIBERTEC
CARRERAS PROFESIONALES
64
65
Generalmente, los usuarios utilizan Linux al nivel de ejecucin 3 o nivel de ejecucin 5.ambos modos multiusuario. Ya que los niveles de ejecucin 2 y 4 no son usados, los usuarios a veces personalizan estos niveles para cubrir necesidades especficas. El nivel de ejecucin por defecto para el sistema est listado en /etc/inittab. Para saber el nivel de ejecucin por defecto de un sistema, busque por la lnea similar a la que se muestra abajo cerca de la parte superior de /etc/inittab: id:5:initdefault: El nivel de ejecucin predeterminado en este ejemplo es cinco, como indica el nmero despus del punto y coma. Para cambiarlo, modifique /etc/inittab como usuario root.
CIBERTEC
CARRERAS PROFESIONALES
66
1.5. Apagar
Para apagar Linux, el usuario root puede ejecutar el comando /sbin/shutdown. La pgina man para shutdown tiene una lista completa de opciones, pero las dos usadas ms comnmente son: /sbin/shutdown -h now /sbin/shutdown -r now Despus de apagar todo, la opcin -h detendr la mquina, y la opcin -r la reiniciar. Los usuarios de consola PAM pueden usar los comandos reboot y halt para apagar el equipo mientras se est en niveles de ejecucin 1 hasta 5. Para ms informacin sobre los usuarios de consola. Si la computadora no se apaga asmisma, tenga cuidado de no apagar la computadora hasta que aparezca un mensaje indicando que el sistema ha sido detenido. Si no espera por este mensaje puede significar que no todas las particiones del disco duro han sido desmontadas, y puede llevar a un sistema de archivos corrupto.
CARRERAS PROFESIONALES
CIBERTEC
67
CIBERTEC
CARRERAS PROFESIONALES
68
Este captulo explica comandos y opciones de configuracin para el gestor de arranque GRUB suministrado con Linux para la arquitectura x86.
2.2. GRUB
GNU GRand Unified Boot loader o GRUB es un programa que habilita al usuario a seleccionar qu sistema operativo instalado o kernel cargar en el momento de arranque del sistema. Permite tambin que el usuario transmita argumentos al kernel.
CARRERAS PROFESIONALES
CIBERTEC
69
CIBERTEC
CARRERAS PROFESIONALES
70
discos duros y a las particiones. Esta informacin es muy importante si desea configurar GRUB para arrancar varios sistemas operativos.
CARRERAS PROFESIONALES
CIBERTEC
71
La siguiente es una lista de bloques de ejemplo: 0+50,100+25,200+1 Esta lista de bloques de ejemplo especifica un archivo que empieza en el primer bloque de la particin y que usa los bloques del 0 al 49, del 99 al 124, y el 199. Saber cmo escribir listas de bloques es til al utilizar GRUB para cargar sistemas operativos que usan el mtodo de carga encadenada. Puede suprimir el nmero de desplazamiento de bloques si empieza por el bloque 0. Por ejemplo, el archivo de carga encadenada de la primera particin del primer disco duro tendr el nombre siguiente: (hd0,0)+1 Lo siguiente muestra el comando chainloader con una designacin de lista de bloques similar en la lnea de comandos de GRUB despus de establecer el dispositivo correcto y la particin adecuada como raz: chainloader +1
CIBERTEC
CARRERAS PROFESIONALES
72
El siguiente es un ejemplo de archivo de configuracin de men de GRUB muy bsico diseado para arrancar bien sea Linux o Microsoft Windows 2000: default=0 timeout=10 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title Red Hat Enterprise Linux AS (2.6.8-1.523) root (hd0,0) kernel /vmlinuz-2.6.8-1.523 ro root=/dev/VolGroup00/LogVol00 rhgb quiet initrd /initrd-2.6.8-1.523.img # section to load Windows title Windows rootnoverify (hd0,0) chainloader +1 Este archivo indicar a GRUB que cree un men con Linux como el sistema operativo predeterminado y que establezca un arranque automtico despus de 10 segundos. Se proporcionan dos secciones, una para cada entrada de sistema, con comandos especficos para la tabla de particin del sistema.
CARRERAS PROFESIONALES
CIBERTEC
73
3. Estructura del sistema de archivos 3.1. Por qu compartir una estructura comn
La estructura de un sistema de archivos de un sistema operativo es el nivel ms bsico de organizacin. Casi todas las formas en que un sistema operativo interacta con sus usuarios, aplicaciones y modelos de seguridad dependen de la manera en que almacena y organiza los archivos en los dispositivo de almacenamiento. El proporcionar una estructura de sistema de archivos comn asegura que los usuarios y programas pueden acceder y escribir a los archivos. Los sistemas de archivos dividen los archivos en dos categoras lgicas: . archivos compartibles vs. no compartibles . archivos variables vs. estticos Los archivos compartibles son aqullos a los que se puede acceder desde varios hosts; mientras que los archivos no compartibles slo estn disponibles localmente. Los archivos variables, tales como documentos, pueden cambiar en cualquier momento; los archivos estticos, tales como binarios, no cambian sin una actuacin
CIBERTEC
CARRERAS PROFESIONALES
74
por parte del administrador de sistemas. La razn para visualizar a los archivos de esta manera es para ayudar a correlacionar la funcin del archivo con los permisos otorgados a los directorios que los sostienen. El modo en que el sistema operativo y sus usuarios interactan con un archivo dado determina el directorio en el cual estos archivos estn ubicados, si ese directorio est montado como de slo lectura o slo escritura y el nivel de acceso que cada usuario tiene a ese archivo. El nivel superior de esta organizacin es crucial. El acceso a los directorios inferiores puede estar restringido o se pueden manifestar problemas de seguridad si el nivel superior es dejado sin organizar o no sigue ninguna estructura rgida.
3.2. Vista preliminar del estndar de jerarqua del sistema de archivos (FHS)
Linux est comprometido a respetar el Estndar de Jerarqua de Sistemas de archivos (FHS del ingls Filesystem Hierarchy Standard), un documento de consenso que define los nombres, la ubicacin y los permisos de muchos tipos de archivos y directorios. El documento que define el FHS es la referencia autorizada para cualquier sistema compatible FHS, sin embargo el estndar da pie a la extensibilidad de unas reas o no define otras. En esta seccin se proporciona un resumen del estndar y una descripcin de aquellas partes del sistema de archivos que no cubre el estndar. El cumplimiento del estndar significa varias cosas, pero los dos aspectos ms importantes son la compatibilidad con otros sistemas que siguen el estndar y la capacidad de poder montar la particin /usr/ en modo slo lectura. Este segundo punto es importante porque el directorio contiene ejecutables comunes y no est pensado para ser alterado por los usuarios. Por este motivo, el directorio /usr/ se monta como de slo lectura, y esto se puede hacer directamente desde el CD-ROM o desde otro ordenador a travs de NFS en modo slo lectura.
CARRERAS PROFESIONALES
CIBERTEC
75
CIBERTEC
CARRERAS PROFESIONALES
76
3.2.1.3. El directorio /etc/ El directorio /etc/ est reservado para los archivos de configuracin que son locales a su ordenador. No deben colocarse binarios en /etc/. Los binarios que antiguamente se colocaban en /etc/ deberan de colocarse en /sbin/ o en /bin/. Los directorios X11/ y skel/ son subdirectorios del directorio /etc/: /etc |- X11/ |- skel/ El directorio /etc/X11/ es para los archivos de configuracin de X Window System, como xorg.conf. El directorio /etc/skel/ es para archivos "esqueleto" (del ingls "skeleton") de usuarios, que son archivos utilizados para rellenar el directorio principal de un usuario la primera vez que este es creado. 3.2.1.4. El directorio /lib/ El directorio /lib/ debera contener slo las bibliotecas (libraries) necesarias para ejecutar los binarios en /bin/ y en /sbin/. Estas imgenes de bibliotecas compartidas son particularmente importantes para arrancar el sistema y ejecutar comandos en el sistema de archivos raz. 3.2.1.5. El directorio /media/ El directorio /media/ contiene los subdirectorios utilizados como puntos de montaje para la media removible, tales como CD-ROMs y discos Zip. 3.2.1.6. El directorio /mnt/ El directorio /mnt/ est reservado para sistemas de archivos montados temporalmente, tales como montajes de NFS. Para toda la media removible utilice el directorio /media/. 3.2.1.7. El directorio /opt/ El directorio /opt/ proporciona un rea para almacenar habitualmente paquetes de software de una aplicacin esttica y amplia. Un paquete que coloca archivos en el directorio /opt/ crea un directorio con el mismo nombre del paquete. Este directorio a su vez, guarda archivos que de otra forma estaran esparcidos por el sistema de archivos, dndole as al administrador del sistema una forma fcil de determinar el papel de cada archivo dentro de un paquete particular. Por ejemplo, si sample fuese el nombre de un paquete de software particular localizado en el directorio /opt/, entonces todos sus archivos podran ser emplazados en directorios dentro de /opt/sample/, tales como /opt/sample/bin/ para binarios y /opt/sample/man/ para pginas de manual. Los paquetes grandes que abarcan diferentes subpaquetes, cada uno de los cuales desempean una tarea especfica, tambin se ubican dentro de /opt/, aportando a este gran paquete un modo estndar de organizarse. De este modo, el paquete
CARRERAS PROFESIONALES
CIBERTEC
77
sample puede tener diferentes herramientas que cada una ir en sus propios subdirectorios, tales como /opt/sample/tool1/ y /opt/sample/tool2/, cada uno de los cuales puede tener su propio bin/, man/ y otros directorios similares. 3.2.1.8. El directorio /proc/ El directorio /proc/ contiene "archivos" especiales que o bien extraen informacin del kernel o bien la envan a ste. Debido a la gran variedad de datos que contiene el directorio /proc/ y a la gran cantidad de maneras que este directorio utiliza para comunicar con el kernel. 3.2.1.9. El directorio /sbin/ El directorio /sbin/ almacena los ejecutables usados por el usuario root. Los ejecutables en /sbin/ slo se usan para arrancar y hacer operaciones de recuperacin del sistema. De este directorio, la FHSdice: /sbin contiene los archivos binarios esenciales para arrancar, restaurar, recuperar y/o reparar el sistema, adems de los binarios en /bin. Los programas ejecutados despus de /usr/, son montados (si no surge ningn problema) y ubicados en /usr/sbin. Los programas de administracin del sistema instalados localmente se deberan ubicar en /usr/local/sbin. Los siguientes programas deberan encontrarse, al menos, en /sbin/: arp, clock,halt, init, fsck.*, grub, ifconfig, mingetty, mkfs.*, mkswap, reboot, route, shutdown, swapoff, swapon 3.2.1.10. El directorio /srv/ El directorio /srv/ contiene datos especficos al sitio proporcionada por su sistema ejecutando Linux. Este directorio le da a los usuarios la ubicacin de los archivos de datos para un servicio en particular, tal como FTP, WWW o CVS. Los datos que slo pertenecen a un usuario especfico deberan de ir en el directorio /home/. 3.2.1.11. El directorio /sys/ El directorio /sys/ utiliza el nuevo sistema de archivos virtual sysfs especfico al kernel 2.6. Ahora con el soporte ms extendido para los dispositivos de conexin en caliente (hot plug) en el kernel 2.6, el directorio /sys/ contiene informacin similar a la que se encuentra en /proc/, pero muestra una vista jerrquica de la informacin de dispositivos especfica con relacin a los dispositivos de conexin en caliente. Para ver ciertos dispositivos USB y Firewire montados, consulte la pgina man de /sbin/hotplug and /sbin/udev.
CIBERTEC
CARRERAS PROFESIONALES
78
3.2.1.12. El directorio /usr/ El directorio /usr/ es para archivos que puedan ser compartidos a travs de muchas mquinas. El directorio /usr habitualmente tiene su propia particin y se monta en slo lectura. Como mnimo, los siguientes directorios deberan ser subdirectorios de /usr/: /usr |- bin/ |- etc/ |- games/ |- include/ |- kerberos/ |- lib/ |- libexec/ |- local/ |- sbin/ |- share/ |- src/ |- tmp -> ../var/tmp/ |- X11R6/ Bajo el directorio /usr/, el directorio bin/ contiene ejecutables, el directorio etc/ contiene archivos de configuracin de sistema, games es para juegos, include/ contiene los archivos de cabecera C,kerberos/ contiene binarios y otros archivos relacionados con Kerberos y lib/ contiene archivos objeto y bibliotecas que no estn diseadas para ser directamente utilizadas por usuarios o scripts de shell. El directorio libexec/ contiene pequeos programas de ayuda llamados por otros programas, sbin/ es para los binarios de administracin del sistema (aqullos que no pertenecen al directorio /sbin/), share/ contiene archivos que no son de una arquitectura especfica, src/ es para cdigo fuente y X11R6/ es para el sistema X Window (XFree86 en Linux). 3.2.1.13. El directorio /usr/local/ El FHS dice: La jerarqua /usr/local es para el uso del administrador del sistema al instalar software localmente. Necesita estar protegido contra sobreescrituras cuando se actualiza el software del sistema. Puede ser utilizado por programas y datos compartidos entre grupos de hosts, pero que no se encuentran en /usr. El directorio /usr/local/ es similar en estructura al directorio /usr/. Tiene los siguientes subdirectorios, que son similares en propsito a los del directorio /usr/: /usr/local |- bin/ |- etc/ |- games/ |- include/ |- lib/ |- libexec/ |- sbin/ |- share/ |- src/
CARRERAS PROFESIONALES
CIBERTEC
79
En Linux, el propsito del directorio /usr/local/ es ligeramente diferente de lo especificado por FHS. El FHS establece que en /usr/local/ debera memorizarse el software que permanece seguro de las actualizaciones de software de sistemas. Ya que las actualizaciones de sistemas se pueden hacer de forma segura con el Red Hat Package Manager (RPM), no es necesario proteger archivos ponindolos en /usr/local/. En vez de esto, el directorio /usr/local/ es usado para software que es local a la mquina. Por ejemplo, si usted ha montado /usr/ slo lectura de NFS desde un host remoto, an es posible instalar un paquete o programa bajo el directorio /usr/local/. 3.2.1.14. El directorio /var/ Ya que el FHS requiere que Linux sea capaz de montar /usr/ en slo lectura, cualquier programa que escriba archivos log o que necesite los directorios spool/ o lock/ debera escribirlos en el directorio /var/. El FHS especifica que /var/ es para: Archivos de datos variables. Esto incluye archivos y directorios spool, datos de administracin, de registro y archivos temporales. Abajo se muestran algunos de los directorios encontrados dentro del directorio /var/: /var |- account/ |- arpwatch/ |- cache/ |- crash/ |- db/ |- empty/ |- ftp/ |- gdm/ |- kerberos/ |- lib/ |- local/ |- lock/ |- log/ |- mail -> spool/mail/ |- mailman/ |- named/ |- nis/ |- opt/ |- preserve/ |- run/ +- spool/ |- at/ |- clientmqueue/ |- cron/ |- cups/ |- exim/ |- lpd/ |- mail/
CIBERTEC
CARRERAS PROFESIONALES
80
|- mailman/ |- mqueue/ |- news/ |- postfix/ |- repackage/ |- rwho/ |- samba/ |- squid/ |- squirrelmail/ |- up2date/ |- uucp |- uucppublic/ |- vbox/ |- tmp/ |- tux/ |- www/ |- yp/ Los archivos de registro del sistema tales como messages/ y lastlog/ van en el directorio /var/log/. El directorio /var/lib/rpm/ tambin contiene las bases de datos RPM. Los archivos lock van en /var/lock/, habitualmente en directorios para el programa usando el archivo. El directorio /var/spool/ tiene subdirectorios para programas en los que se almacenan archivos de datos.
CARRERAS PROFESIONALES
CIBERTEC
81
Autoevaluacin
1.
2.
Indique cuales son los runlevels y que se realiza con cada uno de ellos
3.
CIBERTEC
CARRERAS PROFESIONALES
82
CARRERAS PROFESIONALES
CIBERTEC
83
UNIDAD DE APRENDIZAJE
5
TEMA
5
Filesystems en Linux
TEMA Describir el manejo de las particiones en linux
OBJETIVOS ESPECFICOS Comprender como se interpretar, crear, modificar y eliminar particiones en Linux
CIBERTEC
CARRERAS PROFESIONALES
84
CARRERAS PROFESIONALES
CIBERTEC
85
Como se puede ver, se muestra gran informacin como: uso, principio y fin de los bloques, capacidad, sectores, nombre asignado, estado, etc. El comando df nos muestra informacin til sobre el estado de las unidades montadas.
La particin donde esta alojado el s.o se muestra como raz (/), las dems pueden ir montadas en directorios, algunas deben estar en su directorio especifico si tienen -/boot donde ira montada la particin de arranque (no es necesario para el funcionamiento puesto que los archivos se pueden montar en el mismo directorio sin necesidad de ser una particin distinta a la raz).
-/home aqu se pueden montar los archivos que se usen en un servidor o espacio para usuarios.
-/directorio.cualquiera en este se pueden montar las particiones que se deseen, pejm: montar la particin de M$ win 98, otro s.o de linux, y la particin donde se encuentra M$ win 2000, se podran distribuir a su antojo, /win98, /debian/win2000 o dentro de cualquier directorio, por defecto la mayora de distribuciones montan las particiones no raz, no especificas en el directorio /mnt. Partiendo de esto, para usar una particin hay que montarla,para montar una particin se usa el comando mount o un front-end para ello, el comando tiene una serie de opciones que se describen muy bien en el man del comando.
CIBERTEC
CARRERAS PROFESIONALES
86
La sntesis bsica del comando es la siguiente: mount -[parametros de montaje] [tipo de particin] [dev/archivo donde se ubique la particin] [directorio donde se desee montarla]
Fichero /etc/mtab
Contiene una lista de los filesystem que estn montados en el sistema Ejemplo de fichero /etc/mtab
CARRERAS PROFESIONALES
CIBERTEC
87
Fichero /etc/fstab
Al iniciar el sistema se montan los filesystems listados en /etc/fstab
cada lnea del fichero tiene las siguientes columnas (file system) (mount point) (tipo) (opciones) (dump) (pass) Ejemplo: /dev/hda9 /home ext3 defaults 0 2 Alguna de las opciones son: o rw monta tipo lectura/escritura o ro slo lectura o auto/noauto monta/no monta con mount -a (monta/no monta al inicio) o exec/noexec Permite/no permite la ejecucin de ficheros binarios en la particin o suid/nosuid permite/no permite que los bits setuid y setgid tengan efecto o dev/nodev interpreta/no interpreta dispositivos de bloques o caracteres en el filesystem o async toda la I/O se realiza de forma asncrona o user puede montarlo un usuario (y slo el que lo monta puede desmontarlo); implica las opciones noexec, nosuid y nodev, a menos que se fuercen (p.e. user,exec,suid,dev) o users puede montarlo/desmontarlo un usuario y el que desmonta no tiene que ser el que lo mont; implica las mismas opciones que user o defaults selecciona opciones por defecto (rw, suid, dev, exec, auto, nouser y async) Filesystems especficos pueden tener opciones especficas: o ver el manual de mount para ms detalles Si un directorio aparece listado en el fstab puede montarse sin especificar el dispositivo: $ mount /home
dump
lo usa el comando dump para determinar de que filesystems hacer copias de seguridad
CIBERTEC
CARRERAS PROFESIONALES
88
valor 1 o 0 segn si la particin va a tener un backup controlado por dump o no (normalmente no se usa)
pass lo usa el comando fsck para determinar el orden en que se chequean los filesystems al iniciar el sistema
o o
si 0, el filesystem no se chequea si > 0, los filesystems se chequean en el orden indicado por los nmeros si varios tienen el mismo nmero, se chequean en paralelo (si es posible) normalmente / tendr 1 y el resto 2
Si se desea agregar una particin para se monte automticamente cuando se incie el sistema operativo, se tendra que agregar dentro del fstab
Ntese que se ha aadido una particin ext3 que se encuentra en el primer disco IDE que corresponde a la primera particin lgica de este, la cual se montara en el diracorui /mnt/Debian con sistema de archivos ext3, y opciones de montaje por default. Viendo el ejemplo, nos damos cuenta de que el fstab no solo sirve para las particiones, si no que sirve para multitud de hardware, el disco de 3/14 , las unidades de cd-rom,las unidades tipo cmaras digitales, video dv, unidades externas por USB, unidades por red tipo NFS, samba, etc; todos ellos tienen un archivo nodo en dev, se montan en algn directorio, y se les asigna un valor.
En linux existe un comando fdisk, que nos permite la modificacin, creacin y otros parametros para el uso con particiones y discos ( ver man del comando) este comando tiene la funcionalidad del mismo de M$ DOS( puesto que es una adopcin de los sistemas Unix para este s.o) pero el original, como suele decirse, es mejor, las posibilidades de fdisk en linux no son comparables de ninguna manera a los sistemas basados en ms-dos.
CARRERAS PROFESIONALES CIBERTEC
89
Tambin existen herramientas en modo grafico, (qtparted, gparted, diskdruid, diskdrake) para poder trabajar con discos.
CIBERTEC
CARRERAS PROFESIONALES
90
Hoy en da, exceptuando algunas distribuciones muy especificas, las dems permiten una instalacin teniendo en cuenta que el usuario novel en linux probablemente desconozca detalles sobre estos temas, es decir proporcionan herramientas graficas y asistentes comprensibles para realizar un particionado de manera automtica.
En este caso montamos la tercera particin del primer disco en el directorio /home, el sistema de ficheros es ext3.
CARRERAS PROFESIONALES
CIBERTEC
91
En este otro montamos la segunda particin del segundo disco en el directorio /mnt/Windows, es el sistema de ficheros es vfat, tambin podra ser NTFS.
Aqu estamos montando un sistemas de ficheros nfs que nos provee la maquina 192.168.10.2 (concretamente nos comparte /home) en nuestro directorio /home.
si aadimos un nuevo disco al sistema ya instalado deberemos crear las particiones y los sistemas de ficheros esta operacin implica los siguientes pasos: 1. creacin de particiones (comando fdisk) 2. creacin de los sistemas de ficheros (comando mkfs) 3. montado de los sistemas de ficheros (comando mount)
CIBERTEC
CARRERAS PROFESIONALES
92
Formato: fdisk [opciones] dispositivo donde dispositivo es el dispositivo del disco (/dev/hdx en IDE, /dev/sdx para SCSI o SATA)
Debemos tener permiso de administrador para usarlo Opciones: o -l muestra la tabla de particiones del dispositivo
CARRERAS PROFESIONALES
CIBERTEC
93
Ejemplo
Cree una particin primaria de 5 GB usamos n (new): Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-20805, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-20805, default 20805): +5G Command (m for help): p Disk /dev/hdb: 10.7 GB, 10737418240 bytes 16 heads, 63 sectors/track, 20805 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Device Boot Start End Blocks Id System /dev/hdb1 1 9689 4883224+ 83 Linux
con l (list) vemos el tipo de particiones soportadas para cambiar el tipo de particin se usa t (type)
Command (m for help): t 1 Selected partition 1 Hex code (type L to list codes): 82 Changed system type of partition 1 to 82 (Linux swap / Solaris) Command (m for help): p Disk /dev/hdb: 10.7 GB, 10737418240 bytes 16 heads, 63 sectors/track, 20805 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Device Boot /dev/hdb1 Start 1 End Blocks Id System 9689 4883224+ 82 Linux swap / Solaris
CIBERTEC
CARRERAS PROFESIONALES
94
Opciones: o -V verbose o -t filesystem tipo de sistema de ficheros a crear (ext2, ext3, xfs, etc.) si no se especifica se crea el por defecto del sistema (en Linux ext2) o n_bloques nmero de bloques usados para el sistema de ficheros (si no se pone, se usa toda la particin)
mkfs es un front-end a distintos comandos, que permiten crear particiones de los tipos especficos:
mkfs.ext2 o mke2fs crea sistemas ext2 mkfs.ext3 crea sistemas ext3, equivalente a mkfs.ext2 -j mkfs.jfs, mkfs.reiserfs, mkfs.xfs crean sistemas JFS, ReiserFS y XFS, respectivamente mkfs.msdos, mkfs.vfat crea sistemas MS-DOS mkswap crea un sistema de ficheros de tipo Linux swap
Cada uno de estos comandos pueden tener distintas opciones Comandos relacionados
dumpe2fs muestra informacin de sistemas de ficheros ext2/ext3 o informacin sobre inodos, bloques y grupos tune2fs permite ajustar parmetros en sistemas ext2/ext3 o p.e. define el intervalo entre chequeos automticos, convierte ext2 en ext3, etc. e2label cambia la etiqueta de un sistema ext2/ext3
CARRERAS PROFESIONALES
CIBERTEC
95
existen comandos similares para otros tipos de sistemas de ficheros, p.e. reiserfstune, jfs_tune, etc.
# fdisk -l /dev/hd Disk /dev/hdb: 10.7 GB, 10737418240 bytes 16 heads, 63 sectors/track, 20805 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Device Boot Start End Blocks Id System /dev/hdb1 1 9689 4883224+ 83 Linux /dev/hdb2 9690 20805 5602464 82 Linux swap / Solaris
Finalmente, para que se active en el arranque, debe incluirse la entrada correspondiente en el fichero /etc/fstab /dev/hda2 none swap sw 0 0
Comando mount
Permite asociar (montar) directorios a sistemas de ficheros
CIBERTEC
CARRERAS PROFESIONALES
96
Algunas opciones: o tipo tipo de sistema de ficheros (ext2, ext3, reiserfs, vfat, etc.); si se pone auto intenta determinar de forma automgica o -a monta los filesystems listados en /etc/fstab o -r/-w monta los sistemas de slo lectura/escritura o -f simulacin; usado con -v (verbose) para chequear o -n monta sin aadir la entrada a /etc/mtab; se usa cuando /etc es slo lectura o -o opciones opciones de montado; formato igual al usado en el fichero fstab
Comando umount
Desmonta los sistemas de ficheros
Algunas opciones o -a desmonta los filesystems listados en /etc/mtab o -r si falla, intenta remontar slo lectura o -f fuerza el desmontado Si hay algn proceso bloqueando el filesystem, este no se puede desmontar: o usar el comando fuser -c directorio para ver el PID del proceso
Autofs
Sistema que permite montar los filesystems ``bajo demanda''
cuando se accede al directorio, este se monta se desmonta automticamente despus de un tiempo de inactividad (por defecto, 5 minutos) suele usarse para montar sistemas remotos con NFS Ficheros de configuracin: o /etc/auto.master define los puntos de montado por cada uno de los puntos definidos, se inicia un proceso automount usando los parmetros indicados
CIBERTEC
CARRERAS PROFESIONALES
97
Los ficheros le indican al automount los filesystems a montar Ejemplo de auto.misc cdrom floppy windoz -fstype=iso9660,ro :/dev/cdrom -fstype=auto :/dev/fd0 -fstype=vfat :/dev/hda1
esto monta el cdrom, el floppy y la particin /dev/hda1 en los directorios /misc/cdrom, /misc/floppy y /misc/windoz respectivamente
Supermount
Tipo de pseudofilesystem que para manejar dispositivos removibles (como cdroms o diskettes)
el filesystem se monta/desmonta automticamente cuando se introduce/saca el CD o disquete la lnea correspondiente en el fstab debe ser del tipo: none /mnt/cdrom supermount dev=/dev/cdrom,fs=auto 0 0 se incluye ''de serie'' en algunas distribuciones (p.e. Mandriva) o en otras es necesario bajarse un parche para el kernel
pmount
Comando que permite al usuario montar dispositivos hotpluggable (como cdroms, pendrives, etc.)
el dispositivo se monta debajo del directorio /media no necesita estar listado en /etc/fstab puede usar HAL (Hardware Abstraction Layer) pra obtener informacin de los dispositivos
gnome-volume-manager
En el entorno GNOME monta automticamente dispositivos removibles cuando se conectan o se inserta un CD
usa udev y HAL el usuario puede configurar la accin realizada al conectarse el dispositivo (p.e. empezar a tocar un CD de musica cuando se inserta)
CIBERTEC
CARRERAS PROFESIONALES
98
el comando bsico para chequeo y reparacin es fsck Al igual que mkfs, fsck es un front-end a comandos especficos para cada filesystem: e2fsck, fsck.ext2 o fsck.ext3 chequean sistemas ext2/ext3 fsck.jfs, fsck.reiserfs, fsck.xfs para JFS, ReiserFS y XFS fsck.msdos, fsck.vfat para sistemas MS-DOS
Varios ficheros que usan el mismo bloque Bloques marcados libres y ocupados simultneamente Nmero de enlaces errneo Nodos-i conteniendo informacin pero que no estn en la entrada del directorio (la informacin se recupera en el directorio lost+found con el nmero de nodo-i) Entradas del directorio que apuntan a nodos-i ilegales o vacos etc.
-t filesystem tipo de filesystem a chequear -A chequea los filesystems listados en /etc/fstab -N no ejecuta; simplemente indica lo que hara -R usado con -A no chequea el filesystem raz Otras opciones dependen del filesystem particular
5. Otras utilidades
du: muestra el espacio de disco usado por los ficheros y subdirectorios de un directorio o Formato: du [opciones] [directorio]
o
o o o o
Algunas opciones: -a muestra valores para ficheros y directorios (por defecto, solo muestra directorios) -b, -k tamaos en bytes/KBytes -h salida ms legible -s muestra slo la ocupacin total Ejemplo: $ du -sh /home /usr 1,2G /home 2,3G /usr
CARRERAS PROFESIONALES
CIBERTEC
99
df: muestra el espacio de disco usado y disponible de los sistemas de ficheros montados o Formato: df [opciones]
o
o o o o o o o o o
Algunas opciones: -a muestra todos los filesystems (incluso los de tamao 0) -h salida ms legible -i da informacin sobre los inodos -l slo muestra filesystems locales -T muestra el tipo de sistema de ficheros Ejemplo: $ df -h Filesystem Tamao Usado Disp Uso% Montado en /dev/hda1 67M 50M 13M 80% / tmpfs 63M 0 63M 0% /dev/shm /dev/hda9 272M 8,1M 250M 4% /home /dev/hda8 23M 1,1M 20M 5% /tmp /dev/hda5 464M 90M 350M 21% /usr /dev/hda6 74M 44M 27M 63% /var
CIBERTEC
CARRERAS PROFESIONALES
100
6. PERMISOS EN LINUX
El sistema de permisos en Linux se basa en un esquema de usuarios/grupos que lo convierte en la base principal de la seguridad en Linux, a estos usuarios y grupos se les asignan distintos derechos sobre los archivos y directorios. Esta es una de las caractersticas que ayudan a que Linux sea casi inmune a los Virus de computadora, los virus deben ser capaces de escribir sobre un archivo para poder infectarlo y ejecutarse de alguna manera para poder infectar mas archivos, con el sistema de permisos de Linux los virus no pueden copiarse a cualquier archivo, si el usuario carece de permisos el virus no podr infectar ms archivos y por lo tanto no podr reproducirse. Todos los archivos y directorios en Linux tienen permisos que verifican quien puede hacer o no alguna accin con l. Cuales son los permisos Los permisos propiamente dichos son tres: r: read (lectura): Cuando el permiso de lectura est activo sobre un directorio significa que se podr listar los recursos almacenados en l, si est asignado a un archivo se podr leer su contenido. w: write (escritura): Cuando el permiso de escritura est activo sobre un directorio significa que se podr crear y borrar archivos en su interior, si esta activado para un archivo significa que se podr modificar su contenido. x: execute (ejecucin): Si el permiso de ejecucin est activo sobre un directorio significa que el usuario podr realizar otras funciones dentro de l mediante los otros permisos de lectura y escritura, y si est activo sobre un archivo se podr ejecutarlo desde la lnea de comandos.
CARRERAS PROFESIONALES
CIBERTEC
101
Con la siguiente lnea interpretamos la informacin as: - rw- r-- r-- 1 raul raul 594 2005-09-13 13:13 foto1.png 12 3 4 56 7 8 9 10 11 1 : Tipo de archivo = es un archivo regular 2 : Permisos = los permisos para el propietario son de lectura y escritura 3 : Permisos = el grupo tiene permiso de slo lectura 4 : Permisos = los otros usuarios tienen el permiso de slo lectura 5 : Enlace Fsico = tiene un enlace fsico 6 : Propietario = el usuario raul es el propietario de este archivo 7 : Grupo = este archivo pertenece al grupo raul 8 : Tamao = su tamao es de 246417 bytes 9 : Fecha = fue creado el 03 de marzo de 2005 10 : Hora = a 13:13 horas 11 : Nombre = el archivo se llama foto1.png
CIBERTEC
CARRERAS PROFESIONALES
102
Como habrs apreciado los permisos estn asignados en grupos de 3 (rwx) y corresponde al: propietario (owner: dueo del archivo o directorio), grupo (group: grupo del archivo o directorio) y otros (others: otro usuario diferente del propietario). En la siguiente imagen resaltamos nuevamente la ubicacin de los permisos en caso no lo hayamos notado:
7. COMANDOS RELACIONADOS
Linux dispone de 3 comandos que permite cambiar los permisos, el propietario y el grupo de un archivo y/o directorio respectivamente: Comando chmod : se utiliza para cambiar los permisos del archivo o directorio $ chmod [permisos] [archivo/directorio] [opciones] Comando chown : se utiliza para cambiar el propietario del archivo o directorio # chown [nuevo usuario propietario] [archivo/directorio] [opciones] Comando chgrp : utilizado para cambiar el grupo del archivo o directorio # chgrp [nuevo grupo] [archivo/directorio] [opciones]
CARRERAS PROFESIONALES
CIBERTEC
103
Descripcin Es el usuario propietario del archivo o directorio Es el grupo al que pertenece el archivo o directorio Otros usuarios, el resto del mundo, ni el propietario ni su grupo Todo el mundo propietario, grupo y otros Acceso de lectura Acceso de escritura Acceso de ejecucin Aade los permisos Elimina los permisos el nico permiso
Vamos a practicar con el comando chmod, para ello lo primero que haremos ser crear el archivo foto1.png para ver los cambios de permisos, as que les recomiendo seguir la secuencia: Resultado Ejemplo $ touch foto1.png $ chmod a-rwx foto1.png $ chmod u+rwx foto1.png $ chmod g+x foto1.png $ chmod o+r foto1.png $ chmod u-rw foto1.png $ chmod a=r foto1.png Descripcin creamos el archivo foto1.png quitamos todos los permisos al archivo foto1.png aadimos todos los permisos para el propietario aadimos el permiso de ejecucin para el grupo aadimos el permiso de lectura para los otros usuarios eliminamos los permisos de lectura y escritura para el propietario establecemos como unico permiso de lectura para los 3 grupos foto1.png --------rwx-----rwxx--rwxxr---xxr-rrr--
CIBERTEC
CARRERAS PROFESIONALES
104
$ chmod a=rx foto1.png $ chmod a=foto1.png $ chmod u+rx,o+x foto1.png $ chmod g+rx,o-x foto1.png $ chmod ug+wx,o-x foto1.png $ chmod a=rw foto1.png
establecemos los permisos de lectura y ejecucin para los 3 grupos quitamos todos los permisos aadimos los permisos de lectura y ejecucin al propietario y ejecucin a otros aadimos permiso de lectura y ejecucin al grupo y eliminamos permiso de ejecucin a otros aadimos permiso de escritura y ejecucin al propietario y grupo, y eliminamos permiso de ejecucin a otros permite a cualquiera modificar el contenido e incluso eliminar el archivo
Si cambiamos los permisos a un directorio y deseamos que estos permisos tengan efecto sobre todos sus subdirectorios y archivos slo deberemos aadir la opcin R. Ejemplo: $ chmod a=rw DIRECTORIO R
CARRERAS PROFESIONALES
CIBERTEC
105
Los permisos por nmeros se asignan en grupos de 3, es decir, para el propietariogrupo-otros, no es factible asignar solo para uno o dos de ellos. Ejemplos: rw------- (600) Slo el propietario tiene el derecho de leer y escribir. rw-r--r-- (644) Slo el propietario tiene los permisos de leer y escribir; el grupo y los dems slo pueden leer. rwx------ (700) Slo el propietario tiene los derechos de leer, escribir y ejecutar el archivo. rwxr-xr-x (755) El propietario tiene los derechos de leer, escribir y ejecutar; el grupo y los dems slo pueden leer y ejecutar. rwx--x--x (711) El propietario tiene los derechos de lectura, escritura y ejecucin; el grupo y los dems slo pueden ejecutar. rw-rw-rw- (666) Todo el mundo puede leer y escribir en el archivo. No es una buena eleccin! rwxrwxrwx (777) Todo el mundo puede leer, escribir y ejecutar. Tampoco es buena eleccin! Utilizaremos el mismo ejercicio anterior para poder practicar con los permisos utilizando nmeros, el nico cambio que haremos ser utilizar otro archivo llamado foto2.png: Ejemplo $ touch foto2.png $ chmod 000 foto2.png $ chmod 700 foto2.png $ chmod 710 foto2.png $ chmod 714 foto2.png $ chmod 114 foto2.png $ chmod 444 foto2.png $ chmod 555 foto2.png $ chmod 000 foto2.png $ chmod 501 foto2.png Descripcin creamos el archivo foto2.png quitamos todos los permisos al archivo foto2.png aadimos todos los permisos para el propietario aadimos el permiso de ejecucin para el grupo aadimos el permiso de lectura para los otros usuarios eliminamos los permisos de lectura y escritura para el propietario establecemos como unico permiso de lectura para los 3 grupos establecemos los permisos de lectura y ejecucin para los 3 grupos quitamos todos los permisos aadimos los permisos de lectura y ejecucin al propietario y ejecucin a otros Resultado foto2.png ----------rwx------rwxx---rwxxr----xxr--rrr--r-xr-xr-x -----------r-x-----x
CIBERTEC
CARRERAS PROFESIONALES
106
aadimos permiso de lectura y ejecucin al grupo y eliminamos permiso de ejecucin a otros aadimos permiso de escritura y ejecucin al propietario y grupo, y eliminamos permiso de ejecucin a otros permite a cualquiera modificar el contenido e incluso eliminar el archivo
-r-xr-x---rwxrwx---rw-rw-rw-
Cambiando el propietario
Utilizamos el comando chown explicado lneas arriba: # chown clases foto1.png # estamos cambiando el propietario del archivo, ahora el usuario clases ser el propietario del archivo foto1.png # chown raul foto2.png # el usuario raul ser el propietario del archivo foto2.png
Si vamos a cambiar el propietario de un directorio y con todos sus subdirectorios y archivos en forma recursiva utilizaremos la opcin R: # chown clases datos/ R # el usuario clases sera el nuevo propietario de todos los archivos y subdirectorios que estn dentro del directorio datos/
Cambiando el grupo
Utilizamos el comando chgrp explicado lneas arriba: # chgrp clases foto1.png # estamos cambiando el propietario del archivo, ahora el archivo foto1.png ser del grupo clases # chgrp raul foto2.png # el archivo foto2.png ser del grupo raul
Si vamos a cambiar el grupo de un directorio y con todos sus subdirectorios y archivos en forma recursiva utilizaremos la opcin R: # chgrp clases datos/ R sern del grupo clases # todos los archivos y sub directorios del directorio datos/
CARRERAS PROFESIONALES
CIBERTEC
107
Autoevaluacin
1.
Cul es el comando que se usa para crear un filesystem? (a) (b) (c) (d) fsck mkfs fdisk chmod
2.
Cul es el comando que te permite reparar una particion? (a) (b) (c) (d) mkfs mount fdisk fsck
3.
Cul es el comando que permite el cambio de permisos? (a) (b) (c) (d) who lastlog chmod chown
4.
Para lograr el permiso rwxr-xr-x, es necesario el valor? (a) (b) (c) (d) 777 644 755 744
CIBERTEC
CARRERAS PROFESIONALES
108
CARRERAS PROFESIONALES
CIBERTEC
109
UNIDAD DE APRENDIZAJE
6
TEMA
6
Instalacion de Aplicaciones en Linux
TEMA Describir las distintas formas de instalar aplicaciones en Linux
OBJETIVOS ESPECFICOS Comprender el uso de RPMs Entender como instalar aplicaciones compilndolas Instalacion de paquetes via yum
CONTENIDOS Introduccin a RPM Manejo de RPM Construyendo un RPM Compilacion de aplicacin en Linux
CIBERTEC
CARRERAS PROFESIONALES
110
2. Visin general
Con RPP (EL anterior sistema de empaquetado del cual RPM no deriva en absoluto), los paquetes de fuentes deban ser ``hackeados N.T.: retocados '' para poder construir las aplicaciones desde ellos. Tericamente, se poda instalar un paquete fuente RPP y efectuarle un make sin problemas. Pero los fuentes no eran las originales, y no haba referencia alguna a los cambios que se habia hecho para que pudieran compilar. Se haca pues necesario bajarse los fuentes originales de forma separada. Con RPM, tiene los fuentes originales junto al ``parche N.T.: patch en el original '' que hemos usado para poder compilarlo. Vemos en esto una gran ventaja. Por qu? Son varias las razones. La primera es que si sale disponible una nueva versin de un programa, usted no necesita empezar desde la nada para conseguir que compile bajo RHL. Puede examinar el parche para saber qu podra necesitar hacer. De esta manera toda la configuracin por defecto de compilacin queda fcilmente a la vista. RPM tambin est diseado para disponer de potentes parmetros de consulta. Usted puede hacer bsquedas de paquetes a lo largo de toda la base de datos o slo de ciertos ficheros. Tambin puede encontrar fcilmente a qu paquete pertenece un fichero y de dnde proviene. Los ficheros RPM en s mismos son archivos comprimidos, pero puede consultar paquetes independientes fcil y
CARRERAS PROFESIONALES
CIBERTEC
111
rpidamente, gracias a una cabecera binaria a medida aadida al paquete con toda la informacin que puede necesitar, almacenada sin comprimir. Esto permite consultas rpidas. Otra poderosa caracterstica es la habilidad de verificar paquetes. Si est preocupado por haber borrado algn fichero importante, slo tiene que verificar el paquete. Quedar cumplidamente informado de cualquier anomala. Llegados a ese punto, podr reinstalar el paquete si lo considera necesario. Cualquier fichero de configuracin que se tenga quedar a salvo.
3. Informacin general
3.1 Adquirir RPM La mejor forma de conseguir RPM es instalando Red Hat Commercial Linux,CentOS, etc. Si no quiere hacer eso, puede seguir usando RPM. Puede conseguirse en: ftp://ftp.redhat.com/pub/redhat/code/rpm http://rpm.pbone.net http://www.rpmfind.net/
3.2 Requerimientos de RPM El principal requerimiento para ejecutar RPM es cpio 2.4.2 o superior. Aunque el sistema fue ideado para ser usado con Linux, puede ser perfectamente portado a cualquier sistema Unix. De hecho, ha sido compilado en SunOS, Solaris, AIX, Irix, AmigaOS, y otros. Queda advertido que los paquetes binarios generados en diferentes tipos de sistemas Unix no sern compatibles. Estos son los mnimos requerimientos para instalar RPMs. Para construir RPMs a partir de los fuentes, necesitar todo lo normalmente requerido para construir un paquete, cosas como gcc, make, etc.
4. Usando RPM
En su forma ms simple, RPM puede usarse para instalar paquetes:
CIBERTEC
CARRERAS PROFESIONALES
112
Uno de los ms complejos pero ms tiles comandos le permiten instalar paquetes a travs de FTP. Si est conectado a la Red y quiere instalar un nuevo paquete, todo lo que necesita hacer es especificar el fichero con un URL vlido, como esto:
Apercbase de que ahora RPM puede hacer consultas y/o instalaciones a travs de FTP. Aunque estos son comandos simples, rpm puede usarse de multitud de formas, como puede verse en el mensaje de Ayuda:
CARRERAS PROFESIONALES
CIBERTEC
113
Podr encontrar ms detalles acerca de la funcin de estos parametros en la pgina del manual de RPM.
5. Manejo de RPM
RPM es una herramienta potentsima y, como puede ver, dispone de varios parmetros. La mejor forma de apercibirse de ellas es examinando unos cuantos ejemplos. Antes mostramos una instalacin/desinstalacin sencilla, ahora van unos cuantos ms:
Supongamos que ha borrado unos cuantos ficheros por accidente, pero no est seguro de qu es lo que ha borrado. Si quiere verificar completamente su sistema y ver qu se ha perdido, puede hacer:
CIBERTEC
CARRERAS PROFESIONALES
114
Supongamos que se encuentra con un fichero que no reconoce. Para saber a qu paquete pertenece puede hacer:
Supongamos que acaba de hacerse con un nuevo paquete RPM de koules, pero no sabe qu puede ser. Para obtener informacin al respecto: rpm -qpi koules-1.2-2.i386.rpm La salida podra ser: Name : koules Distribution: Red Hat Linux Colgate Version : 1.2 Vendor: Red Hat Software Release : 2 Build Date: Mon Sep 02 11:59:12 1996 Install date: (none) Build Host: porky.redhat.com Group : Games Source RPM: koules-1.2-2.src.rpm Size : 614939 Summary : SVGAlib action game with multiplayer, network, and sound support Description : This arcade-style game is novel in conception and excellent in execution. No shooting, no blood, no guts, no gore. The play is simple, but you still must develop skill to play. This version uses SVGAlib to run on a graphics console.
Ahora quiere saber qu ficheros instala el paquete RPM. Puede hacer: rpm -qpl koules-1.2-2.i386.rpm La salida es: /usr/doc/koules /usr/doc/koules/ANNOUNCE
CARRERAS PROFESIONALES
CIBERTEC
115
/usr/doc/koules/BUGS /usr/doc/koules/COMPILE.OS2 /usr/doc/koules/COPYING /usr/doc/koules/Card /usr/doc/koules/ChangeLog /usr/doc/koules/INSTALLATION /usr/doc/koules/Icon.xpm /usr/doc/koules/Icon2.xpm /usr/doc/koules/Koules.FAQ /usr/doc/koules/Koules.xpm /usr/doc/koules/README /usr/doc/koules/TODO /usr/games/koules /usr/games/koules.svga /usr/games/koules.tcl /usr/man/man6/koules.svga.6 Estos son slo unos pocos ejemplos. Otros, an ms creativos, podr hacerlos fcilmente una vez que se haya familiarizado con RPM.
Comprobamos que se creo un directorio con el nombre del archivo y cambiamos a ese directorio tecleando la orden: cd nombredelprograma Observacion En este momento sera recomendable leer la documentacin que acompaa al programa, que normalmente est contenida en un archivo con el nombre README.
CIBERTEC
CARRERAS PROFESIONALES
116
Tambin es recomendable leer el archivo INSTALL, si existe, ya que en l se describe la forma de instalar el programa. Ambos archivos suelen estar escritos en ingls, y contienen una referencia de las dependencias especiales que necesita el programa para poder ser compilado y la forma de instalarlo. Este ltimo paso es muy recomendable, pues cabe la posibilidad de que el programa se instale de otra forma diferente a la que se detalla ac.
A continuacin deberemos configurar los archivos que nos permitirn compilar el programa. Como norma general, deberamos instalar nuestros programas en el directorio /usr/local/bin, ya que sta es la forma ms adecuada de asegurarnos que podremos acceder a ellos localmente y en todo momento, ya que los otros directorios que suelen contener programas ejecutables (como /bin y /sbin) pueden no estar disponibles localmente, sino en algn lugar remoto de la red local, en caso de que estemos en una. Si se usa ese directorio, el programa ser accesible por todos los usuarios de nuestro sistema, pero habremos de tener permisos de superusuario para instalar all nuestra aplicacin. En caso contrario, siempre nos queda la posibilidad de instalarlo en nuestro directorio personal (por ejemplo, en /home/usuario/bin), aunque en este caso slo nosotros podremos acceder a l. Si optamos por instalar el programa en el directorio /usr/local/bin, deberemos configurarlo mediante la orden: ./configure --prefix=/usr/local Observacion Hay que tener cuidado con el paso anterior, ya que, de lo contrario, es posible que nuestro programa vaya a parar a algn directorio no incluido en nuestro PATH, por lo que no se podra ejecutar. Tambin es necesario aclarar que la mayora de los programas ya tienen configurada una ruta de instalacin de forma predeterminada, como los programas diseados para el escritorio KDE, que suelen detectar la ruta en la que reside el resto de programas de dicho escritorio para instalarse en el mismo lugar que ellos. As, la orden ./configure se suele ejecutar casi siempre sin ningn parmetro adicional.
Tras ejecutar ./configure veremos desfilar una larga sucesin de mensajes por la consola y, si nuestro sistema dispone de todo lo necesario para llevar a cabo la compilacin de forma satisfactoria, se nos informar en el ltimo mensaje mostrado. En el caso de que se produzca algn error, deberemos prestar atencin a los ltimos mensajes mostrados para tratar de solucionar el problema que se haya detectado en nuestro sistema. Si todo fue bien, ya podemos pasar a compilar nuestra aplicacin con la orden: make
Dependiendo de la complejidad de la aplicacin y del nmero de archivos de cdigo fuente que la compongan (y, sobre todo, de la velocidad de nuestro procesador y del rendimiento de nuestro sistema), el proceso puede durar desde pocos segundos hasta varias horas. Durante todo este tiempo, la consola ir mostrando todo lo que
CARRERAS PROFESIONALES CIBERTEC
117
se est haciendo, y tal vez se muestren algunos mensajes de aviso o de error. En este ltimo caso, la compilacin se detendr y deberemos tratar de solucionar los problemas que originaron el error, en caso de que sepamos cmo hacerlo (ya que suelen ser necesarios conocimientos de C/C++). Pero lo normal es que no ocurra ningn error durante la compilacin, ya que todo suele estar probado por el autor del programa. Una vez compilada nuestra aplicacin deberemos instalarla en el directorio que seleccionamos anteriormente como destino final. Si no tenemos permisos de lectura y escritura sobre ese directorio, deberemos autentificarnos primero como superusuario (usuario root) con la orden: su
Si todo fue bien y no ocurri ningn error, nuestra aplicacin ya estar lista para ser usada (y, al contrario que en los entornos Windows, no ser necesario tener que reiniciar el sistema). Dependiendo del script de instalacin, es posible que se haya creado alguna entrada en el men de nuestro escritorio y/o en el propio escritorio, aunque ninguna de estas opciones suele ser habitual. Lo ms seguro es que tengamos que crear esas entradas nosotros mismos de forma manual. Si el directorio de destino de nuestra aplicacin est incluido en nuestro PATH, podremos ejecutar la aplicacin directamente desde la consola tecleando su nombre. Lo ms usual es que tanto el directorio /usr/local/bin como el /home/usuario/bin estn ya incluidos en nuestro PATH personal. Un poco de limpieza Durante la compilacin de un programa se genera un buen nmero de archivos adicionales en el directorio en el que fue descomprimido. Normalmente, esos archivos no se necesitan para nada (a menos que pensemos modificar el cdigo fuente del programa y volver a compilarlo), por lo que es recomendable eliminarlos para ahorrar espacio en nuestro disco duro. Para ello, tras la instalacin podemos ejecutar la orden: make clean Desinstalar un programa compilado Si lo que queremos es desinstalar un programa compilado a partir del cdigo fuente, cambiamos en la consola al directorio en el que fue descomprimido, compilado e instalado, nos autentificamos como usuario root, y a continuacin ejecutamos la orden:
CIBERTEC
CARRERAS PROFESIONALES
118
make uninstall
Despus de la desinstalacin podemos eliminar el directorio donde fue descomprimido el programa si no pensamos volver a utilizarlo. Resumen Como compilar un programa en Linux desde su cdigo fuente, se seguirn los siguientes pasos:
tar xvzf aplicacin-a-instalar.tar.gz cd aplicacin-a-instalar ./configure make make install make clean
CARRERAS PROFESIONALES
CIBERTEC
119
7.2 Bsquedas Realizar una bsqueda de algn paquete o trmino en la base de datos en alguno de los depsitos yum configurados en el sistema:
yum search cualquier-paquete
Ejemplo:
CIBERTEC
CARRERAS PROFESIONALES
120
Ejemplo:
Ejemplo:
CARRERAS PROFESIONALES
CIBERTEC
121
7.5 Desinstalacin de paquetes Desinstalacin de paquetes junto con todo aquello que dependa de stos:
yum remove cualquier-paquete
Ejemplo:
7.6 Listado de paquetes. Lo siguiente listar todos los paquetes disponibles en la base de datos yum y que pueden instalarse:
yum list available | less
Lo siguiente listar todos los paquetes instalados en el sistema y que pueden (deben) actualizarse:
yum list updates | less
7.7 Limpieza del sistema. Yum deja como resultado de su uso cabeceras y paquetes RPM almacenados en el interior del directorio localizado en la ruta /var/cache/yum/. Particularmente los paquetes RPM que se han instalado pueden ocupar mucho espacio y es por tal motivo conviene eliminarlos una vez que ya no tienen utilidad. Igualmente conviene hacer lo mismo con las cabeceras viejas de paquetes que ya no se encuentran en la base de datos. A fin de realizar la limpieza correspondiente, puede ejecutarse lo siguiente:
yum clean all
CIBERTEC
CARRERAS PROFESIONALES
122
Autoevaluacin
1.
Qu es el RPM?
2.
Si se desa consulta la informacin del paquete algo.rpm, se usa? (a) (b) (c) (d) rpm i algo.rpm rpm Uvh algo.rpm rpm qf algo.rpm rpm qp algo.rpm
3.
Cules son los pasoa para instalar una aplicacin desde su cdigo fuente?
4.
CARRERAS PROFESIONALES
CIBERTEC
123
UNIDAD DE APRENDIZAJE
9
TEMA
TEMA Describir y entender el uso de los archivos de registro del sistema Linux Describir y entender el uso de cuotas de disco en Linux
OBJETIVOS ESPECFICOS Comprender el funcionamiento de los logs en Linux Comprender e implementar las cuotas de disco
CONTENIDOS Archivos de registro Ubicacin Visualizacin de los archivos de registro El daemon SYSLOG Cuotas de disco
CIBERTEC
CARRERAS PROFESIONALES
124
1. ARCHIVOS DE REGISTRO
Los Archivos de registro (o archivos de log) son archivos que contienen mensajes sobre el sistema, incluyendo el kernel, los servicios y las aplicaciones que se ejecutan en dicho sistema. Existen diferentes tipos de archivos de log dependiendo de la informacin. Por ejemplo, existe un archivo de log del sistema, un archivo de log para los mensajes de seguridad y un archivo de log para las tareas cron. Los archivos de registro pueden ser muy tiles cuando se trate de resolver un problema con el sistema tal como cuando se trata de cargar un controlador del kernel o cuando se este buscando por intentos no autorizados de conexin al sistema. Este captulo discute donde encontrar estos archivos de registro, cmo visualizarlos y qu buscar en ellos. Algunos archivos de log estn controlados por un demonio llamado syslogd. Encontrar una lista de mensajes de log mantenidos por syslogd en el archivo de configuracin /etc/syslog.conf.
Observe los mltiples archivos en el directorio de archivos log seguidos de nmeros. Estos se crean cuando los archivos de log circulan. Los archivos de log circulan de manera que los tamaos de los archivos no sean demasiado amplios. El paquete logrotate contiene una tarea de cron que hace circular automticamente los archivos de log al archivo de configuracin /etc/logrotate.conf y los archivos de configuracin en el directorio /etc/logrotate.d. Por defecto, se configura para circular cada semana y mantener la validez de los archivos previos de log durante cuatro semanas.
CARRERAS PROFESIONALES
CIBERTEC
125
Tambin puede utilizar el Visor de registro del sistema. Para iniciar la aplicacin, hacer clic en Sistema del panel superior Administracin Registro de actividad del sistema, o digite el comando gnome-system-log en una consola.
CIBERTEC
CARRERAS PROFESIONALES
126
4. DEMONIO SYSLOGD
Todos los archivos de registro que se llevan a cabo en un sistema Linux se manejan por el demonio syslogd y su archivo de configuracin /etc/syslog.conf. El archivo de configuracin especifica sobre qu subsistemas se deben grabar los mensajes (por ejemplo cron, daemon, mail, etc.), qu niveles de mensajes registrar (por ejemplo debug, info, warn, etc) y qu hacer con esos mensajes (aadirlo a un archivo de registro, enviarlo a la impresora, etc.). Syslog permite tambin el registro remoto; guardando tus archivos de registro en otros equipos de la red. La ventaja de esto es que si tu sistema queda comprometido por alguien sern incapaces de borrar sus pasos de tus archivos de registro haciendo mas sencillo el buscar su origen y las acciones que llevaron a cabo.
Podemos ver que cada regla del archivo tiene dos campos: un campo de seleccin y un campo de accin, separados ambos por espacios o tabuladores. El campo de seleccin est compuesto a su vez de dos partes separadas por un punto: una que indica el servicio que enva el mensaje y otra que marca su prioridad, separadas por un punto (.); ambas son indiferentes a maysculas y minsculas. La parte del servicio contiene una de las siguientes palabras clave: auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security (equivalente a auth), syslog, user, uucp y local0 hasta local7; esta parte especifica el subsistema'
CARRERAS PROFESIONALES
CIBERTEC
127
que ha generado ese mensaje (por ejemplo, todos los programas relacionados con el correo generarn mensajes ligados al servicio mail). En segundo lugar, la prioridad est compuesta de uno de los siguientes trminos, en orden ascendente: debug, info, notice, warning, warn (equivalente a warning), err, error (equivalente a err), crit, alert, emerg, y panic (equivalente a emerg). La prioridad define la gravedad o importancia del mensaje almacenado. Todos los mensajes de la prioridad especificada y superiores son almacenados de acuerdo con la accin requerida. La segunda parte de cada lnea del archivo de configuracin de syslogd es el campo de accin, y describe el destino de los mensajes (dnde se van a guardar o qu programa los va a procesar); este destino puede ser uno de los siguientes:
Un archivo plano: Normalmente los mensajes del sistema son almacenados en archivos planos. Dichos archivos han de estar especificados con la ruta de acceso completa (comenzando con / '). Podemos preceder cada entrada con el signo menos, , para omitir la sincronizacin del archivo (vaciado del buffer de memoria a disco). Aunque puede ocurrir que se pierda informacin si el sistema cae justo despus de un intento de escritura en el archivo, utilizando este signo se puede conseguir una mejora importante en la velocidad, especialmente si estamos ejecutando programas que mandan muchos mensajes al demonio syslogd.
# Guardamos todos los mensajes de prioridad crtica en "critical" # *.=crit /var/adm/critical
Un dispositivo fsico: Tambin tenemos la posibilidad de enviar los registros del sistema a un dispositivo fsico del mismo, tpicamente un terminal o una impresora. As conseguimos, entre otras cosas, que esas entradas permanezcan relativa o totalmente inalteradas (en funcin de qu dispositivo las reciban). Por ejemplo, podemos tener uno de los terminales virtuales que muchos sistemas Unix ofrecen en su consola dedicado a listar los mensajes del sistema, que podrn ser consultados con solo cambiar a ese terminal mediante la combinacin de teclas correspondiente:
# Enviamos todos los mensajes a tty12 (ALT+F12 en Linux) y todos # los mensajes criticos del nucleo a consola # *.* /dev/tty12 kern.crit /dev/console
Una tubera con nombre: Algunas versiones de syslogd permiten enviar registros a ficheros de tipo pipe simplemente anteponiendo el smbolo | al nombre del archivo; dicho archivo ha de ser creado antes de iniciar el demonio syslogd, mediante comandos como mkfifo o mknod. Esto es til para debug y tambin para procesar los registros utilizando cualquier aplicacin de Unix, tal y como veremos al hablar de logs remotos cifrados. Por ejemplo, la siguiente lnea de /etc/syslog.conf enviara todos los mensajes de cualquier prioridad a uno de estos archivos denominado /var/log/mififo:
CIBERTEC
CARRERAS PROFESIONALES
128
# Enviamos todos los mensajes a la tubera con nombre # /var/log/mififo # *.* |/var/log/mififo
Una mquina remota: Se pueden enviar los mensajes del sistema a otra mquina, de manera a que sean almacenados remotamente, sin ms que indicar en el campo de accin el nombre o direccin de dicho sistema precedido por el signo @ '. Esto es til si tenemos una mquina segura, en la que podemos confiar, conectada a la red, ya que de esta manera se guardara all una copia de los mensajes de nuestro sistema, copia que no podra ser modificada en caso de que alguien entrase en la mquina que los est generando. Esto es especialmente interesante para detectar usuarios ocultos en nuestro sistema (usuarios maliciosos que han conseguido los suficientes privilegios para ocultar sus procesos o su conexin), ya que una de las principales cosas que har este tipo de atacantes es eliminar cualquier registro que denote su presencia en la mquina (por ejemplo, sus entradas en wtmp). En el siguiente ejemplo utilizamos un sistema a priori confiable para enviarle algunos de nuestros registros:
# Enviamos los mensajes de prioridad warning y superiores al # fichero "syslog" y todos los mensajes (incluidos los # anteriores) a la maquina "secure.upv.es" # *.warn /usr/adm/syslog *.* @secure.upv.es
Unos usuarios del sistema (si estn conectados): Se especifica la lista de usuarios que deben recibir un tipo de mensajes simplemente escribiendo sus login, separados por comas:
# Enviamos los mensajes con la prioridad "alert" a root y toni # *.alert root, toni
Todos los usuarios que estn conectados: Los errores con una prioridad de emergencia se suelen enviar a todos los usuarios que estn conectados al sistema, de manera que se den cuenta de que algo va mal; para ello utilizamos un asterisco en el campo de accin:
# Mostramos los mensajes urgentes a todos los usuarios # conectados, mediante wall *.=emerg *
CARRERAS PROFESIONALES
CIBERTEC
129
Debe remontar las particiones para que surtan efecto los cambios:
mount -o remount /var mount -o remount /home
Se deben crear los ficheros aquota.user, aquota.group, quota.user y quota.group, los cuales se utilizarn en adelante para almacenar la informacin y estado de las cuotas en cada particin.
cd /var touch aquota.user aquota.group quota.user quota.group cd /home touch aquota.user aquota.group quota.user quota.group
Ejecutar:
quotacheck -avug
La primera vez que se ejecuta el mandato anterior es normal marque advertencias refirindose a posibles ficheros truncados que en realidad no eran otra cosa sino ficheros de texto simple vacos a los cuales se les acaba de convertir en formato binario. Si se ejecuta de nuevo quotacheck - avug, no deber mostrar advertencia alguna. Para activar las cuotas de disco recin configuradas, solo bastar ejecutar:
quotaon /var quotaon /home
CIBERTEC
CARRERAS PROFESIONALES
130
5.1. Edquota.
Es importante conocer que significa cada columna mostrada por edquota. Blocks: Bloques. Corresponde a la cantidad de bloques de 1 Kb que est utilizando el usuario. Inodes: Inodos. Corresponde al nmero de ficheros que est utilizando el usuario. Un inodo (tambin conocido como Index Node) es un apuntador hacia sectores especficos de disco duro en los cuales se encuentra la informacin de un fichero. Contiene adems la informacin acerca de permisos de acceso as como los usuarios y grupos a los cuales pertenece el fichero. Soft: Limite de gracia. Limite de bloques de 1 KB que el usuario puede utilizar y que puede rebasar hasta que sea excedido el periodo de gracia (de modo predeterminado son 7 das). Hard: Limite absoluto. Limite que no puede ser rebasado por el usuario bajo circunstancia alguna. Asignar cuotas de disco a cualquier usuario o grupo solo har falta utilizar edquota citando el nombre del usuario al cual se le quiere aplicar:
edquota fulano
Lo anterior deber devolver algo como lo siguiente a travs de vi u otro editor de texto simple:
Disk quotas for user fulano (uid 501): Filesystem blocks soft hard inodes soft hard /dev/hda7 0 0 0 0 0 0 /dev/hda5 24 0 0 10 0 0
El usuario siempre podr rebasar una cuota de gracia pero nunca una cuota absoluta.
CARRERAS PROFESIONALES
CIBERTEC
131
La cuota de gracia establece los lmites de bloques o inodos que un usuario tiene en una particin. Cuando el usuario excede el lmite establecido por la cuota de gracia, el sistema advierte al usuario que se ha excedido la cuota del disco sin embargo permite al usuario continuar escribiendo hasta que trascurre el tiempo establecido por el periodo de gracia, tras el cual al usuario se le impide continuar escribiendo sobre la particin. Suponiendo que quiere asignar una cuota de gracia de 6 MB en /dev/hda7 y /dev/hda5, la cual podr ser excedida hasta por 7 das, se utilizara lo siguiente:
Disk quotas for user fulano (uid 501): Filesystem blocks soft hard inodes /dev/hda7 0 6144 0 0 /dev/hda5 24 6144 0 10
soft 0 0
hard 0 0
Aplicando cuotas masivamente. Si se quiere que todo aplique para los usuarios existentes, a partir de UID 510, por ejemplo, suponiendo que tiene al usuario "pepito" como molde (note por favor el acento grave en el mandato justo antes de awk, no es una comilla ni apostrofe):
edquota -p pepito `awk -F: '$3 > 510 {print $1}' /etc/passwd`
6. Comprobaciones.
Utilice el mandato edquota con el usuario fulano.
edquota fulano
Asigne al usuario fulano una cuota de disco de 50 MB en todas las particiones con cuota de disco habilitada:
Disk quotas for user fulano (uid 501): Filesystem blocks soft hard inodes /dev/hda7 0 0 51200 0 /dev/hda5 24 0 51200 10
soft 0 0
hard 0 0
CIBERTEC
CARRERAS PROFESIONALES
132
Desde otra terminal acceda hacia el sistema como el usuario fulano y ejecute el mandato quota y observe con detenimiento la salida:
Disk quotas for user fulano (uid 501): Filesystem blocks quota limit grace files quota limit grace /dev/hda7 0 0 51200 1 0 0 /dev/hda5 24 0 51200 10 0 0
Realice una copia del directorio /usr/lib como el subdirectorio ~/prueba-cuotas dentro de su directorio de inicio:
cp -r /usr/lib ~/prueba-cuotas
Notar que llegar un momento en el que el sistema indicar que ya no es posible continuar copiando contenido dentro de ~/prueba-cuotas debido a que se ha agotado el espacio en la particin. Utilice de nuevo el mandato quota y observe con detenimiento la salida, en donde aparecer un asterisco justo junto a la cantidad en la columna de bloques bloques, el cual indica que se ha excedido la cuota del disco:
Disk quotas for user fulano (uid 501): Filesystem blocks quota limit grace files quota limit grace /dev/hda7 0 0 51200 1 0 0 /dev/hda5 51200* 0 51200 7439 0 0
Para poder volver a escribir sobre la particin, es necesario liberar espacio. Elimine por completo el directorio ~/prueba-cuotas y vuelva a utilizar el mandato quota:
rm -fr ~/prueba-cuotas quota
CARRERAS PROFESIONALES
CIBERTEC
133
Autoevaluacin
1.
Cul es el nombre del archivo que contiene registrado los mensajes de los servicios de red? (a) (b) (c) (d) access.log syslog spooler messages
2.
Cul es el directorio que contiene los archivos logs del sistema? (a) (b) (c) (d) /var/log/xferlog /var/log/maillog /var/log /var/log/secure
3.
Cul es el comando que informa sobre los ltimos logins de los usuarios en el sistema? (a) (b) (c) (d) who lastlog dmesg syslog
4.
CIBERTEC
CARRERAS PROFESIONALES
134
CARRERAS PROFESIONALES
CIBERTEC
135
UNIDAD DE APRENDIZAJE
10
TEMA
10
SERVIDOR NFS y SAMBA
OBJETIVOS ESPECFICOS Comprender el funcionamiento del servidor NFS Comprender el funcionamiento del servidor Samba
CONTENIDOS Introduccin a NFS Funcionamiento NFS Configuracin del servidor NFS Configuracin del cliente NFS Introduccion a Samba Configuracin de samba cliente Configuracin de samba Servidor
CIBERTEC
CARRERAS PROFESIONALES
136
2. Funcionamiento
Hay tres versiones de NFS actualmente en uso. La versin 2 de NFS (NFSv2), es la ms antigua y est ampliamente soportada por muchos sistemas operativos. La versin 3 de NFS (NFSv3) tiene ms carctersticas, incluyendo manejo de archivos de tamao variable y mejores facilidades de informes de errores, pero no es completamente compatible con los clientes NFSv2. NFS versin 4 (NFSv4) incluye seguridad Kerberos, trabaja con cortafuegos, permite ACLs y utiliza operaciones con descripcin del estado. Linux soporta clientes tanto NFSv2, NFSv3 como NFSv4, y cuando monta un sistema de archivos a travs de NFS, Red Hat Enterprise Linux usa NFSv4 por defecto. Todas las versiones de NFS pueden utilizar el Protocolo de control de transmisiones (TCP) ejecutndose sobre una red IP. En el caso de NFSv4, ste lo requiere. NFSv2 y NFSv3 pueden utilizar el Protocolo de datagrama de usuarios (UDP) sobre una red IP para proporcionar conexiones de red sin supervisin (stateless) entre el cliente y el servidor. Cuando se utiliza NFSv2 o NFSv3 con UDP, bajo condiciones normales la conexin UDP desatendida minimiza el trfico de la red, ya que el servidor NFS envia un
CARRERAS PROFESIONALES CIBERTEC
137
cookie al cliente despus que este tiene acceso al volumen compartido. Esta cookie es un valor aleatorio guardado en el lado del servidor y espasado junto con las peticiones RPC desde el cliente. El servidor NFS puede ser reiniciado sin afectar a los clientes y las cookies permanecen intactas. Sin embargo, debido a que UDP es sin supervisin, si el servidor se cae de forma inesperada, los clientes UDP continan saturando la red con peticiones para el servidor. Por esta razn, TCP es el protocolo preferido cuando se conecte a un servidor NFS. Cuando se autentifique utilizando NFSv4, se crea una conexin atenta y, de forma opcional, est disponible la autenticacin de usuarios y grupos con Kerberos. NFSv4 no tiene interaccin con portmapper, rpc.mountd, rpc.lockd y rpc.statd, pues estos han sido incorporados en el kernel. NFSv4 escucha en el puerto TCP 2049. La nica vez que NFS lleva a cabo la autentificacin es cuando el cliente intenta montar un recurso compartido NFS. Para limitar el acceso al servicio NFS, se utilizan envolturas TCP (TCP wrappers). Los TCP wrappers leen los archivos /etc/hosts.allow y /etc/hosts.deny para determinar si a un cliente particular o red tiene acceso o no al servicio NFS. Despus de que al cliente se le permite acceso gracias a un TCP wrapper, el servidor NFS recurre a su archivo de configuracin, /etc/exports, para determinar si el cliente tiene suficientes privilegios para acceder a los sistemas de archivos exportados. Una vez otorgado el acceso, todas las operaciones de archivos y de directorios estn disponibles para el usuario.
3. Servicios requeridos
Linux utiliza una combinacin de soporte a nivel del kernel y procesos demonio para proporcionar los archivos compartidos con NFS. NFSv2 y NFSv3 confa en las Llamadas de procedimientos remotos ((RPC)) para enrutar peticiones entre clientes y servidores. Los servicios RPC bajo Linux son controlados por el servicio portmap. Para compartir o montar sistemas de archivos NFS, los servicios siguientes funcionan juntos, dependiendo de cul versin de NFS se tenga implementada: . nfs . Inicia los procesos RPC apropiados para servir peticiones para los sistemas de archivos compartidos NFS. . nfslock.Un servicio opcional que inicia los procesos RPC adecuados para permitir que clientes NFS bloqueen archivos en el servidor. . portmap. El servicio RPC para Linux; responde a las peticiones para servicios RPC y configura las conexiones al servicio RPC solicitado. No se utiliza con NFSv4. Los siguientes procesos RPC facilitan los servicios NFS: . rpc.mountd . Este proceso recibe las peticiones de montaje desde clientes NFS y verifica que el sistema de archivos solicitado est actualmente exportado. Este proceso es iniciado automticamente por el servicio nfs y no requiere de la configuracin del usuario. No se utiliza con NFSv4.
CIBERTEC
CARRERAS PROFESIONALES
138
. rpc.nfsd . Este proceso es el servidor NFS. Trabaja con el kernel Linux para satisfacer las demandas dinmicas de clientes NFS, tales como proporcionar hilos del servidor cada vez que se conecta un cliente NFS. Este proceso corresponde al servicio nfs. . rpc.lockd . Un proceso opcional que permite a los clientes NFS bloquear archivos en el servidor. Esto corresponde al servicio nfslock. No se utiliza con NFSv4. . rpc.statd. Este proceso implementa el protocolo RPC Network Status Monitor (NSM) el cual notifica a los clientes NFS cuando un servidor NFS es reiniciado luego de haber sido apagado abruptamente. Este proceso es iniciado automticamente por el servicio nfslock y no requiere configuracin por parte del usuario. No se utiliza con NFSv4. . rpc.rquotad . Proporciona informacin de cuotas de usuario para los usuarios remotos. Este proceso se inicia automticamente por el servicio nfs y no requiere configuracin por parte del usuario. . rpc.idmapd . Este proceso proporciona al cliente y servidor NFSv4 llamadas ascendentes (upcalls) que hacen corresponder los nombres NFSv4 (los cuales son cadenas en la forma usuario@dominio) y los UIDs y GIDs locales. Para que idmapd funcione con NFSv4, el /etc/idmapd.conf debe estar configurado. Se requiere este servicio para su uso con NFSv4. . rpc.svcgssd . Este proceso proporciona al servidor los mecanismos de transporte para el proceso de autenticacin (Kerberos versin 5) con NFSv4. Se requiere este servicio para su uso con NFSv4. . rpc.gssd. Este proceso proporciona al cliente los mecanismos de transporte para el proceso de autenticacin (Kerberos versin 5). Se requiere este servicio para su uso con NFSv4.
139
Para reiniciar el servidor, como usuario root, escriba: /sbin/service nfs restart La opcin condrestart (reinicio condicional) solamente inicia nfs si este est actualmente ejecutndose. Esta opcin es til para los scripts, porque no inicia el demonio si este no se est ejecutando. Para reiniciar condicionalmente el servidor, como root escriba: /sbin/service nfs condrestart Para recargar el archivo de configuracin del servidor NFS sin reiniciar el servicio, como root escriba: /sbin/service nfs reload Por defecto, el servicio nfs no arranca automticamente en el momento del inicio. Para configurar NFS para que inicie en el momento del arranque, utilice una utilidad de initscript, tal como /sbin/chkconfig, /sbin/ntsysv o la Herramienta de configuracin de servicios.
CIBERTEC
CARRERAS PROFESIONALES
140
141
Se pueden usar los mtodos siguientes para especificar nombres de host: . host nico .Cuando una mquina en particular es especificada con nombre completo de dominio, nombre de mquina o direccin IP.
. comodines
. Usamos un carcter * o ? para referirnos a un grupo de nombres completos de dominio o direcciones IP o que coincidan con una cadena particular de letras. Los comodines no se deberan de utilizar con direcciones IP; sin embargo, es posible para estos funcionar accidentalmente si fallan las bsquedas de DNS inversas. Tenga cuidado cuando especifique comodines con nombres de dominio completos, pues tienden a ser ms exactos de lo que usted cree. Por ejemplo, el uso de *.ejemplo.com como comodn, permitir a ventas.ejemplo.com acceder al sistema de archivos exportado, pero no a bob.ventas.ejemplo.com. Para coincidir ambas posibilidades, debera usar *.ejemplo.com y tambin *.*.ejemplo.com
redes IP . Permite la coincidencia de hosts basados en sus direcciones IP dentro de una red ms grande. Por ejemplo, 192.168.0.0/28 permite al acceso a las primeras 16 direcciones IP, desde la 192.168.0.0 a la 192.168.0.15, acceder al sistema de archivos exportado, pero no a la 192.168.0.16 y superiores.
. .
grupos de redes. Permite usar un nombre de grupo de red NIS, escrito como
sistema de archivos, donde los usuarios pueden ser aadidos o borrados de un grupo NIS sin que afecte a /etc/exports. En su forma ms sencilla, el archivo /etc/exports slo especifica el directorio a exportar y los hosts que pueden usarlo, como en el ejemplo siguiente: /exported/directory bob.example.com En el ejemplo, bob.example.com puede montar /exported/directory/. Como no se especifica ninguna opcin en este ejemplo, tomarn efecto las siguientes opciones predeterminadas de NFS:
. ro
. Se montan los sistemas de archivos como de slo lectura (read-only). Los host remotos no pueden hacer cambios a los datos compartidos en el sistema de archivos. Para permitir que los hosts puedan hacer cambios, debe especificar la opcin rw (lectura-escritura, read-write).
. wdelay. Provoca que el servidor NFS retrase el escribir a disco si sospecha que otra peticin de escritura es inminente. Esto puede mejorar el rendimiento reduciendo las veces que se debe acceder al disco por comandos de escritura separados. Use nofiwdelay para desactivar esta opcin, la cual slo funciona si est usando la opcin sync . . rootfisquash . Previene a los usuarios root conectados remotamente de tener privilegios como root asignndoles el id del usuario de nobody. Esto
CIBERTEC
CARRERAS PROFESIONALES
142
reconvierte el poder del usuario root remoto al de usuario local ms bajo, previniendo la alteracin desautorizada de archivos en el servidor remoto. Alternativamente, la opcin nofirootfisquash lo desactiva. Para reconvertir a todos los usuarios, incluyendo a root, use la opcin allfisquash. Para especificar los ID de usuario y grupo para usar con usuarios remotos desde un host particular, utilice las opciones anonuid y anongid, respectivamente. De esta manera, puede crear una cuenta de usuario especial para que los usuarios NFS remotos compartan y especificar (anonuid= uid-value, anongid= gid-value ), donde <uid-value> es el nmero de ID del usuario y <gid-value> es el nmero de ID del grupo. Cada valor predeterminado para un sistema de archivos exportado debe ser explcitamente ignorado. Por ejemplo, si no se especifica la opcin rw, entonces el sistema de archivos es exportado como de slo lectura. Lo siguiente es una lnea de muestra de /etc/exports la cual sobreescribe dos opciones predeterminadas: /another/exported/directory 192.168.0.3(rw,sync) En este ejemplo 192.168.0.3 puede montar /another/exported/directory/ como lectura/escritura y todas las transferencias al disco son efectuadas antes de completar la peticin de escritura del cliente. Adicionalmente, hay otras opciones que estn disponibles que no tienen especificado un valor predeterminado. Estas incluyen la habilidad de desactivar la verificacin por subdirectorios, permitir el acceso desde puertos inseguros y permitir bloquear archivos inseguros (necesario para algunas implementaciones antiguas de clientes NFS). Vea la pgina man de exports para estas opciones menos usadas.
143
Lo siguiente es una lista de las opciones ms comunes disponibles para /usr/sbin/exportfs: . Provoca que todos los directorios listados en /etc/exports sean exportados construyendo una nueva lista de exportacin en /etc/lib/nfs/xtab. Esta opcin refresca la lista de exportacin con cualquier cambio que hubiramos realizado en /etc/exports.
. -r
. Provoca que todos los directorios sean exportados o no, dependiendo de qu otras opciones hemos pasado a /usr/sbin/exportfs. Si no se pasan otras opciones, /usr/sbin/exportfs exporta todos los sistemas de archivos especificados en /etc/exports.
. -a . -o sistema-de-archivos . Permite especificar directorios a exportar que no estn listados en /etc/exports. Reemplace sistema-de-archivos con los sistemas de archivos adicionales a exportar. Estos sistemas de archivos deben tener el mismo formato en que fueron especificados en /etc/exports. Esta opcin se utiliza a menudo para probar un sistema de archivos antes de aadirlo de forma permanente a la lista de sistemas a exportar. . -i. Ignora /etc/exports; slo las opciones dadas desde la lnea de comandos son usadas para definir los sistemas de archivos exportados. . -u . No exporta todos los directorios compartidos. El comando /usr/sbin/exportfs ua suspende la comparticin de archivos NFS mientras que mantiene todos los demonios NFS activos. Para reactivar NFS, teclee exportfs -r.
. Operacin descriptiva, donde los sistemas de archivos exportados o dejados de exportar son mostrados en gran detalle al ejecutarse el comando exportfs. Si no se pasan opciones al comando /usr/sbin/exportfs, mostrar una lista de los sistemas de archivos actualmente exportados.
. -v
CIBERTEC
CARRERAS PROFESIONALES
144
6.1. /etc/fstab
El archivo /etc/fstab lo referencia el servicio netfs al momento del arranque, por lo que las lneas haciendo referencia a las comparticiones NFS tienen el mismo efecto que escribir manualmente el comando mount durante el arranque. Una muestra de lnea de /etc/fstab para montar un NFS exportado ser parecida a: <server>:</remote/export> </local/directory> <nfs-type> <options> 0 0 Reemplace <server> con el nombre de la mquina, direccin IP o nombre de dominio totalmente cualificado del servidor que exporta el sistema de archivos. Reemplace </remote/export> con la ruta al directorio exportado. Sustituya </local/directory;> con el sistema de archivos local en el cual se montar el directorio exportado. Este punto de montaje debe existir antes de que /etc/fstab sea ledo o el montaje fallar. Reemplace <nfs-type> con nfs para servidores NFSv2 o NFSv3, o con nfs4 para servidoresNFSv4. Reemplace <options> con una lista de opciones separada por comas para el sistema NFS
CARRERAS PROFESIONALES
CIBERTEC
145
Necesitar tener instalados los siguientes paquetes, que seguramente vienen incluidos en los discos de instalacin de su distribucin predilecta: samba: sambacommon: Servidor SMB. 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: rpm -q samba samba-client samba-common Si se utiliza Red Hat Enterprise Linux, solo bastar realizar lo siguiente para instalar o actualizar la programtica necesaria: up2date -i samba samba-client 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
CIBERTEC
CARRERAS PROFESIONALES
146
10.
El fichero lmhosts
Es necesario empezar resolviendo localmente los nombres NetBIOS asocindolos 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 maquinalinux 192.168.1.6 isaac 192.168.1.7 finanzas 192.168.1.8 direccion
CARRERAS PROFESIONALES CIBERTEC
147
11.
CIBERTEC
CARRERAS PROFESIONALES
148
149
Con lo anterior se define que el usuario fulano y quien pertenezca al grupo opers_impresion podrn realizar tareas de administracin en las impresoras.
Descripcin Define si ser permitir el acceso como usuario invitado. El valor puede ser Yes o No. 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. Define si se permitir mostrar este recurso en las listas de recursos compartidos. El valor puede ser Yes o No. 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 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 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 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 super-usuarios. Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo
public
browseable
writable
valid users
write list
admin users
CIBERTEC
CARRERAS PROFESIONALES
150
Es lo mismo que directory mode. Define que permiso en el sistema tendrn los subdirectorios creados dentro del recurso. Ejemplos: 1777 Define que permiso en el sistema tendrn los nuevos ficheros creados dentro del recurso. Ejemplo: 0644
create mask
En el siguiente ejemplo se compartir a travs de Samba el recurso denominado ftp, el cual est localizado en el directorio /var/ftp/pub del disco duro. Se permitir el acceso a cualquiera pero ser un recurso de solo lectura salvo para los usuarios administrador y fulano. Todo directorio nuevo que sea creado en su interior tendr permiso 755 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
CARRERAS PROFESIONALES
CIBERTEC
151
XXXXXXXXXX-514) -> -1 Power Users (S-1-5-32-547) -> -1 Print Operators (S-1-5-32-550) -> -1 Administrators (S-1-5-32-544) -> -1 Account Operators (S-1-5-32-548) -> -1 Domain Users (S-1-5-21-XXXXXXXXXX-XXXXXXXXXXXXXXXXXXXX-513) -> -1 Backup Operators (S-1-5-32-551) -> -1 Users (S-1-5-32-545) -> -1 Lo anterior corresponde al mapa de los grupos que, de modo predeterminado, utilizar Samba si ste fuese configurado como Controlador Primario de Dominio. XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX corresponde a un nmero generado aleatoriamente al iniciarse Samba por primera vez. Tome nota de dicho nmero, ya que lo requerir ms adelante para re-asignar los nombres al espaol en el mapa de grupos. Los grupos anteriormente descritos trabajarn perfecta y limpiamente asocindolos contra grupos en el sistema, pero solo si utiliza alguna versin de Windows en ingles. Si utiliza alguna versin de Windows en espaol, habr que re-asignar los nombres de los grupos a los correspondientes al espaol y asociarles a grupos en el sistema, esto a fin de permitir asignar usuarios a dichos grupos y de este modo delegar tareas de administracin del mismo modo que en Windows. Es por tal motivo que si se tiene la intencin de configurar Samba como Controlador Primario de Dominio y al mismo tiempo poder hacer uso de los grupos del mismo modo que en Windows, es decir, por mencionar un ejemplo, permitir a ciertos usuarios pertenecer al grupo de administradores del dominio con privilegios de administrador, lo primero ser entonces generar los grupos en el sistema ejecutando como root los siguientes mandatos: groupadd -r administradores groupadd -r admins_dominio groupadd -r duplicadores groupadd -r invitados groupadd -r invs_dominio groupadd -r opers_copias groupadd -r opers_cuentas groupadd -r opers_impresion groupadd -r opers_sistema groupadd -r usrs_avanzados groupadd -r usuarios groupadd -r usuarios_dominio Una vez creados los grupos en el sistema, solo resta re-asignar los nombres al espaol en el mapa de grupo de Samba y asociarles a stos los grupos recin creados en el sistema. El procedimiento se resume a ejecutar algo como lo siguiente:
CIBERTEC
CARRERAS PROFESIONALES
152
net groupmap modify \ ntgroup="Nombre grupo Windows en espaol" \ sid="nmero-de-identidad-en-sistema" \ unixgroup="grupo_en_linux" \ comment="comentario descriptivo acerca del grupo" Lo anterior establece que se modifique el registro del grupo que corresponda al sid (identidad de sistema) definido con el nombre establecido con ntgroup, asocindolo al grupo en el servidor con unixgroup y aadiendo un comentario descriptivo acerca de dicho grupo con comment. De modo tal, y a fin de facilitar las cosas a quien haga uso de este manual, puede utilizar el siguiente guin para convertir los nombres al espaol y asociarlos a grupos en Linux, donde solo deber definir el nmero de identidad del sistema que corresponda al servidor: #!/bin/sh SIDSAMBA=XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX net groupmap modify ntgroup="Administradores" \ sid="S-1-5-32-544" unixgroup=administradores \ comment="Los administradores tienen acceso completo y sin restricciones al equipo o dominio" net groupmap modify ntgroup="Admins. del dominio" \ sid="S-1-5-21-$SIDSAMBA-512" unixgroup=admins_dominio \ comment="Administradores designados del dominio" net groupmap modify ntgroup="Duplicadores" \ sid="S-1-5-32-552" unixgroup=duplicadores \ comment="Pueden duplicar archivos en un dominio" net groupmap modify ntgroup="Invitados del dominio" \ sid="S-1-5-21-$SIDSAMBA-514" unixgroup=invitados \ comment="Todos los invitados del dominio" net groupmap modify ntgroup="Invitados" \ sid="S-1-5-32-546" unixgroup=invitados \ comment="Los invitados tienen de modopredeterminado el mismo acceso que los miembros del grupo Usuarios, excepto la cuenta Invitado que tiene mas restricciones" net groupmap modify ntgroup="Operadores de copias" \ sid="S-1-5-32-551" unixgroup=opers_copias \ comment="Los operadores de copia pueden sobrescribir restricciones de seguridad con el unico proposito de hacer copias de seguridad o restaurar archivos" net groupmap modify ntgroup="Opers. de cuentas" \
CARRERAS PROFESIONALES
CIBERTEC
153
sid="S-1-5-32-548" unixgroup=opers_cuentas \ comment="Pueden administrar cuentas de usuarios y grupos del dominio" net groupmap modify ntgroup="Opers. de impresin" \ sid="S-1-5-32-550" unixgroup=opers_impresion \ comment="Pueden operar impresoras del dominio" net groupmap modify ntgroup="Opers. de servidores" \ sid="S-1-5-32-549" unixgroup=opers_sistema \ comment="Pueden administrar sistemas del dominio" net groupmap modify ntgroup="Usuarios avanzados" \ sid="S-1-5-32-547" unixgroup=usrs_avanzados \ comment="Los usuarios avanzados tienen mas derechos administrativos con algunas restricciones. De este modo, pueden ejecutar aplicaciones heredadas junto con aplicaciones certificadas" net groupmap modify ntgroup="Usuarios del dominio" \ sid="S-1-5-21-$SIDSAMBA-513" unixgroup=usuarios_dominio \ comment="Todos los usuarios del dominio" net groupmap modify ntgroup="Usuarios" \ sid="S-1-5-32-545" unixgroup=usuarios \ comment="Los usuarios no pueden hacer cambios accidentales o intencionados en el sistema. Pueden ejecutar aplic. certificadas, pero no la mayora de las heredadas" exit 0
Nota: Este guin en esta incluido en el disco de Extras de curso de Linux Para Todos. Solo basta editarlo y definir la variable SIDSAMBA y ejecutarlo como root.
Una vez hecho lo anterior, al volver a realizar lo siguiente: net groupmap list Se deber de mostrar ahora esto otro: Opers. de servidores (S-1-5-32-549) -> opers_sistema Admins. del dominio (S-1-5-21-XXXXXXXXXX-XXXXXXXXXXXXXXXXXXXX-512) -> admins_dominio Duplicadores (S-1-5-32-552) -> duplicadores Invitados (S-1-5-32-546) -> invitados Invitados del dominio (S-1-5-21-XXXXXXXXXX-XXXXXXXXXXXXXXXXXXXX-514) -> invitados Usuarios avanzados (S-1-5-32-547) -> usrs_avanzados Opers. de impresin (S-1-5-32-550) -> opers_impresion Administradores (S-1-5-32-544) -> administradores Opers. de cuentas (S-1-5-32-548) -> opers_cuentas
CIBERTEC
CARRERAS PROFESIONALES
154
Usuarios del dominio (S-1-5-21-XXXXXXXXXX-XXXXXXXXXXXXXXXXXXXX-513) -> usuarios_dominio Operadores de copias (S-1-5-32-551) -> opers_copias Usuarios (S-1-5-32-545) -> usuarios De este modo, si por ejemplo, se agrega al usuario fulano al grupo admins_dominio, se tendr el mismo efecto que si se hiciera lo mismo en Windows agregando al usuario al grupo Admins. del dominio. Esto por supuesto solamente tendr utilidad si Samba se configura y utiliza como Controlador Primario de Dominio.
CARRERAS PROFESIONALES
CIBERTEC
155
12.
CIBERTEC
CARRERAS PROFESIONALES
156
CARRERAS PROFESIONALES
CIBERTEC
157
logon script = logon.cmd El fichero /var/lib/samba/netlogon/logon.cmd deber contener algo como lo siguiente: REM windows client logon script REM net time \\mi-servidor /SET /YES net use H: \\mi-servidor\homes /PERSISTENT:NO El Controlador Primario de Dominio va a necesitar tambin se definan los guiones a ejecutar para distintas tareas como alta de mquinas, usuarios y grupos as como la baja de estos. add user script = /usr/sbin/useradd %u add machine script = /usr/sbin/useradd -d /dev/null -g 100 -s /bin/false -c "Cuenta de mquina" -M %u delete user script = /usr/sbin/userdel %u delete group script = /usr/sbin/groupdel %g add user to group script = /usr/bin/gpasswd -a %u %g set primary group script = /usr/sbin/usermod -g %g %u El parmetro add user script sirve para definir lo que se deber ejecutar en el trasfondo en el sistema para crear una nueva cuenta de usuario. El parmetro add machine script es particularmente importante porque es el mandato utilizado para dar de alta cuentas de mquinas (trust accounts o cuentas de confianza) de modo automtico. El parmetro delete user script es para definir lo propio para eliminar usuarios, delete group script para eliminar grupos, add user to group para aadir usuarios a grupos y set primary group script para establecer un grupo como el principal para un usuario.
Directorio para Netlogon y perfiles en Controlador Primario de Dominio (PDC).
Si se va a utilizar Samba como Controlador Primario de Dominio, es necesario definir los recursos donde residir netlogon y tambin donde se almacenarn los perfiles de los usuarios: [netlogon] comment = Network Logon Service path = /var/lib/samba/netlogon write list = @administradores, @admins_dominio guest ok = Yes browseable = Yes [Profiles] path = /var/lib/samba/profiles read only = No guest ok = Yes
CIBERTEC
CARRERAS PROFESIONALES
158
create mask = 0600 directory mask = 0700 Genere con el mandato mkdir los directorios /var/lib/samba/profiles y /var/lib/samba/netlogon. El directorio /var/lib/samba/profiles deber pertenecer a root y al grupo users y tener permiso 1777 a fin de permitir crear el directorio de perfil correspondiente para cada usuario. mkdir -p -m 1777 /var/lib/samba/profiles mkdir -p /var/lib/samba/netlogon chgrp users /var/lib/samba/profiles
13.
Si iniciar Samba por primera vez realice lo siguiente: /sbin/service smb start 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
14.
CARRERAS PROFESIONALES
CIBERTEC
159
-----------------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 --------mi-servidor Workgroup Comment ------Servidor Samba 3.0.7-1.3E en mi-servidor 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 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. Por 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
CIBERTEC
CARRERAS PROFESIONALES
160
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 --------mi-servidor Comment ------Servidor Samba 3.0.7-1.3E en 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 -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/
CARRERAS PROFESIONALES
CIBERTEC
161
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.
CIBERTEC
CARRERAS PROFESIONALES
162
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.
163
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 NT
Crear manualmente la cuenta de mquina como se decribi anteriormente. Acceder hacia Men de inicio Configuraciones Panel de control Red. Seleccionar la pestaa de Identificacin. Clic en el botn de Cambiar. Ingrese el nombre del dominio y el nombre del sistema. No selecione Crear una cuenta de mquina en el Dominio. Clic en Aceptar Espere algunos segundos. Deber mostrarse un mensaje emergente de confirmacin que dice Bienvenido a MI-DOMINIO 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.
CIBERTEC
CARRERAS PROFESIONALES
164
acceso con privilegios de administracin en el servidor. 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 MI-DOMINIO 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.
CARRERAS PROFESIONALES
CIBERTEC
165
Autoevaluacin
1.
2.
3.
Cul es el archivo de configuracin del servicio NFS? (a) (b) (c) (d) smb.conf exports resolv.conf hosts
CIBERTEC
CARRERAS PROFESIONALES
166
CARRERAS PROFESIONALES
CIBERTEC
167
UNIDAD DE APRENDIZAJE
11
TEMA
11
SERVIDORES DNS
OBJETIVOS ESPECFICOS Comprender el funcionamiento del Sistema de Nombres de Dominio Comprender el funcionamiento del Servidor DNS de solo-cach
CONTENIDOS Introduccin a DNS Funcionamiento del DNS Configuracin del Servidor DNS Configuracin y consultas del cliente DNS. Configuracin de DNS Primario
CIBERTEC
CARRERAS PROFESIONALES
168
1. SISTEMA DNS
El Sistema de Nombres de Dominio (DNS) se utiliza para buscar equipos y servicios mediante nombres descriptivos. Cuando un usuario escribe un nombre DNS en una aplicacin, el servidor DNS puede traducir el nombre a la informacin asociada con el mismo, como una direccin IP. En la actualidad las redes son heterogneas (los hosts usan distintos Sistemas Operativos) por lo que el uso de servidores de nombres es requerido de forma obligatoria ya que los protocolos usados requieren DNS. La mayora de empresas son pequeas y medianas con un nmero pequeo de hosts por lo que la responsabilidad de la administracin de los servidores de nombres recae en el Proveedor de Servicios de Internet (ISP), esta empresa se encargar de la administracin del espacio de nombres de su dominio DNS, alojar y gestionar los datos de su zona DNS. Para las empresas que un nmero mayor de hosts sea considerable, tendr que administrar su propio servidor de nombres para facilitar la resolucin de nombres de su red.
1.1. Berkeley Intenet name Domain - Bind Bind es una aplicacin de los protocolos del Sistema de Nombre de Dominio (DNS) y proporciona los principales componentes del Sistema de Nombre de Dominio, incluyendo: Un servidor DNS (named). Una biblioteca resolver DNS (cliente DNS).
CARRERAS PROFESIONALES
CIBERTEC
169
Herramientas por verificar el funcionamiento apropiado del servidor de DNS. La pgina oficial del proyecto es: http://www.isc.org ISC BIND se puede instalar tanto en Linux como en Windows 2000/XP/2003
ISC Bind se puede instalar tanto en Linux como en Windows 2000/XP/2003, para el caso especfico de Linux se deben instalar los siguientes paquetes: bind Una implementacin de los protocolos DNS. bind-utils Contiene una coleccin de utilidades para consultas DNS a servidores de nombres para encontrar informacin de hosts de Internet. caching-nameserver Incluye los archivos de configuracin que hacen al servidor de nombre DNS ISC BIND named actuar como un simple servidor de nombre de solo-cach. system-config-bind Proporciona una interface grafica de usuario (GUI) para configurar el servidor DNS ISC BIND named.
CIBERTEC
CARRERAS PROFESIONALES
170
2.1. Demonio: named Es el demonio encargado de activar/desactivar el servidor DNS y es manipulado por el script /etc/init.d/named.
BIND almacena su configuracin en las siguientes ubicaciones: /etc/named.conf Archivo de configuracin para el demonio named. Directorio /var/named/ - Directorio de trabajo de named el cual almacena los archivos de zonas, estadsticas y cach.
Un gran nmero de problemas de operacin de servidores DNS se atribuyen a las pobres opciones de servidores secundarios para las zonas de DNS. De acuerdo al RFC 2182, el DNS requiere que al menos tres servidores existan para todos los dominios delegados (o zonas). Una de las principales razones para tener al menos tres servidores para cada zona es permitir que la informacin de la zona misma est disponible siempre y forma confiable hacia los Clientes DNS a travs de Internet cuando un servidor DNS de dicha zona falle, no est disponible y/o est inalcanzable.
CARRERAS PROFESIONALES CIBERTEC
171
Contar con mltiples servidores tambin facilita la propagacin de la zona y mejoran la eficiencia del sistema en general al brindar opciones a los Clientes DNS si acaso encontraran dificultades para realizar una consulta en un Servidor DNS. En otras palabras: tener mltiples servidores para una zona permite contar con redundancia y respaldo del servicio. Con mltiples servidores, por lo general uno acta como Servidor Maestro o Primario y los dems como Servidores Esclavos o Secundarios. Correctamente configurados y una vez creados los datos para una zona, no ser necesario copiarlos a cada Servidor Esclavo o Secundario, pues ste se encargar de transferir los datos de manera automtica cuando sea necesario. Los Servidores DNS responden dos tipos de consultas: Consultas Iterativas (no recursivas): El cliente hace una consulta al Servidor DNS y este le responde con la mejor respuesta que pueda darse basada sobre su cach o en las zonas locales. Si no es posible dar una respuesta, la consulta se reenva hacia otro Servidor DNS repitindose este proceso hasta encontrar al Servidor DNS que tiene la Zona de Autoridad capaz de resolver la consulta. Consultas Recursivas: El Servidor DNS asume toda la carga de proporcionar una respuesta completa para la consulta realizada por el Cliente DNS. El Servidor DNS desarrolla entonces Consultas Iterativas separadas hacia otros Servidores DNS (en lugar de hacerlo el Cliente DNS) para obtener la respuesta solicitada.
Zonas de Autoridad. Permiten al Servidor Maestro o Primario cargar la informacin de una zona. Cada Zona de Autoridad abarca al menos un dominio y posiblemente sus subdominios, si estos ltimos no son delegados a otras zonas de autoridad. La informacin de cada Zona de Autoridad es almacenada de forma local en un fichero en el Servidor DNS. Este fichero puede incluir varios tipos de registros: Tipo de Registro. A (Address) AAAA Descripcin. Registro de direccin que resuelve un nombre de un anfitrin hacia una direccin IPv4 de 32 bits. Registro de direccin que resuelve un nombre de un anfitrin hacia una direccin IPv6 de 128 bits. (Canonical Registro de nombre cannico que hace que un nombre sea alias de otro. Los dominios con alias obtiene los sub-dominios y registros DNS del dominio original.
CNAME Name)
CIBERTEC
CARRERAS PROFESIONALES
172
Descripcin. Registro de servidor de correo que sirve para definir una lista de servidores de correo para un dominio, as como la prioridad entre stos. Registro de apuntador que resuelve direcciones IPv4 hacia el nombre anfitriones. Es decir, hace lo contrario al registro A. Se utiliza en zonas de Resolucin Inversa. Registro de servidor de nombres que sirve para definir una lista de servidores de nombres con autoridad para un dominio. Registro de inicio de autoridad que especifica el Servidor DNS Maestro (o Primario) que proporcionar la informacin con autoridad acerca de un dominio de Internet, direccin de correo electrnico del administrador, nmero de serie del dominio y parmetros de tiempo para la zona. Registro de servicios que especifica informacin acerca de servicios disponibles a travs del dominio. Protocolos como SIP (Session Initiation Protocol) y XMPP (Extensible Messaging and Presence Protocol) suelen requerir registros SRV en la zona para proporcionar informacin a los clientes. Registro de texto que permite al administrador insertar texto arbitrariamente en un registro DNS. Este tipo de registro es muy utilizado por los servidores de listas negras DNSBL (DNS-based Blackhole List) para la filtracin de Spam. Otro ejemplo de uso son las VPN, donde suele requerirse un registro TXT para definir una llave que ser utilizada por los clientes.
PTR (Pointer)
NS (Name Server)
SRV (Service)
TXT (Text)
Las zonas que se pueden resolver son: Zonas de Reenvo. Devuelven direcciones IP para las bsquedas hechas para nombres FQDN (Fully Qualified Domain Name). En el caso de dominios pblicos, la responsabilidad de que exista una Zona de Autoridad para cada Zona de Reenvo corresponde a la autoridad misma del dominio, es decir, y por lo general, quien est registrado como autoridad del dominio tras consultar una base de datos WHOIS. Quienes compran dominios a travs de un NIC (por ejemplo ejemplo: www.nic.mx) son quienes se hacen cargo de las Zonas de Reenvo, ya sea a travs de su propio Servidor DNS o bien a travs de los Servidores DNS de su ISP.
CARRERAS PROFESIONALES
CIBERTEC
173
Salvo que se trate de un dominio para uso en una red local, todo dominio debe ser primero tramitado con un NIC como requisito para tener derecho legal a utilizarlo y poder propagarlo a travs de Internet.
Zonas de Resolucin Inversa. Devuelven nombres FQDN (Fully Qualified Domain Name) para las bsquedas hechas para direcciones IP. En el caso de segmentos de red pblicos, la responsabilidad de que exista de que exista una Zona de Autoridad para cada Zona de Resolucin Inversa corresponde a la autoridad misma del segmento, es decir, y por lo general, quien est registrado como autoridad del segmento tras consultar una base de datos WHOIS. Los grandes ISP, y en algunos casos algunas empresas, son quienes se hacen cargo de las Zonas de Resolucin Inversa.
CIBERTEC
CARRERAS PROFESIONALES
174
CARRERAS PROFESIONALES
CIBERTEC
175
Guarde los cambios haciendo clic en Guardar, se creara el archivo /etc/named.conf usando los archivos de zona ubicados en el directorio /var/named/ Ahora tenemos el servidor BIND DNS en su configuracin bsica para que funcione como servidor BIND DNS de solo-cach debemos agregar la sentencia allow-query para permitir las peticiones de consulta de los clientes DNS (resolvers). Seleccione Servidor DNS y luego haga clic en el botn Propiedades, se mostrara la imagen inferior:
En la vista superior derecha seleccionar la opcin allow-query, luego hacer clic en el botn +. En la vista inferior derecha seleccionar Direccin IPv4, luego llene los campos de la lista, agregando la direccin de red y luego haga clic en el botn Aadir. Haga clic en el botn Aplicar y luego en el botn Aceptar. Guarde los cambios haciendo clic en Guardar.
CIBERTEC
CARRERAS PROFESIONALES
176
Otra forma de iniciar el servidor DNS es ejecutando el siguiente comando: /etc/init.d/named start 4.3. Configuracin del Firewall local En forma predeterminada el equipo tiene configurado un Firewall personal que permite que el equipo se conecta hacia fuera sin ninguna restriccin pero cualquier peticin de acceso al equipo es denegada.
CARRERAS PROFESIONALES
CIBERTEC
177
Para que las peticiones al servidor DNS de solo-cach puedan ingresar al equipo debemos configurar el Firewall local, permitiendo nicamente que las peticiones al puerto 53 usando los protocolos TCP y UDP estn permitidas. Haga clic en el men Sistema del panel superior, luego en Administracin, luego en Nivel de seguridad y cortafuegos. Se mostrara la imagen inferior: Clic en la pestaa Opciones de Cortafuegos. Clic en la opcin Otros puertos. Clic en el botn Aadir.
Ingrese el nmero de puerto 53 y elija el protocolo TCP, luego clic en el botn Aceptar. Repita este paso para configurar puerto 53, protocolo UDP.
CIBERTEC
CARRERAS PROFESIONALES
178
Haga clic en el botn Aplicar y luego en el botn Aceptar. 4.4. Configuracin del cliente DNS (resolver) Para configurar el cliente DNS en un equipo Linux solo se debe modificar el archivo /etc/resolv.conf y agregar la siguiente entrada: nameserver ip_servidor_dns
CARRERAS PROFESIONALES
CIBERTEC
179
En el caso de que el equipo cliente tenga instalado Windows: Seleccione el icono Mis sitios de red, haga clic derecho y seleccione Propiedades del men de opciones. Luego haga clic sobre Conexin de rea local y seleccione la opcin Propiedades. Seleccione la opcin Protocolo Internet (TCP/IP) de la lista y haga clic en la opcin Propiedades. Elija la opcin Usar las siguientes direcciones de servidor DNS e ingrese la direccin IP de su nuevo servidor DNS en la caja Servidor DNS preferido. Presione el botn Aceptar y nuevamente clic en el botn Aceptar, cierre la ventana Conexiones de red.
CIBERTEC
CARRERAS PROFESIONALES
180
5.2.
Comando dig Herramienta que permite actualizar el archivo de zona named.ca y realizar consultas DNS.
CARRERAS PROFESIONALES
CIBERTEC
181
5.3.
CIBERTEC
CARRERAS PROFESIONALES
182
> set q=mx > cibertec.edu.pe Server: NS3.FIRSTCOM.COM.pe Address: 200.14.241.36#53 cibertec.edu.pe mail exchanger = 10 fenix-si.cibertec.edu.pe. cibertec.edu.pe mail exchanger = 5 antispamsi.cibertec.edu.pe. > exit debian:~#
Para esta configuracin tendremos que plantear un escenario ficticio: Nombre del dominio: vasquez.com.pe Servidores DNS proporcionados por nuestro ISP: 200.48.225.130, 200.48.225.146 Puerta de enlace: 192.168.1.1 6.1. Creacin de una nueva zona directa Haga clic en el men Sistema del panel superior, luego en Administracin, luego en Configuracin de servidores, luego en Sistema de nombres de dominio. Clic en Nuevo.
CARRERAS PROFESIONALES
CIBERTEC
183
CIBERTEC
CARRERAS PROFESIONALES
184
CARRERAS PROFESIONALES
CIBERTEC
185
6.2.
Configurando la zona 6.2.1. Agregando un nuevo Registro de Recurso (RR) Seleccione el dominio. Clic en Nuevo.
CIBERTEC
CARRERAS PROFESIONALES
186
6.2.2.
Agregando un nuevo host Clic en A Direccin IPv4 Se mostrara una nueva ventana Ingrese el Nombre de dominio totalmente calificado (FQDN), por ejemplo para el servidor Web: server1.vasquez.com.pe.
CARRERAS PROFESIONALES
CIBERTEC
187
Marcando la casilla Crear Record de mapeo inverso se creara la zona inversa. Clic en Guardar.
6.2.3.
Agregando un nuevo alias Clic en CNAME Alias Se mostrara una nueva ventana Ingrese el alias en la casilla Nombre de Dominio. Ingrese el Nombre de dominio totalmente calificado (FQDN) en la casilla Nombre Cannico. Clic en Aceptar.
CIBERTEC
CARRERAS PROFESIONALES
188
Luego finalizada la configuracin se crearan en el directorio /var/named los siguientes archivos: o vasquez.com.pe.db Archivo de zona directa o 192.168.1.db Archivo de zona inversa
CARRERAS PROFESIONALES
CIBERTEC
189
6.3.
Desde un equipo cliente ejecutamos los comandos mostrados en la figura inferior para comprobar el funcionamiento del servidor DNS Primario.
CIBERTEC
CARRERAS PROFESIONALES
190
Autoevaluacin
Segn lo expuesto en clase, de un ejemplo de cmo usar el servidor DNS Primario.
CARRERAS PROFESIONALES
CIBERTEC
191
UNIDAD DE APRENDIZAJE
12
TEMA
12
SERVIDOR DHCP
TEMA Entender e implementar el servidor DHCP
CIBERTEC
CARRERAS PROFESIONALES
192
1. Introduccin.
DHCP (acrnimo de Dynamic Host Configuration Protocol que se traduce Protocolo de configuracin dinmica de servidores) es un protocolo que permite a dispositivos individuales en una red de direcciones IP obtener su propia informacin de configuracin de red (direccin IP; mscara de sub-red, puerta de enlace, etc.) a partir de un servidor DHCP. Su propsito principal es hacer ms fciles de administrar las redes grandes. DHCP existe desde 1993 como protocolo estndar y se describe a detalle en el RFC 2131. Sin la ayuda de un servidor DHCP, tendran que configurarse de forma manual cada direccin IP de cada anfitrin que pertenezca a una Red de rea Local. Si un anfitrin se traslada hacia otra ubicacin donde existe otra Red de rea Local, se tendr que configurar otra direccin IP diferente para poder unirse a esta nueva Red de rea Local. Un servidor DHCP entonces supervisa y distribuye las direcciones IP de una Red de rea Local asignando una direccin IP a cada anfitrin que se una a la Red de rea Local. Cuando, por mencionar un ejemplo, una computadora porttil se configura para utilizar DHCP, a sta le ser asignada una direccin IP y otros parmetros de red necesarios para unirse a cada Red de rea Local donde se localice.
Existen tres mtodos de asignacin en el protocolo DHCP: Asignacin manual: La asignacin utiliza una tabla con direcciones MAC (acrnimo de Media Access Control Address, que se traduce como direccin de Control de Acceso al Medio). Slo los anfitriones con una direccin MAC definida en dicha tabla recibir el IP asignada en la misma tabla. sto se hace a travs de los parmetros hardware ethernet y fixedaddress. Asignacin automtica: Una direccin de IP disponible dentro de un rango determinado se asigna permanentemente al
CARRERAS PROFESIONALES
CIBERTEC
193
anfitrin que la requiera. Asignacin dinmica: Se determina arbitrariamente un rango de direcciones IP y cada anfitrin conectado a la red est configurada para solicitar su direccin IP al servidor cuando se inicia el dispositivo de red, utilizando un intervalo de tiempo controlable (parmetros default-lease-time y max-lease-time) de modo que las direcciones IP no son permanentes y se reutilizan de forma dinmica.
Puede utilizar el siguiente contenido para crear desde cero el fichero /etc/dhcpd.conf.
CIBERTEC
CARRERAS PROFESIONALES
194
subnet 192.168.0.0 netmask 255.255.255.0 { option routers 192.168.0.1; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option domain-name "redlocal.net"; option domain-name-servers 192.168.0.1, 148.240.241.42, 148.240.241.10; option netbios-name-servers 192.168.0.1; option ntp-servers 66.187.224.4, 66.187.233.4; range 192.168.0.11 192.168.0.199; default-lease-time 21600; max-lease-time 43200; } host m253 { option host-name "m253.redlocal.net"; hardware ethernet 00:50:BF:27:1C:1C; fixed-address 192.168.0.253; } host m254 { option host-name "m254.redlocal.net"; hardware ethernet 00:01:03:DC:67:23; fixed-address 192.168.0.254; } } Una buena medida de seguridad es hacer que el servicio de dhcpd solo funcione a travs de la interfaz de red utilizada por la LAN, esto en el caso de tener mltiples dispositivos de red. Edite el fichero /etc/sysconfig/dhcpd y agregue como argumento del parmetro DHCPDARGS el valor eth0, eth1, eth2, etc., o lo que corresponda. Ejemplo, considerando que eth0 es la interfaz correspondiente a la LAN: # Command line options here DHCPDARGS=eth0 Para ejecutar por primera vez el servicio, ejecute: /sbin/service dhcpd start Para hacer que los cambios hechos a la configuracin surtan efecto, ejecute: /sbin/service dhcpd restart Para detener el servicio, ejecute: /sbin/service dhcpd stop Para aadir dhcpd al arranque del sistema, ejecute:
CARRERAS PROFESIONALES CIBERTEC
195
/sbin/chkconfig dhcpd on Hecho lo anterior solo bastar con configurar como interfaces DHCP las estaciones de trabajo que sean necesarias sin importar que sistema operativo utilicen.
5. Archivo de registro
En el servidor DHCP podemos apreciar la concesin de la direccin IP al equipo cliente DHCP ejecutando el siguiente comando: tail f /var/log/messages
CIBERTEC
CARRERAS PROFESIONALES
196
Autoevaluacin
1. El archivo /var/log/secure muestra conexiones repetidas al puerto TCP 53. 2. Cul es el nombre del servicio que esta siendo accedido?
CARRERAS PROFESIONALES
CIBERTEC
197
UNIDAD DE APRENDIZAJE
13
TEMA
13
SERVIDOR WEB
TEMA Describir el uso del Servidor HTTP Apache.
CIBERTEC
CARRERAS PROFESIONALES
198
5. INTRODUCCIN
El Servidor HTTP Apache es un servidor Web de tecnologa Open Source slido y para uso comercial desarrollado por la Apache Software Foundation, actualmente el proyecto se encuentra en la versin 2.2.4. Pgina oficial: http://httpd.apache.org. Documentacin en espaol: http://httpd.apache.org/docs/2.0/es/ Tiene una estructura modular, que permite agregar funciones que no se encuentran en el cdigo fuente de Apache. Estos mdulos pueden ser desarrollados por Apache o por terceros.
Adicionalmente se tiene que HTTP Apache registra el acceso de cada navegador web generando un hit (nombre del host, da, hora, pagina accedida) en el archivo access.log. Cualquier problema con el servidor HTTP Apache se registra en el archivo error.log.
CARRERAS PROFESIONALES
CIBERTEC
199
httpd-manual Paquete que contiene el manual y la gua de referencia para el servidor HTTP Apache. system-config-httpd Herramienta de configuracin para el servidor HTTP Apache. Activamos el demonio httpd: /etc/init.d/httpd start No olvidar permitir en el Firewall local las peticiones de acceso al servidor HTTP Apache.
CIBERTEC
CARRERAS PROFESIONALES
200
201
### Section 1: Global Environment # ServerRoot: The top of the directory tree under which the server's # configuration, error, and log files are kept. ServerRoot "/etc/httpd" # PidFile: The file in which the server should record its process # identification number when it starts. PidFile run/httpd.pid # Listen: Allows you to bind Apache to specific IP addresses and/or # ports, in addition to the default. Listen 80 # User/Group: The name (or #number) of the user/group to run httpd as. User apache Group apache ### Section 2: 'Main' server configuration # ServerAdmin: Your address, where problems with the server should be # e-mailed. This address appears on some server-generated pages, such # as error documents. e.g. admin@your-domain.com ServerAdmin root@localhost # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. DocumentRoot "/var/www/html" # DirectoryIndex: sets the file that Apache will serve if a directory # is requested. DirectoryIndex index.html index.html.var # ErrorLog: The location of the error log file. ErrorLog logs/error_log # LogLevel: Control the number of messages logged to the error_log. # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn # The location and format of the access logfile (Common Logfile Format). CustomLog logs/access_log combined ### Section 3: Virtual Hosts
No olvidar configurar el servidor ISC BIND para poder usar el nombre de domino www.vasquez.com.pe. 3.1. Pagina web predeterminada La pagina predeterminada index.html para el acceso al servidor web debe estar ubicada en el directorio /var/www/html/. Con un editor de textos crearemos nuestra propia pgina web, por ejemplo: vi /var/www/html/index.html
<html> <body> <p align=center><font size=8>Funciona!!!</font></p> </body> </html>
CIBERTEC
CARRERAS PROFESIONALES
202
3.2. Archivos de registro En el servidor HTTP Apache podemos apreciar que equipos se conectan al servidor ejecutando el siguiente comando: tail f /var/log/httpd/access_log
CARRERAS PROFESIONALES
CIBERTEC
203
Ejercicio 1:
Crear una segunda pgina web en el directorio /var/www/html/datos/ y probar el acceso. Anote sus observaciones:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CIBERTEC
CARRERAS PROFESIONALES
204
4. Virtual Hosts
El trmino Hosts Virtuales se refiere al hecho de mantener ms de un servidor en una misma mquina, diferenciando se nicamente por su nombre de dominio. Por ejemplo: www.cibertec.com.pe y www.cibertec.org.pe con la misma direccin IP. Obviamente estos nombres deben estar registrados en el servidor DNS.
Paso 2. Crear el directorio /var/www/html1 Paso 3. Con un editor de textos crearemos nuestra propia pgina web, por ejemplo: vi /var/www/html1/index.html
<html> <body> <p align=center><font size=8>Funciona Host Virtual!!!</font></p> </body> </html>
Paso 4. Configuracin del servidor DNS primario para agregar dominio vasquez.org.pe, y agregar el registro correspondiente
CARRERAS PROFESIONALES
CIBERTEC
205
Paso 5. Reiniciar los demonios: named y hhtpd. Paso 6. Probar desde un equipo cliente el acceso al servidor web
CIBERTEC
CARRERAS PROFESIONALES
206
Ejercicio 2:
Crear una segunda pgina web en el directorio /var/www/html2 y probar el acceso. Anote sus observaciones:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CARRERAS PROFESIONALES
CIBERTEC
207
Autoevaluacin
3. El archivo /var/log/secure muestra conexiones repetidas al puerto TCP 53. Cul es el nombre del servicio que esta siendo accedido? (a) imap (b) smbd (c) domain (d) pop3
4. Cul es el archivo de configuracin del servidor Web? (a) httpd.conf (b) apache.conf (c) web.conf (d) http.conf
5. El servidor web acepta peticiones al puerto 80 qu directiva debemos modificar par que ahora solo acepte peticiones la puerto 8080? (a) Ports (b) Listen (c) ServerDocument (d) ServerRoot
6. Si deseo permitir el acceso al servidor web qu protocolo debo seleccionar en el cortafuegos? (a) smtp (b) imap (c) pop3 (d) http
CIBERTEC
CARRERAS PROFESIONALES
208
CARRERAS PROFESIONALES
CIBERTEC
209
UNIDAD DE APRENDIZAJE
14
TEMA
14
SERVIDOR DE CORREO
TEMA Describir e implementar el uso de de un servidor de correo
OBJETIVOS ESPECFICOS Comprender el funcionamiento de un servidor. Configuracin del servicio de correo en Linux con Postfix
CIBERTEC
CARRERAS PROFESIONALES
210
1. INTRODUCCIN
Los servidores de Correos estn basados en una estructura Cliente/Servidor y consta de: Los Agentes de Transporte o MTA (Mail Transport Agent), que son los encargados de transferir los mensajes a su correcto destino. Evolution, Mozilla Mail, Thunderbird, y Mutt, son usados para leer y redactar mensajes. Los Agentes de Usuario o MUA (Mail User Agent) que tienen como propsito el aislar al usuario de los Agentes de Transporte. Sendmail, Postfix, y Exim son los MTAs proporcionados por CentOS. En Software Libre se tiene que el servidor de Correos consta de los siguientes elementos mnimos: Servidor SMTP (Simple Mail Transfer Protocol) o Proporciona un mtodo para transferir correos sobre un protocolo de transporte como el TCP/IP. o Protocolo utilizado para el envo de mensajes a otros servidores de SMTP y la recepcin de los mensajes de los usuarios. o El puerto que habilita es el 25. Servidor POP3 (Post Office Protocol) o Permite recuperar el correo al MUA, pero este se almacenar localmente en el disco duro de las mquinas de los usuarios. o La entrega de los mensajes a los clientes del servidor es mediante un acceso autenticado. o El puerto que habilita es el 110. Servidor IMAP (Internet Message Access Protocol). o Es un protocolo con ms opciones a comparacin de POP3, soporta algunas caractersticas que no estn incluidas en POP, como la manipulacin de mltiples carpetas remotas, visualizar correos sin necesidad de bajarlo del servidor. o Facilita la utilizacin de webmails (servicios de correo basado sobre web). o El puerto que habilita es el 143.
2. INSTALACIN
Para tener funcionando el servidor de Correos se deben instalar los siguientes paquetes: postfix MTA (Mail Transport Agent). Servidor SMTP. dovecot Servidor IMAP/POP3.
3. CONFIGURACIN
3.1. Configuracin Postfix Postfix tiene dos archivos de configuracin los cuales son: /etc/postfix/master.cf Este archivo contiene la configuracin para los procesos maestros de Postfix. Cada lnea indica como un componente debe funcionar
CARRERAS PROFESIONALES
CIBERTEC
211
/etc/postfix/main.cf Es el archivo principal, donde reside el corazn del funcionamiento de Postfix. No tiene una estructura concreta, por lo que se recomienda analizar con mayor detalle las directivas segn sus propias necesidades. Paso 1. Agregue las siguientes lneas en el archivo /etc/postfix/main.cf
# Parmetros configurables por el usuario myhostname = centos.vasquez.com.pe mydomain = vasquez.com.pe myorigin = $mydomain mynetworks = 192.168.1.0/24, 127.0.0.0/8 inet_interfaces = all
Paso 2.
Paso 3.
Paso 4.
CIBERTEC
CARRERAS PROFESIONALES
212
3.2.
Paso 2. 3.3.
Configuracin Firewall local Habilitar los puertos: SMTP (25) y POP3 (110)
CARRERAS PROFESIONALES
CIBERTEC
213
3.4.
Configuracin del MUA Se usar el programa KMail como cliente de correo. Paso 1. Haga clic en el programa KMail, se mostrara la siguiente imagen.
Paso 2.
Paso 3.
Ingrese los datos correspondiente en cada casilla, luego clic en el botn Siguiente.
CIBERTEC
CARRERAS PROFESIONALES
214
Paso 4.
Paso 4.
Ingrese la direccin IP de los servidores: entrante (SMTP) y saliente (POP3), luego clic en el botn Finalizar.
CARRERAS PROFESIONALES
CIBERTEC
215
Paso 2.
Ver en el archivo de registro las transacciones del servidor SMPT. tail f /var/log/maillog
CIBERTEC
CARRERAS PROFESIONALES
216
Paso 3.
Desde el cliente de correo haga clic en Comprobar correo en, luego podremos ver en el archivo de registro las transacciones del servidor POP3. tail f /var/log/maillog
CARRERAS PROFESIONALES
CIBERTEC
217
5. RESTRICCIONES
Para evitar que nuestro servidor de correos sea usado para hacer SPAM o sea usado como Open Relay tenemos las siguientes restricciones: Restricciones del emisor (smtpd_sender_restrictions). Restricciones de nombre/direccin cliente (smtpd_client_restrictions). Uso del comando HELO (smtpd_helo_required y smtpd_helo_restrictions). Restricciones del destinatario (smtpd_recipient_restrictions). o Restricciones UCE.
Las listas de control de acceso (ACL), son las direcciones de e-mail que NO pueden enviar correo a nuestro servidor. Contenido del archivo /etc/postfix/access:
juan@yahoo.com techmail.com REJECT REJECT
Cada vez que se modifica el archivo /etc/postfix/access debemos ejecutar: postmap hash:/etc/postfix/access postfix reload 5.2. Restricciones de nombre/direccin cliente
Parmetro que restringe desde que clientes este sistema acepta conexiones SMTP. Las listas de bloqueo son unas listas de IP de servidores que supuestamente envan spam. Entre las listas ms usadas se encuentran las RBL de mail-abuse.org o las SBL de spamhaus.org. Una configuracin tpica en el main.cf sera:
smtpd_client_restrictions = hash:/etc/postfix/access, reject_maps_rbl maps_rbl_domains = rbl.maps.vix.com, relays.orbd.org, sbl.spamhaus.org
CIBERTEC
CARRERAS PROFESIONALES
218
5.3.
El parametro smtpd_helo_required determina si los clientes deben enviar un HELO (o EHLO) al servidor antes de comenzar una sesin SMTP. El parmetro smtpd_helo_restrictions restringe aquellos hosts que pueden enviar el comando HELO. Una configuracin tpica en el main.cf sera:
smtpd_delay_reject = yes smtpd_helo_required = yes smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname, reject_unknown_hostname, reject_non_fqdn_hostname
5.4.
El parmetro smtpd_recipient_restrictions restringe los recipientes o destinatarios que acepta el Servidor de Correos cuando se ejecuta RCPT TO.
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, reject_rbl_client relays.orbd.org, reject_rbl_client list.dsbl.org, reject_rbl_client sbl-xbl.spamhaus.org
6. COMANDOS
6.1. postqueue
Controla la cola de Postfix Sintaxis: postqueue -f postqueue -p Donde: -f Intenta entregar todos los mensajes que se encuentran en la cola de mensajes. -p Lista los mensajes que se encuentran en la cola de mensajes.
CARRERAS PROFESIONALES
CIBERTEC
219
6.2.
postsuper
Gestiona las tareas en la cola Postfix. Sintaxis: postsuper d id_cola postsuper h id_cola postsuper H id_cola Donde: -d Borra un mensaje que se encuentra en la cola Postfix. Especifique d ALL para borrar todos los mensajes. -h Mueve un mensaje a la cola hold. Especifique h ALL para mover todos los mensajes. -H Mueve un mensaje de la cola hold a la cola deferred. Especifique H ALL para mover todos los mensajes.
CIBERTEC
CARRERAS PROFESIONALES
220
6.3.
postconf
CARRERAS PROFESIONALES
CIBERTEC
221
Autoevaluacin
CIBERTEC
CARRERAS PROFESIONALES
222
Agradecimientos
Extractos de documentos extraidos de: http://www,redhat.com http://www.europe.redhat.com/ http://www.wikilearning.com/ http://www.linuxparatodos.net Pgina Web de Red Hat Pgina Web de Red Hat Europa Comunidad Wiki Linux Para Todos - Factor Evolucin
CARRERAS PROFESIONALES
CIBERTEC