Sunteți pe pagina 1din 216

Sistemas Operativos Abiertos

La Disciplina tarde o temprano vencer a la inteligencia y si no hay disciplina es fcil que la pobreza te alcance.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

ndice
Presentacin Red de contenidos
Unidad de Aprendizaje 1 INTRODUCCIN AL SOFTWARE LIBRE

7 8

1.1 TEMA 1 1.1.1. 1.1.2. 1.1.3. 1.1.4. 1.1.5. 1.1.6. 1.1.7. 1.1.8. 1.1.9.

: Introduccin al Sistema Operativo Linux GNU/Linux Sistema Operativo Distribucin Software Libre Claves de xito del Software Libre Escritorio grfico GNU/Linux Requerimientos del Sistema El estndar de jerarqua de archivos (FHS) Particiones recomendadas para instalar CentOs

9 9 10 11 12 13 13 19 19 19

Unidad de Aprendizaje 2 COMANDOS BSICOS Y CONFIGURACIN DE RED

2.1.Informacin del Sistema 2.1.1. Arch 2.1.2. Uname (parmetros) 2.1.3 /proc/cpuinfo 2.1.4 /proc/meminfo 2.1.5 /proc/swaps 2.1.6 /proc/mounts 2.1.7 date 2.1.8 w 2.1.9 dfh 2.1.10 ps xa 2.1.11 mk dir 2.1.12 touch 2.1.13 cd 2.1.14 cp 2.1.15 mv 2.1.16 rm 2.1.17 ls 2.1.18 find 2.1.19 update db 2.1.20 mount 2.2. Comprensin de Archivos 2.2.1 Tar 2.2.2 Zip 2.2.3 Configuracin de interfaces de red 2.2.4 Configuracin del archivo /etc/hosts 2.2.5 Configuracin del archivo /etc/resolv.conf 2.2.6 Configuracin del archivo /etc/resolv.conf 2.2.7 Configuracin de la interfaz de red

27 27 27 27 28 29 30 30 31 31 31 32 32 33 33 34 34 34 35 36 36 38 38 39 39 40 40 40 41

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

Unidad de Aprendizaje 3 ADMINISTRACIN DE USUARIOS Y GRUPOS

3.1.

Introduccin 3.1.1. Herramientas de administracin de usuarios y grupos 3.1.2. Usuarios despus de una instalacin comu n 3.1.3 Grupos despus de una instalacin comn 3.1.4 Grupos de usuario privado 3.1.5 Contraseas Shadow 3.1.6 Ejemplos

45 45 47 48 49 49 50

Unidad de Aprendizaje 4 PROCESO DE ARRANQUE EN LINUX

4.1. 4.2.

Proceso de Arranque, inicio y cierre del Sistema 4.1.1. Proceso de arranque Vista detallada del proceso de arranque 4.2.1. La BIOS 4.2.2 El gestor de arranque 4.2.3 El Kernel 4.2.4 Programa /sbin/init 4.2.5 Ejecutar programas adicionales en el momento de arranque 4.2.6 Niveles de ejecucin de SysV Init 4.2.7 Niveles de ejecucin 4.2.8 Utilidades de los niveles de ejecucin 4.2.9 Apagar 4.2.10 El gestor de arranque GRUB

59 59 60 60 60 61 62 63 63 63 64 65 65

Unidad de Aprendizaje 5 FILESYSTEMS EN LINUX

5.1.

5.2 5.3. 5.4. 5.5. 5.6. 5.7 5.8 5.9

Particiones 5.1.1 Conceptos bsicos 5.1.2 Herramientas para la administracin Creacin de Particiones en Linux 5.2.1. El comando para crear particiones es fdisk Otras herramientas Creacin de los sistemas de ficheros 5.4.1. Particin de intercambio Montado de los sistemas de ficheros Chequeo del sistema de ficheros Otras utilidades Permisos Linux Comandos Relacionados 5.9.1. Cambio de permisos utilizando taquigrafa de caracteres 5.9.2. Cambio de permisos utilizando nmeros

75 75 75 82 83 85 85 86 86 89 89 90 92 93 94

Unidad de Aprendizaje 6 INSTALACIN DE APLICACIONES EN LINUX

6.1.

6.2. 6.3. 6.4. 6.5. 6.6 6.7. 6.8

RPM (RedHat Package Manager) 6.1.1. Visin general 6.1.2 Informacin general Usando RPM Manejo de RPM Compilar aplicaciones en Linux Actualizar Sistema Bsquedas Consulta de informacin Instalacin de paquetes

103 103 104 104 106 108 111 112 112 113
CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

SISTEMAS OPERATIVOS ABIERTOS

6.9. 6.10 6.11

Desinstalacin de paquetes Listado de paquetes Limpieza del sistema

114 114 114

Unidad de Aprendizaje 7 ANLISIS DE ARCHIVOS DE REGISTRO DEL SISTEMA LINUX

7.1. 7.2. 7.3. 7.4. 7.5. 7.6.

Archivos de registro Ubicacin de los archivos de registro Visualizacin de los archivos de registro Demonio Syslogd Quotas de disco en Linux Comprobaciones

119 119 120 121 123 126

Unidad de Aprendizaje 8 SERVIDOR NFS y SAMBA

Servicio NFS Introduccin Funcionamiento Servicios requeridos Iniciar y detener NFS Configuracin del Servidor NFS Archivos de configuracin de clientes NFS Servicio Samba Introduccin Configuracin bsica de Samba Alta de cuentas de usuario El fichero IMHosts Configuracin del Servidor Samba 8.11.1 Parmetros principales del servidor Samba 8.11.2 Parmetros tiles para la seguridad 8.11.3 Impresoras en Samba 8.11.4 Compartiendo directorios a travs de Samba 8.11.5 Configuracin avanzada en Samba 8.11.6 Re-asignacin de grupos de Windows en Samba 8.12. Parmetros de configuracin avanzada en el fichero smb.conf 8.13. Iniciar el servicio y aadirlo al arranque del sistema 8.14. Accediendo hacia Samba 8.1. 8.2. 8.3 8.4 8.5 8.6. 8.7. 8.8. 8.9. 8.10. 8.11.
Unidad de Aprendizaje 9

130 130 131 132 133 136 137 138 138 139 139 139 140 140 141 142 143 147 150 150

SERVIDORES DNS 9.1. Sistema DNS 9.2. Instalacin del Servidor DNS 9.3. Tipos de Servidores DNS 9.4. Configuracin del servidor DNS 9.5 Consultas a los servidores DNS 9.6 Configuracin del servidor DNS primario
Unidad de Aprendizaje 10

159 160 161 164 171 173

SERVIDOR DHCP 10.1. Introduccin 10.2. Configuracin de un servidor DHCP en Linux 10.3. DHCP Fichero de configuracin 10.4. Configuracin de un cliente DHCP 10.5. Archivo de Registro

185 186 186 188 188

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

Unidad de Aprendizaje 11

SERVIDOR WEB 11.1. Introduccin 11.2. Instalacin del Servidor Http Apache 11.3. Configuracin del Servidor Http Apache 11.4. Pgina Web predeterminada 11.5. Archivos de registro 11.6. Virtual Hosts 11.7. Configuracin de los Hosts virtuales
Unidad de Aprendizaje 12

193 193 195 196 197 199 199

SERVIDOR DE CORREO 12.1. Introduccin 12.2. Instalacin 12.3. Configuracin 12.4. Restricciones 12.5. Comandos Exmenes Finales. BIBLIOGRAFIA : Bibliografa digital

205 205 205 212 213

216

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

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 CentOS6, shell y entornos de escritorio KDE, Gnome y aplicaciones. La seguridad de la red TCP/IP se deja para un curso posterior.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

Red de Contenidos

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

UNIDAD

1
INTRODUCCIN LIBRE
TEMA Aspectos Generales GNU/Linux

AL

SOFTWARE

OBJETIVOS ESPECFICOS Conocer las caractersticas GNU/Linux Conocer las claves del xitos del software libre Identificar los tipos de particiones LINUX

CONTENIDOS GNU/LINUX Sistema Operativo Distribuciones Software Libre Claves del xito de Software Libre Escritorios Graficos en Linux Requerimientos del Sistema El Estandar de jerarquia de archivos (FHS) Particiones recomendadas para instalar CentOS

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

10

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

11

1.1. INTRODUCCION AL SISTEMA OPERATIVO LINUX


1.1.1. GNU/Linux
Linux es un sistema operativo tipo Unix que se distribuye bajo Licencia GPL. Es un sistema operativo idneo para utilizar en redes, como es el caso de servidores, estaciones de trabajo, y tambin para computadores personales 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.

GNU/LINUX = KERNEL + SHELL + APLICACIONES

GNU/Linux, es equipamiento lgico libre o software libre. Esto significa que el usuario tiene la libertad de redistribuir y modificar de acuerdo a necesidades, siempre que se incluya el cdigo fuente. Licencia GPL, la Licencia Pblica General de GNU o ms conocida por su acrnimo en ingls (General Public License), esta es una licencia creada por la Free Software. Est orientada principalmente a proteger la libre distribucin, modificacin y uso de software.. Pretende garantizar su libertad de compartir y modificar el software "libre", esto es para asegurar que el software es libre para todos sus usuarios. Algunos otros programas de software de la Free Software Foundation estn cubiertos por la "LGPL (Licencia pblica general reducida), la cual puede aplicar a sus programas tambin. Copyleft, el copyleft se practica al ejercer el derecho de autor que consiste en permitir la libre distribucin de copias y versiones modificadas de una obra u otro trabajo, exigiendo que los mismos derechos sean preservados en las versiones modificadas.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

12

1.1.2 Sistema Operativo


Un sistema operativo (SO) es aquel programa o software encargado de administrar y gestionar los recursos disponibles de un ordenador a nivel de hardware y proporciona el correcto ambiente para que el usuario pueda ejecutar programas. Su funcin principal es la de darnos las herramientas necesarias para poder controlar nuestra computadora y poder hacer uso de ella. No son de uso exclusivo de las computadoras sino que tambin se utilizan para poder controlar e interaccionar con los telfonos celulares, tablets, routers, reproductores de DVD, consolas de videojuegos, smart card, cajeros ATM, etc.

S.O. = intermediario entre los recursos HW, el usuario y las aplicaciones.


Funciones Principales: Administracin del procesador: el sistema operativo proporciona los recursos necesarios del procesador entre las aplicaciones ejecutadas para que estas se ejecuten correctamente mediante un algoritmo de programacin. Gestin de la memoria: al igual que en el anterior punto, el sistema operativo se encarga de gestionar la memoria ram disponible en nuestra computadora para que las aplicaciones puedan ser ejecutadas. Gestin de operaciones de entradas y salidas (inputs/outputs): el sistema operativo permite administrar los perifricos a travs de los drivers. Gestin de Aplicaciones: el sistema operativo como ya lo mencionamos asigna los recursos necesarios para que estas se ejecuten correctamente, ademas permite matar los procesos necesarios si en el algn momento una aplicacin falla. Administracin de autorizaciones: el sistema operativo se encarga de gestionar y administrar las autorizaciones garantizando que solo los usuarios y las aplicaciones que tienen la autorizacin puedan ejecutarlas. Gestin de archivos: el sistema operativo gestiona la lectura y escritura en el sistema de archivos, y las autorizaciones de acceso a archivos de aplicaciones y usuarios. Administracin de utilerias y soporte: el sistema operativo proporciona informacin con algunos indicadores que pueden ser utilizados para diagnosticar el funcionamiento correcto del equipo.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

13

1.1.3 Distribuciones
Una distribucin GNU/Linux (coloquialmente llamada distro) es una distribucin de software basada en el ncleo Linux que incluye determinados paquetes de software para satisfacer las necesidades de un grupo especfico de usuarios, dando as origen a ediciones domsticas, empresariales y para servidores. Por lo general estn compuestas, total o mayoritariamente, de software libre, aunque a menudo incorporan aplicaciones o controladores propietarios. Distros ms importantes del mundo GNU/Linux

a) Componentes El conjunto tpico de una distribucin Linux contiene un ncleo, herramientas y bibliotecas, software adicional, documentacin, un sistema de ventanas, un administrador de ventanas y un entorno de escritorio, este suele ser GNOME o KDE. Gran parte del software incluido es de fuente abierta o software libre y distribuido por sus desarrolladores tanto en binario compilado como en forma de cdigo fuente, permitiendo a sus usuarios modificar o compilar el cdigo fuente original si lo desean. Muchas distribuciones incorporan software privativo, no disponible en forma de cdigo fuente. b) Distribuciones independientes como Gentoo Linux, T2 y Linux From Scratch proveen el cdigo fuente de todo el software y solo incluyen los binarios del ncleo, herramientas de compilacin y de un instalador; el instalador compila todo el software para el CPU especfico de la PC del usuario. c) Gestin de paquetes Las distribuciones estn divididas en paquetes. Cada paquete contiene una aplicacin especfica o un servicio. Ejemplos de paquetes son una biblioteca para manejar el formato de imagen PNG, una coleccin de tipografas o un navegador web. El paquete es generalmente distribuido en su versin compilada y la instalacin y desinstalacin de los paquetes es controlada por un sistema de gestin de paquetes en lugar de un simple gestor de archivos. Cada paquete elaborado para ese sistema de paquetes contiene meta-informacin tal como fecha de creacin, descripcin del paquete y sus dependencias. El sistema de paquetes analiza esta informacin para permitir la bsqueda de paquetes, actualizar las libreras y aplicaciones instaladas, revisar que todas las dependencias se cumplan y obtenerlas si no se cuenta con ellas de manera automtica. d) Sistemas de paquetes ms usados son: RPM, creado por Red Hat y usado por un gran nmero de distribuciones de Linux, es el formato de paquetes del Linux Standard Base. Originalmente introducido por Red Hat, pero ahora se usa en muchas distribuciones, como por ejemplo Mandriva.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

14

Deb, paquetes Debian, originalmente introducidos por Debian, pero tambin utilizados por otros como Knoppix y Ubuntu. .tgz, usado por Slackware, empaqueta el software usando tar y gzip. Pero, adems, hay algunas herramientas de ms alto nivel para tratar con este formato: slapt-get, slackpkg y swaret. Ebuilds, archivo que contiene informacin acerca de cmo obtener, compilar e instalar un paquete en el sistema Portage de Gentoo Linux con el comando emerge. Generalmente, estas instalaciones se basan en la compilacin de fuentes, aunque algunos paquetes binarios se pueden instalar de esta manera. Pacman, para Arch Linux, usa binarios precompilados distribuidos en un fichero .pkg.tar.gz .pkg.tar.xz. PET, utilizado por Puppy Linux, sus derivados y Quirky, su proyecto hermano.

1.1.4 Software Libre


El software libre ha dejado de ser, exclusivamente, un proceso de desarrollo de software a ser una filosofa. Para comprender este paso debemos relacionar el software libre con el concepto de LIBERTAD y COOPERACIN. Las libertades se traducen en una serie de derechos que todas las personas tenemos sobre el software libre. Cuatro libertades de los usuarios del software libre: 1. La libertad de usar el programa, con cualquier propsito 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 La palabra que dificulta comprender qu es el software libre, es el precio. Un software privado puede ser gratis y un software libre puede tener un coste; aunque lo comn es que el software privado tenga un coste (por ejemplo el Microsoft Office) y un software libre no lo tenga (por ejemplo el Libre Office). Diferencia entre Software Libre y Open Source Software Libre se centra en el concepto de las libertades otorgadas a quienes reciben el programa. Open Source se centra en la mayor eficiencia del proceso productivo y en beneficio al desarrollador.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

15

1.1.5 Claves de xito del Software Libre


Hay que analizarlo desde diversos puntos de vista. a) Desde el punto de vista de lo programadores. Programar en software libre exige unos conocimientos informticos similares a la programacin de cualquier sistema propietario. La diferencia est en que un software libre que tenga aceptacin, est continuamente mejorndose por los propios usuarios; si el software tiene mucho xito, como el caso del moodle en entornos de formacin, entonces muchas personas solicitarn que los cambios realizados en el software sean distribuidos de forma oficial para todo el mundo. Esta situacin hace que los creadores del software tengan que elegir entre cientos de mejoras. Por otra parte, al software libre se puede adaptar a cada organizacin; por tanto es ms fcil a un programador modificar un software libre que crear una nueva aplicacin para su organizacin. b) Desde el punto de vista institucional y social. El software trabaja con informacin y la informacin es estratgica para las organizaciones. Si el software es propietario dependes de las condiciones que imponga esa empresa para utilizar el software; si esas condiciones no te gustan tendrs que utilizar otro software, pero antes tendrs que valorar el coste de cambiar toda la informacin al nuevo software. Si la empresa que propietaria del software es un monopolio, la situacin es de total dependencia de los propietarios del software; es decir, la informacin de tu organizacin estara en manos de la empresa del software. Precisamente el software libre evita esa dependencia del software, ya que el software es tuyo, puedes cambiarlo, modificarlo, etc. Aunque el software seguir siendo libre la informacin continua estando en manos de la organizacin. Son muchas las organizaciones (Administraciones locales, regionales y naciones, instituciones pblicas, empresas, universidades,) que han decidido que solo utilizaran software libre. c) Desde el punto de vista de las empresas de servicios. Una empresa de servicio ofrece un servicio informtico, pero no tiene por que ser la propietaria del software. Para las empresas de servicio la oportunidad del softw libre es que no tienen costes de licencias. Este tipo de empresas no cobran el software pero si cobran el servicio (instalacin, mantenimiento, atencin a los usuarios, formacin, ). Estas empresas deben conocer las distintas aplicaciones de software libre que existen en el mundo que sirvan para dar el servicio que ofrecen. d) Desde el punto de vista del usuario individual. Un estudiante o una persona que desee tener en su ordenador una serie de programas (ofimtica, reproductores, organizadores y cualquier otro tipo de programa) tendra que gastarse una cantidad de dinero considerable (a veces muy alta). Cuando no se tiene ese dinero, o no se desea gastarlo, se suele recurrir a las copias piratas. Est copias son fcilmente accesibles, pero lo cierto es que se est cometiendo un delito. El software libre es igual o mejor que otro software propietario, as pues, podemos tener de forma legal todo tipo de aplicaciones. Adems usando software libre favorecemos que cada vez ms personas contribuyan a mejorar el software existente

1.1.6 Escritorio Grfico GNU/Linux


El escritorio es el entorno visual que se encarga de interactuar entre el kernel de Linux y los programas, siendo vital para el usuario. Cuando te instales el sistema operativo, este te vendr con un escritorio preinstalado, pero posteriormente puedes instalar t otro distinto y elegir qu escritorio quieres usar cada vez en el men de inicio de sesin. Segn el

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

16

ordenador que tengas y el uso que le quieras dar te convendr usar un escritorio determinado.

KDE (KDesktop Environment) se trata de un entorno de escritorio creado en 1996 por Mathias Ettrich para diferentes versiones del sistema UNIX. El objetivo al crear este entorno fue el tener algo que permitiese a los usuarios no solo mirar lneas de ordenes e interactuar de forma grfica con todos los componentes del sistema. De la misma manera, se pretenda que esta, fuera una herramienta fcil de usar. Se basa en el la biblioteca grfica Qt y actualmente est traducido en ms de 108 idiomas. Este entorno se basa en la personalizacin, y de la misma manera que GNOME prcticamente cualquier aspecto puede ser configurado por el usuario de la manera que l quiera. Actualmente la ltima versin estable es la 4.7 y tiene como elemento central en su diseo a Plasma. Esta herramienta se crea con el objetivo de combinar el panel Kicker, KDesktop y el gestor de widgets, en un nico elemento. Este es un escritorio diseado adems para ser bonito y eso conlleva que tenga mayor consumo de recursos que GNOME. Tambin es cierto que el mayor consumo de recursos no es exagerado, aunque si sensiblemente superior siendo ms pronunciado en la carga del escritorio. Donde ms evidente se nota esta diferencia es en equipos con los recursos ms ajustados. KDE es posiblemente el mejor escritorio para Linux, o al menos el ms completo. En contraposicin a Gnome, KDE est enfocado a que lo puedas personalizar lo mximo posible, con infinidad de opciones para su configuracin. La ultima versin del escritorio, KDE 4, es especialmente llamativa ya que incluye un aspecto visual sorprendente, integra sus propios efectos visuales (o sea, que no hay necesidad de usar Compiz), incluye un

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

17

completo sistema de widgets para el escritorio, un navegador de archivos que permite realizar casi cualquier cosa y un panel de control completsimo.

Ofrece infinidad de posibilidades y es completamente personalizable a tu estilo. Algunas distribuciones que incluyen KDE son: Kubuntu, Mepis, Debian, Fedora, Mandriva, openSuse, Slackware, Xandros. En otras distribuciones como Ubuntu, puedes instalar KDE desde el Software Center marcando "Kubuntu Plasma Desktop system", o tambin se puede hacer lo mismo abriendo un gestor de paquetes (por ejemplo, Synaptic) e instalando el paquete "KDE Plasma Desktop". Despus de instalado, para usarlo slo tienes que iniciar sesin marcando KDE como escritorio predeterminado al elegir la cuenta de usuario. Una curiosidad: KDE significa K Desktop Environment, y la K no significa nada, simplemente escogieron esa letra porque era la anterior a la L de Linux

KDE
GNOME Este entorno de escritorio es uno de los ms conocidos que no solo est presente en Linux. Tambin se puede encontrar en otros sistemas Unix como BSD y Solaris. Gnome (GNU Network Object Model Environment) tuvo su origen en los mejicanos Miguel de Icaza y Federico Mena en 1999, estando traducido actualmente en ms de 166 idiomas. El objetivo de este entorno es crear un sistema de escritorio para el usuario final que sea completo, libre y fcil de usar. Usa las bibliotecas grficas GTK y est bajo licencia GPL. Una caracterstica bastante til aunque comn a prcticamente cualquier entorno, es el poder usar varios espacios de trabajo, cada uno con un escritorio independiente de los dems. El hecho de pasar aplicaciones entre escritorios es tan simple como arrastrar con el ratn la ventana de dicha aplicacin a otro escritorio.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

18

Gnome clsico viene instalado o permite ser instalado fcilmente en muchas distribuciones Linux, como por ejemplo Ubuntu, Gentoo o gOS. Otras distribuciones optan por dejarte elegir qu escritorio quieres usar (generalmente KDE o Gnome), por ejemplo Debian, Mandriva, openSuse, Foresight o Fedora. Gnome se actualiz a su versin 3.0 teniendo numerosos cambios, aunque el cambio que ha destacado sobre el resto, es la inclusin de GNOME Shell, en detrimento del GNOME Panel. Esto ha creado bastante controversia ya que los usuarios no pueden utilizar Compiz mientras GNOME Shell se est ejecutando. Nada ms instalarlo tendremos arriba a la izquierda el men principal que nos dar acceso a las Aplicaciones instaladas, a Lugares comunes (carpeta de usuario, red, papelera, discos duros, documentos recientes, buscar archivos...) y por ltimo aparece el men Sistema, con las opciones de configuracin, personalizacin y apagado del equipo. De forma predeterminada aparecen 2 paneles (o barras) en el escritorio, uno abajo con la lista de ventanas abiertas y los escritorios virtuales y otro panel arriba con los mens, accesos directos, reloj e iconos del sistema.

UNITY Unity es un entorno de escritorio desarrollado en Junio de 2010 por Canonical para Ubuntu. Su primer lanzamiento se pudo ver en la versin 10.10 de Ubuntu Netbook Remix, con el objetivo de optimizar el espacio de las pantallas de los netbooks. Despus de esto, en octubre de ese mismo ao, se anunci que Unity se utilizara en la versin de escritorio de Ubuntu. Los elementos que tiene Unity son un lanzador a la izquierda que sirve como lugar donde se encuentran los accesos directos de las aplicaciones, un contenido central llamado Lugares que muestra todos los archivos y aplicaciones de usuario, adems de ofrecer un buscador de categoras y aplicaciones. Y ya lo hemos visto con el lanzamiento de Ubuntu 11.04 como el escritorio por defecto era este, creando bastante descontento entre buena parte de los usuarios de Ubuntu. No en vano circulan numerosos tutoriales en la red que ayudan a quitar este entorno y volver al antiguo GNOME.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

19

Unity
XFCE Este es un entorno de escritorio muy ligero para sistemas Unix. Segn palabras de su creador Olivier Fourdan, XFCE (XForms Common Environment) est diseado para la productividad, las apliacciones se cargan y se ejecutan rpidamente, mientras se conserva recursos del sistema. Creado en 1996, est basado en la biblioteca GTK y utiliza el gestor de ventanas Xfwm. XFCE es un entorno muy ligero, y resulta ideal para equipos como menos recursos ya que el no ser un entorno visualmente tan potente como pueden ser los anteriores, hace que no consuma tantos recursos. Tambin hay que apuntar que el no ser tan potente visualmente no le impide que pueda ser muy personalizable, pudiendo cambiar temas de ventana, fondos de escritorio, protectores de pantalla, tipos de letras o cualquier aspecto visual del mismo.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

20

XFCE
LXDE De la misma manera que los anteriores, este entorno est disponible para varios sistemas Unix. LXDE (Lightweight X11 Desktop Environment) pretende ser como su propio nombre indica un entorno de escritorio X11 ligero. Utiliza Openbox como gestor de ventanas predeterminado. Los componentes de LXDE son independientes, a diferencia de otros entornos de escritorio, lo que hace que tengan muy pocas dependencias. Y como entorno ligero que es, est diseado especialmente para equipos con escasos recursos como netbooks o ordenadores antiguos.

LXDE
Cul es el mejor Escritorio GNU/Linux? Dentro de lo subjetiva que pueda ser la respuesta, hay que tener en cuenta algo fundamental como son los recursos del equipo. Por lo que si tenemos un equipo antiguo o queremos instalar alguna distribucin de Linux en una mquina virtual en la cual no queremos cederle demasiados recursos, lo ideal sera buscar entornos ligeros como puede ser el caso de XFCE o LXDE. En caso contrario que tengamos un equipo sin tantas lmitaciones, y queramos permitirnos algn lujo visual podemos pasar a otra categora entornos como GNOME o KDE. En el primer caso de XFCE o LXDE, se puede decir que ambos tienen una buena integracin con GTK diferencindose en el gestor de ventanas. Hay gente que dice que Openbox (gestor de ventanas de LXDE), es algo ms ligero que Xfwm (el de XFCE), pero yo no he notado ninguna diferencia. Visualmente LXDE es ms bonito, pero como opinin personal, cada uno tiene la suya y habr gente que le guste ms el aspecto de XFCE. En el segundo caso el elegir uno u otro es influido casi dira que por sensaciones personales. Me explico. Cuando empec en Linux har unos 7 aos, fue porque un amigo me dej una versin de Mandrake (que posteriormente pas a llamarse Mandriva). Ah tuve mi primer contacto con KDE y el hecho de acostumbrarme a l, hizo que despus en el resto de distribuciones que prob (Debian, Suse, Fedora y Kubuntu) estuviera presente KDE. Me pareca mucho ms chulo que el soseras de
CARRERA DE REDES Y COMUNICACIONES CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

21

1.1.7 Requerimientos del sistema


Se debe contar con la suficiente cantidad de memoria y un microprocesador en buen estado. Con casi cualquier distribucion comercial de Linux, el ambiente grafico necesitara al menos 640 MB RAM y 1 GB de espacio libre en disco duro para la instalacion minima. Para contar con una cantidad minima de aplicaciones, se requieren al menos 2 GB adicionales de espacio libre en disco duro, repartido en al menos 3 particiones. Se recomienda como minimo unmicroprocesador i686 a 1 GHz. Sin ambiente grafico, como es el caso de un servi dor o bien solamente aplicaciones para modo de texto, se requieren al menos 384 MB RAM y un microprocesador i686 a 500 MHz seran suficientes. El servidor de video puede funcionar con solo 128 MB RAM; pero su desempeno ser extremadamente lento. Algunas aplicaciones para modo grafico pueden necesitar escalar 256MB, 512 MB o 1 GB de RAM adicional. El minimo recomendado para utilizar GNOME 2.x es de 384MB RAM; se recomiendan 512 MB. El ptimo es de 1 GB RAM. Si desea instalar Linux en una computadora personal con las suficientes aplicaciones para ser totalmente funcional y productivo y contar con el espacio necesario para instalar herramientas de oficina (OpenOffice.org), se recomienda contar con al menos 4 GB de espacio libre en disco, al menos 512 MB RAM y un microprocesador i686, a cuando menos 1 GHz. El instalador en modo texto de CentOS 6 y Red Hat Enterprise Linux 6 requiere al menos 384 MB RAM., mientras que el instalador en modo grafico de estos requeire al menos 640 MB RAM.

1.1.8 El Estandar de Jerarquia de Archivos (FHS)


Define los principales directorios y sus contenidos en GNU/Linux y otros sistemas operativos similares a Unix. En agosto de 1993 inicio el proceso para desarrollar un estandar de sistema de archivos jerarquico, como un esfuerzo para reorganizar la estructuras de archivos y directorios de GNU/Linux. El 14 de Febrero de 1994 se publico el FSSTND (Filesystem Standard), un estndar de jerarquia de archivos especifico para GNU/Linux. Revisiones de este se publicaron el 9 de Octubre de 1994 y el 28 de Marzo de 1995. A principios de 1996, con la ayuda de miembros de la comunidad de desarrolladores de BSD, se fij como objetivo el desarrollar una version de FSSTND ms detallada y dirigida no solo hacia Linux sino tambien hacia otros sistemas operativos similares a Unix. Como uno de los resultados el estandar cambio de nombre a FHS o Filesystem Hierarchy Standard. El FHS es mantenido por Free Standards Group, una organizacion sin fines de lucro constituida por companias que manufacturan sustento fisico (Hardware) y equipamiento logico (Software) como Hewlett Packard, Dell, IBM y Red Hat. La mayoria de las distribuciones de Linux, inclusive las que forman parte de Free Software Standards, sin aplicar de forma estricta el estandar.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

22

Estructura de Directorios
Todos los archivos y directorios aparecen debajo del directorio raiz /, aun si estan almacenados en dispositivos fisicamente diferentes

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

23

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

24

1.1.9 Particiones recomendadas para instalar CentOS


Para uso general, se recomienda utilizar un diseno de tres particiones:

Los siguientes directorios jamas deberan estar fuera de la particion a / /etc /bin /deb /lib y /lib64 /media /mnt /proc /root

/sbin

/sys

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

25

Autoevaluacin
Qu representa la simbologa GNU/Linux?

Establece cinco diferencias entre Software Libre y Open Source? Que otros tipos de licencias existen en software libre y open source Debate. Crees que es necesario poner restricciones al software libre?, Por qu? Mencionar Sistemas Operativos para aplicaciones mviles e industriales Cuales son las otras Distribuciones posicionadas GNU/Linux

Claves del xito de Software Libre Cual es el mejor Escritorios Graficos en Linux para equipos de recursos limitados y equipos de ptimos rendimiento Son las Particiones recomendadas para instalar CentOS Mencionar los siguientes Sistemas Operativos Representativos y donde tienen mejor aplicacin como usuario final.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

26

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

27

UNIDAD

2
COMANDOS BSICOS Y CONFIGURACIN DE RED
TEMA Conocer los comandos bsicos para el manejo de Linux

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

CARRERA DE REDES Y COMUNICACIONES

28

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

29

2.1. INFORMACIN DEL SISTEMA


A continuacion daremos una serie de comandos utiles para conocer aspectos generales del sistema

2.1.1 Arch
Este comando sirve para mostrarnos la arquitectura del procesador de nuestro sistema:

2.1.2 uname [parametros]


La funcin de este comando es similar al anterior, la nica diferencia es que este nos arroja ms informacin del sistema de acuerdo al nmero de parmetros que le pasemos.Los parmetros que podemos usar son: -a: Imprime el nombre kernel, del equipo, version del kernel, fecha en que fue apagado el sistema por ultima vez, arquitectura del sistema - s: Imprime el nombre del kernel - n: Imprime el nombre del equipo - r: Imprimeversion del kernel - i o p: Imprime la arquitectura del equipo - o:.Imprime el nombre del sistema operativo Ejemplo:

2.1.3 /proc/cpuinfo
Nos muestra la informacion referente al procesador del sistema Ejemplo:

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

30

2.1.4 /proc/meminfo
Verifica el uso de la memoria Ejemplo:

2.1.5 /proc/swaps
Nos muestra el uso del espacio en memoria SWAP Ejemplo:

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

31

2.1.6 /proc/mounts
Nos muestra los sistemas de ficheros que se encuentran montados Ejemplo:

2.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] Ejemplo:

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

32

2.1.8 w Nos indica los usuarios que se encuentran en el sistema asi como lo que hacen en el Ejemplo:

2.1.9 df h
Nos reporta el uso de espacio en los discos duros Ejemplo

2.1.10

ps xa

Este comando lista los procesos que se estan ejecutando en el sistema

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

33

2.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

2.1.12 touch
Sirve para generar archivos sin contenido Ejemplo

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

34

2.1.13 cd
Comando que nos permite movernos entre directorios, su sintaxis es: cd [carpeta donde quiero moverme] Ejemplo:

para regresar un nivel entre directorios es:

2.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

Ejemplo 2: Copiando una carpeta a otra carpeta

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

35

2.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 Ejemplo 1: Moviendo un archivo a una carpeta

Ejemplo 2: Moviendo un archivo a una carpeta

2.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 Ejemplo 1:

Ejemplo2:

2.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

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

36

-a: Muestra los archivos o carpetas ocultas Ejemplo:

2.1.18 find
Busca archivos en una ruta especifica, su sintaxis es find [ruta] [expresion] Ejemplo1. Buscar archivos y carpetas con el nombre archivo.txt en todo el directorio Raiz

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

37

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

2.1.19 updatedb
Este comando sirve para actualizar la base de datos de nuestro sistema

2.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:

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

38

Ejemplo1. Montando un DVD

Ejemplo 2. Montando en CD

Ejemplo 3. Montando un floppy drive

Ejemplo 4.Montando una imagen ISO

Ejemplo 5.Montando un sistema de ficheros de Windows

Ejemplo 6.Montando un sistema de ficheros de Linux

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

39

2.2. COMPRESION DE ARCHIVOS


2.2.1 Tar
El comando tar es utilizado normalmente para empaquetar o desempaquetar archivos. La sintaxis para el buen uso de este comando es: [root@localhost ~]# tar [parametros] [fichero1] [fichero2] Los parametros son: -c: Crea un fichero tar -v: Muestra el estado del borrado -x: Extrae los archivos (descomprime los ficheros que se encuentran dentro del archivo tar) -z: Comprime el archivo tar con gzip -j: Comprime el archivo tar bzip -f: Al usar el parametro -c junto con este parametro se especifica que se utilizara el nombre del archivo especificado para la creacion del archivo tar Ejemplo 1.Empaquetar un archivo con TAR

Ejemplo 2.Desempaquetar ficheros TAR

Ejemplo 3.Comprimir una carpeta con TAR.GZ

Ejemplo4.Descomprimir una carpeta TAR.GZ

Ejemplo 5.Comprimir una carpeta con TAR.BZ

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

40

Ejemplo 6.Descomprimir una carpeta TAR.BZ

2.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

Ejemplo 2.Descomprimiendo un archivo ZIP

2.2.3. Configuracion de interfaces de red


La configuracin de la interfaz es importante en un servidor o equipo de escritorio. Los principales archivos de configuracin son: Este archivo de configuracin contiene los nombres de equipos dentro de una red local y se utilizar para resolver su nombre cuando no se tiene un servidor de DNS en la red local, tambin este archivo define la direccin de loopback que representa al propio equipo independientemente de la direccin IP que se le haya asignado Este archivo especifica las direcciones IP de los servidores DNS Este archivo de configuracin es utilizado para definir las caractersticas de red deseadas Estos archivos de configuracin son utilizados para especificar la configuracin de la tarjeta de red

/etc/hosts

/etc/resolv.conf

/etc/sysconfig/network /etc/sysconfig/networkscripts/ ifcfg<interfaz>

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

41

2.2.4 Configuracion del archivo /etc/hosts


Este archivo de texto asocia las direcciones IP con el nombre del equipo (hostname). Este archivo debe tener la siguiente forma: Direccion IP nombre.del.equipo Las modificaciones realizadas en este inmediatamente. alias archivo

de

configuracin

son

reflejadas

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

2.2.5 Configuracion del archivo /etc/resolv.conf


Este archivo de configuracin contiene las direcciones IP de los servidores DNS. 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

nameserver domain search sortlist

2.2.6 Configuracion del archivo /etc/resolv.conf


Los parmetros que utiliza este este archivo son: NETWORKING Los valores que admites son: yes Permite la configuracin de los servicio de red. no No permite la configuracin de los servicio de red. Habilita el reenvo de paquetes. Los valores que admite son yes o no. Define el nombre del equipo, el cual debe de tener la forma del Fully Qualified Domain Name (FQDN). Por ejemplo: equipo.ejemplo.net Este parametro define la direccin IP del Gateway

FORWARD_IPV4

HOSTNAME

GATEWAY

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

42

2.2.7 Configuracin de la interfaz de red


El directorio de configuracin de la interfaz de red se encuentra en: /etc/sysconfig/networkscripts/ Dentro de este directorio se encuentran los archivos de configuracin de los dispositivos, dependiendo del nmero de interfaces de red instaladas en la computadora ser el nmero de archivos de configuracin, el nombre de estos archivos depende del tipo de dispositivo ifcfgeth0,ifcfgeth1, ..., ifcfgethN. Ethernet ifcfgwlan0, ifcfgwlan1,..., IfcfgwlanN. WiFi ifcfgppp0, ifcfgppp1, ..., ifcfgpppN. Modem en donde N representa el numero de interfaz a configurar. Los parmetros que admiten los archivos de configuracin de la interfaz de red Ethernet son los siguientes:

DEVICE BOOTPROTO

Define el nombre del dispositivo fsico 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 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. 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.

IPADDR NETMASK NETWORK HWADDR GATEWAY ONBOOT DNS1, DNS2 DHCP_HOSTNAME

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

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

43

Autoevaluacin
1. Cul es el comando que te permite conocer la hora del sistema?

(a) cd (b) mkdir (c) date (d) messages


2. Cul es el comando que te permite conocer los usuarios conectados al sistema?

(a) ls (b) cat (c) w (d) tar


3. Cul es el archivo donde se almacena los DNS del sistema?

(a) hosts (b) messages (c) resolv.conf (d) grub.conf

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

44

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

45

UNIDAD

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

CARRERA DE REDES Y COMUNICACIONES

46

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

47

3.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.

3.1.1 Herramientas de administracin de usuarios y grupos


La gestin de usuarios y grupos ha sido tradicionalmente tediosa, pero Linux proporciona algunas herramientas y convenciones que facilitan su gestin.

La forma ms fcil de manejar usuarios y grupos es a travs de la aplicacin grfica, Administrador de usuarios (system-config-users).

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

48

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, eliminar y

modificar cuentas de usuarios.


. groupadd, groupmod y groupdel. Mtodos estndar de la industria para aadir, eliminar

y modificar grupos de usuarios.


. gpasswd. Mtodos estndar de la industria para administrar el archivo /etc/group. . pwck, grpck. Herramientas para la verificacin de contraseas, grupo y archivos shadow

asociados.
. pwconv, pwunconv. Herramientas para la conversin de contraseas a contraseas

shadow (oscurecimiento de contraseas) y de vuelta a contraseas estndar.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

49

3.1.2 Usuarios despus de una instalacin comn


En la tabla siguiente se lista los usuarios estndar configurados en el archivo /etc/passwd para una instalacin. El groupid (GID) en esta tabla es el grupo primario para el usuario. Usuario root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody rpm vcsa dbus ntp canna nscd rpc xfs gdm htt mysql webalizer mailnull smmsp squid ldap netdump pcap radiusd radvd quagga wnn dovecot UID 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 99 37 69 81 38 39 28 32 43 42 100 27 67 47 51 23 55 34 77 95 75 92 49 97 GID 0 1 2 4 7 0 0 0 12 13 14 0 100 30 50 99 37 69 81 38 39 28 32 43 42 101 27 67 47 51 23 55 34 7 95 75 92 49 97 Directorio principal /root /bin /sbin /var/adm /var/spool/lpd /sbin /sbin /sbin /var/spool/mail /etc/news /var/spool/uucp /root /usr/games /var/gopher /var/ftp / /var/lib/rpm /dev / /etc/ntp /var/lib/canna / / /etc/X11/fs /var/gdm /usr/lib/im /var/lib/mysql /var/www/usage /var/spool/mqueue /var/spool/mqueue /var/spool/squid /var/lib/ldap /var/cras /var/arpwatc / / /var/run/quagga /var/lib/wn /usr/libexec/dovecot Shell /bin/bash /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /bin/sync /sbin/shutdown /sbin/halt /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /bin/bash /sbin/nologin /sbin/nologin /sbin/nologin /sbin/nologin /bin/false /bin/bash /sbin/nologin /bin/false /sbin/nologin /sbin/login /sbin/nologin /sbin/nologin

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

50

3.1.3 Grupos despus de una instalacin comun


En la tabla siguiente se lista los grupos estndar configurados por una instalacin. Los grupos son almacenados en el archivo /etc/group. Grupo Root Bin daemon Sys Adm Tty Disk Lp Mem Kmem Wheel Mail News Uucp Man Games Gopher Dip ftp Lock Nobody usuarios Rpm Utmp _oppy Vcsa Dbus Ntp Canna Nscd Rpc postdrop post_x mailman Named postgres Sshd rpcuser nfsnobody Pvm Apache Xfs Gdm Htt Mysql webalizer GID 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15 20 30 40 50 54 99 100 37 22 19 69 81 38 39 28 32 90 89 41 25 26 74 29 65534 24 48 43 42 101 27 67 Miembros root root, bin,daemon root,bin,daemon root,bin,adm Root, adm,daemon root daemon,

root mail,post_x,exim news uucp

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

51

mailnull Smmsp Squid Ldap netdump Pcap quaggavt Quagga Radvd Slocate Wnn dovecot Radiusd

47 51 23 55 34 77 102 92 75 21 49 97 95

3.1.4 Grupos de usuario privado


Linux utiliza un esquema de grupo privado de usuario (UPG), lo que hace ms fcil de manejar los grupos de UNIX. Se crea un UPG siempre que se aade un nuevo usuario al sistema. Un UPG tiene el mismo nombre que el usuario para el cual se crea y ese usuario es el nico miembro de ese UPG. Los UPGs hacen que sea ms seguro configurar los privilegios por defecto para un nuevo archivo o directorio lo que permite a ambos, tanto el usuario como al grupo de ese usuario hacer modificaciones al archivo o directorio. El parmetro que determina qu permisos son aplicados a un nuevo archivo o directorio es llamado un umask y se configura en el archivo /etc/bashrc. Tradicionalmente en sistemas UNIX, el umask es configurado a 022, lo que slo permite al usuario que cre el archivo o directorio realizar modificaciones. Bajo este esquema, todos los dems usuarios incluyendo miembros del grupo del creador no tienen derecho a realizar ninguna modificacin. Sin embargo, bajo el esquema UPG, esta "proteccin de grupo" no es necesaria puesto que cada usuario tiene su propio grupo privado.

3.1.5 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 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.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

52

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

3.1.6 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:

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

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

53

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. -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.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

54

-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:

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. Eliminar una cuenta de usuario. En ocasiones un administrador necesitar eliminar una o ms cuentas de usuario. Este es un procedimiento principalmente utilizado en servidores y estaciones de trabajo a los cuales acceden mltiples usuarios. Para tal fin nos valdremos del mandato userdel. La sintaxis bsica de userdel es la siguiente: userdel nombre_del_usuario

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

55

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:

Manejo de Grupos:
Alta de grupos. groupadd grupo-que-sea

Alta de grupos de sistema.


Un grupo de sistema es aquel que tiene un nmero de identidad de grupo (GID) por debajo del 500. Regularmente se asigna automticamente el nmero de identidad de grupo ms bajo disponible.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

56

Baja de grupos

Asignacin de usuario existente a grupos existentes.

Tambien se pueder agregar o modificar el grupo principal con el siguiente comando

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

57

Autoevaluacin
1. Cuales son los tipos de usuarios que existen en Linux?

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

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

58

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

59

UNIDAD

4
PROCESO LINUX
TEMA Describir el proceso de aranque en Linux, asi como los componetes que intervienen en l. OBETIVOS 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

DE

ARRANQUE

EN

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

60

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

61

4.1

PROCESO DE ARRANQUE, INICIO Y CIERRE DEL SISTEMA

Una de las caractersticas ms importantes y poderosas de Linux es el mtodo abierto y configurable para el inicio del sistema operativo. Los usuarios son libres de configurar muchos aspectos del proceso de arranque, incluyendo qu programas se lanzarn al momento de arranque. De forma parecida, el cierre del sistema finaliza los procesos de forma organizada y configurable, aunque la personalizacin de este proceso casi nunca es necesaria. Entender el funcionamiento del proceso de arranque y cierre no slo le permitir personalizar, sino que tambin le facilitar resolver problemas relacionados con el inicio y el cierre del sistema.

4.1.1. Proceso de arranque


A continuacin obtendr las etapas bsicas del proceso de arranque para un sistema x86: 1. La BIOS del sistema comprueba y lanza la primera etapa del gestor de arranque del MBR del disco duro primario. 2. La primera etapa del gestor de arranque se autocarga en memoria y lanza la segunda etapa del gestor de arranque desde la particin /boot/. 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.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

62

4.2. VISTA DETALLADA DEL PROCESO DE ARRANQUE


El inicio del proceso de arranque vara dependiendo de la plataforma de hardware usada. Sin embargo, una vez que se encuentra el kernel y se carga por el gestor de arranque, el proceso de arranque por defecto es idntico a travs de todas las arquitecturas. Este captulo se basa principalmente en la arquitectura x86.

4.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).

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.

4.2.2. El gestor de arranque


Dependiendo de la arquitectura del sistema, el proceso de arranque diferir Ligeramente. Un gestor de arranque para la plataforma x86 se divide en al menos dos etapas. La primera es un cdigo

binario de mquina pequea en el MBR. Su nica funcin es la de localizar el gestor de


CARRERA DE REDES Y COMUNICACIONES CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

63

arranque de la segunda etapa y cargar la primera parte de ste en memoria.GRUB tiene la ventaja de ser capaz de leer particiones ext2 y ext3 1 y cargar su archivo de configuracin. /boot/grub/grub.conf. al momento de arranque.

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.

4.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 buscar la imagen

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

64

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.

4.2.4. Programa /sbin/init


El programa /sbin/init (tambin llamado init) coordina el resto del proceso de arranque y configura el ambiente del usuario. Cuando el comando init arranca, se vuelve el padre o abuelo de todos los procesos que comienzan automticamente en el sistema. Primero, ejecuta el script /etc/rc.d/rc.sysinit, que establece la ruta del entorno, activa el swap, verifica los sistemas de archivos y se encarga de todo lo que el sistema necesita tener hecho al momento de la inicializacin. Por ejemplo, la mayora de los sistemas usan un reloj, por lo tanto, el rc.sysinit lee el archivo de configuracin para iniciar el hardware del reloj. Otro ejemplo es si hay procesos 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.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

65

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.

4.2.5 Ejecutar programas adicionales en el momento de arranque


El script /etc/rc.d/rc.local lo ejecuta el comando init en tiempo de arranque, o cuando se cambien niveles de ejecucin. El agregar comandos al final de este script es una forma fcil de realizar tareas necesarias como arrancar servicios especiales o inicializar dispositivos sin tener que escribir scripts complejos de inicializacin en el directorio /etc/rc.d/init.d/ y creando enlaces simblicos. Se usa el script /etc/rc.serial si se deben configurar puertos seriales en el momento de arranque. Este script ejecuta los comandos setserial para configurar los puertos seriales del sistema.

4.2.6 Niveles de ejecucin de SysV Init


El sistema de niveles de ejecucin SysV init provee de un proceso estndar para controlar cules programas init lanza o detiene cuando se inicializa un nivel de ejecucin. SysV init fu escogido porque es ms fcil de usar y ms fiexible que el proceso tradicional init estilo BSD. Los ficheros de configuracin para SysV init estn en el directorio /etc/rc.d/. Dentro de este directorio, se encuentran los scripts rc, rc.local, rc.sysinit, y, opcionalmente, los scripts rc.serial as como los siguientes directorios: init.d/ rc0.d/ rc1.d/ rc2.d/ rc3.d/ rc4.d/ rc5.d/ rc6.d/ El directorio init.d/ contiene los scripts usados por el comando /sbin/init cuando se controlan los servicios. Cada uno de los directorios numerados representa los seis niveles de ejecucin predeterminados configurados por defecto bajo Linux.

4.2.7 Niveles de ejecucin


La idea detrs de los niveles de ejecucin de SysV init gira alrededor del hecho que sistemas diferentes se pueden usar de formas diferentes. Por ejemplo, un servidor corre de forma ms eficiente sin el consumo de recursos del sistema excesivo creado por el sistema X. Otras veces, el administrador del sistema puede necesitar operar el sistema en un nivel ms bajo de ejecucin para realizar tareas de diagnstico, como reparar corrupcin del disco duro en el nivel de ejecucin 1. Las caractersticas de un nivel de ejecucin dado determinan qu servicios son detenidos o iniciados por init. Por ejemplo, el nivel de ejecucin 1 (modo usuario nico) detiene cualquier servicio de red, mientras que el nivel 3 arranca estos servicios. Asignando servicios especficos a ser detenidos o iniciados en un nivel dado, init puede fcilmente cambiar el modo de la mquina sin que el usuario tenga que manualmente arrancar o detener servicios.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

66

Los siguientes niveles de ejecucin estn definidos de forma predeterminada para Linux: . 0 . Parar . 1 . Modo texto usuario nico . 2 . Sin usar (usuario-definible) . 3 . Modo texto multiusuario completo . 4 . Sin usar (usuario-definible) . 5 . Modo grfico multiusuario completo (con una pantalla de inicio de sesin basada en X) . 6 . Rearrancar

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.

4.2.8 Utilidades de los niveles de ejecucin


Una de las mejores formas de configurar los niveles de ejecucin es usando la utilidad initscript.Estas herramientas estn diseadas para simplificar las tareas de mantener archivos en la jerarqua del directorio SysV init y descargan a los administradores de sistemas de tener que directamente manipular numerosos enlaces simblicos en los subdirectorios de /etc/rc.d/. Linux ofrece tres de tales utilidades: . /sbin/chkconfig . La utilidad /sbin/chkconfig es una herramienta de lnea de comandos

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

67

sencilla para mantener la jerarqua del directorio /etc/rc.d/init.d. . /sbin/ntsysv.La utilidad basada en ncurses /sbin/ntsysv provee de una interfaz interactiva basada en texto, que muchos encuentran ms fcil de usar que chkconfig. . Herramienta de configuracin de servicios . El programa de interfaz grfica Herramienta de configuracin de servicios (system-config-services) es una utilidad fiexible para la configuracin de niveles de ejecucin.

4.2.9 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.

4.2.10 El gestor de arranque GRUB


Cuando se enciende un equipo con Red Hat Enterprise Linux, el sistema operativo es cargado en memoria por un programa especial llamado gestor de arranque. Un programa gestor de arranque existe en el disco duro primario del sistema (o en otros dispositivos) y es responsable de la carga del kernel de Linux con sus archivos necesarios o (en algunos casos) de otros sistemas operativos en la memoria.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

68

a) Gestores de arranque y arquitectura del sistema


Cada arquitectura de sistemas que pueda ejecutar Red Hat Enterprise Linux usa un gestor de arranque diferente. La lista siguiente muestra los gestores de arranque disponibles para cada arquitectura. Arquitectura Gestores de arranque AMD AMD64 GRUB IBM eServer. iSeries. OS/400 IBM eServer. pSeries. YABOOT IBM S/390 z/IPL IBM eServer. zSeries z/IPL Intel Itanium. ELILO x86 GRUB

Este captulo explica comandos y opciones de configuracin para el gestor de arranque GRUB suministrado con Linux para la arquitectura x86.

b) 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.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

69

c) Proceso de arranque en un sistema x86 y GRUB


Esta seccin explica con ms detalle el papel especfico que desempea GRUB al arrancar un sistema x86. Para hacerse una idea del proceso de arranque, GRUB se carga asimismo en la memoria en las diferentes etapas: 1. La etapa 1 o cargador de arranque primario se lee en la memoria por el BIOS desde el MBR1.El gestor de arranque primario existe en menos de 512 bytes de espacio en disco dentro del MBR y es capaz de cargar bien sea la etapa 1.5 o la etapa 2 del gestor de arranque. La Etapa 1 del gestor de arranque se lee en la memoria por el gestor de arranque de la Etapa 1, si es necesario. Determinados hardware requieren un paso intermedio para pasar a la Etapa 2 del gestor de arranque. Esto sucede a menudo cuando la particin /boot/ est por encima del cilindro 1024 del disco duro o cuando se usa el modo LBA. La Etapa 1.5 del gestor de arranque se encuentra en la particin /boot/ o en una pequea parte del MBR y la particin /boot/. La Etapa 2 o el gestor de arranque secundario se lee en la memoria. El gestor de arranque secundario visualiza el men GRUB y el entorno de comandos. Esta interfaz le permite seleccionar qu sistema operativo o kernel arrancar, pasar argumentos al kernel o ver los parmetros del sistema. El gestor de arranque secundario lee el sistema operativo o el kernel as como tambin los contenidos de /boot/sysroot/ en memoria. Una vez que GRUB determina qu sistema operativo iniciar, ste lo carga en la memoria y transfiere el control de la mquina a dicho sistema operativo.

2.

3.

4.

El mtodo usado para arrancar Linux se conoce como mtodo de carga directa porque el gestor de arranque carga el sistema operativo directamente. No existe un intermediario entre el gestor de arranque y el kernel. El proceso de arranque usado por otros sistemas operativos puede variar. Por ejemplo, los sistemas operativos de Microsoft Windows, as como otros sistemas operativos, se cargan mediante un mtodo de arranque de carga encadenada. Bajo este mtodo, el MBR seala el primer sector de la particin que tiene el sistema operativo. All encuentra los archivos necesarios para arrancar el sistema operativo. GRUB soporta ambos mtodos de arranque, directo y de carga encadenada, permitiendo arrancar desde casi cualquier sistema operativo.

d) Funciones de GRUB
GRUB contiene una serie de funciones que lo convierten en el mtodo favorito respecto al resto de gestores de arranque disponibles para la arquitectura x86. A continuacin tiene una lista de las caractersticas ms importantes: . GRUB proporciona un verdadero entorno basado en comandos, pre-sistema operativo, para las mquinas x86. Esta funcionalidad le otorga al usuario una gran flexibilidad en la carga de sistemas operativos con opciones especficas o con la recopilacin de informacin sobre el sistema. Durante muchos aos, las arquitecturas diferentes a x86 han usado entornos previos al sistema operativo que permiten arrancar el sistema desde una lnea de comandos.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

70

. GRUB soporta el modo Direccionamiento Lgico de Bloques (LBA). El modo LBA coloca la conversin de direccionamiento utilizada para buscar archivos en la unidad de disco duro del firmware y se utiliza en muchos discos IDE y en todos los discos duros SCSI. Antes de LBA, los gestores de arranque encontraban la limitacin del cilindro 1024 del BIOS, donde el BIOS no poda encontrar un archivo despus de ese cabezal de cilindro del disco. El soporte LBA permite que GRUB arranque los sistemas operativos desde las particiones ms all del lmite de 1024 cilindros, siempre y cuando el BIOS del sistema soporte el modo LBA. La mayora de las revisiones ms modernas de la BIOS soportan el modo LBA.. GRUB puede leer las particiones ext2. Esto permite que GRUB acceda a su archivo de configuracin, /boot/grub/grub.conf, cada vez que el sistema arranca, eliminando la necesidad que tiene el usuario de escribir una nueva versin de la primera etapa del gestor de arranque al MBR en caso de que se produzcan cambios de la configuracin. El nico caso en el que el usuario necesitara reinstalar GRUB en el MBR es en caso de que la localizacin fsica de la particin /boot/ se traslade en el disco. e) Instalacin de GRUB
Si no instal GRUB durante el proceso de instalacin, se puede hacer despus. Una vez instalado, se convierte en el gestor de arranque por defecto. Antes de instalar GRUB, debera asegurarse de que cuenta con el ltimo paquete disponible de GRUB desde los CDROMs de instalacin. Una vez que el paquete GRUB est instalado, abra un intrprete de comandos de la shell y ejecute el comando /sbin/grub-install <ubicacin> donde <ubicacin> es la ubicacin en la que la Etapa 1 de GRUB debera ser instalado. Por ejemplo, el comando siguiente instala GRUB al MBR del dispositivo maestro IDE en el bus IDE primario: /sbin/grub-install /dev/hda La prxima vez que arranque el sistema, el men del gestor de arranque grfico GRUB aparecer antes del que el kernel se cargue en memoria.

f)

Terminologa de GRUB

Una de las cuestiones ms importantes que deben entenderse antes de utilizar GRUB es cmo el programa hace referencia a los dispositivos, por ejemplo, a los discos duros y a las particiones. Esta informacin es muy importante si desea configurar GRUB para arrancar varios sistemas operativos.

g) Nombres de dispositivos
Cuando se refiera a un dispositivo especfico con GRUB, haga esto usando el formato siguiente (observe que los parntesis y las comas son muy importantes en la sintaxis): (<tipo-de-dispositivo> <numero-dispositivo-bios> , <numero-particion> ) El <tipo-de-dispositivo> especifica el tipo de dispositivo desde el cual inicia GRUB. Las dos opciones ms comunes son hd para un disco duro o fd para un disquete de 3.5. Un tipo de dispositivo menos usado tambin est disponible, llamado nd para un disco de la red. El <numero-dispositivo-bios> es el nmero del dispositivo BIOS. El disco duro IDE primario se numera 0 y un disco duro IDE secundario se numera 1. La sintaxis es equivalente a

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

71

aquella utilizada para los dispositivos por el kernel. Por ejemplo, a en hda para el kernel es anlogo a 0 en hd0 para GRUB, b en hdb es anlogo a 1 en hd1, y as sucesivamente. El <numero-particion> hace referencia al nmero de una particin concreta en un dispositivo. Al igual que en el caso de <nmero-dispositivo-bios> , la mayora de los tipos de particiones son numeradas comenzando por 0. Aunque la mayora de las particiones se especifican con nmeros, si el sistema usa particiones BSD a stas se har referencia con letras, con a correspondiendo a 0, b correspondiendo a 1 y as sucesivamente.

h) Nombres de archivos y listas de bloqueo


Al escribir comandos en GRUB que hagan referencia a un archivo, como una lista de mens, es necesario especificar una ruta de archivos absoluta despus de los nmeros de dispositivo y particin. Lo siguiente ilustra la estructura de tal comando: (<tipo-dispositivo><numero-dispositivo> , <numero-particion>) </ruta/a/archivo> En este ejemplo, reemplace <tipo-dispositivo> con hd, fd o nd. Reemplace <finumerodispositivo> con el nmero entero para el dispositivo. Reemplace </ruta/a/archivo> con una ruta absoluta relativa al nivel ms superior del dispositivo. Tambin puede especificar archivos a GRUB que no aparecen realmente en el sistema de archivos, tal como un gestor de arranque en cadena que aparece en los primeros bloques de la particin. Para cargar tales archivos, deber indicar una lista de bloques, que indique a GRUB, bloque por bloque, la ubicacin exacta del archivo en la particin. Puesto que un archivo puede estar formado por varios conjuntos de bloques, hay una sintaxis especfica para escribir listas de bloques. Cada bloque que contiene el archivo se describe con un nmero de desplazamiento de bloques seguido de un nmero de bloques de ese punto de desplazamiento. Los desplazamientos de bloques se listan secuencialmente y delimitados por comas.

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

CARRERA DE REDES Y COMUNICACIONES

72

i) El Sistema de archivos raz y GRUB


Algunos usuarios se confunden con el uso del trmino sistema de archivos raz tiene un significado diferente con relacin a GRUB. Es importante recordar que el sistema de archivos raz de GRUB no tiene nada que ver con el sistema de archivos raz de Linux. El sistema de archivos raz de GRUB es el nivel superior del dispositivo especificado. Por ejemplo, el archivo imagen (hd0,0)/grub/splash.xpm.gz est ubicado dentro del directorio /grub/ en el nivel superior (o raz) de la particin (hd0,0) (la cual es en verdad la particin /boot/ para el sistema). Luego, se ejecuta el comando kernel con la ubicacin del archivo del kernel como una opcin. Una vez que el kernel de Linux inicia, establece el sistema de archivos raz con el cual los usuarios de Linux estn familiarizados. El sistema de archivos raz de GRUB original y sus montajes se olvidan; la nica finalidad de su existencia era arrancar el archivo del kernel.

j) Archivo de configuracin de men de GRUB


El archivo de configuracin (/boot/grub/grub.conf), usado para crear la lista en la interfaz de men de GRUB de los sistemas operativos para el arranque, bsicamente permite al usuario seleccionar un grupo predefinido de comandos para su ejecucin de configuracin.

k) Estructura del archivo de configuracin


El archivo de configuracin de la interfaz de men de GRUB es /boot/grub/grub.conf. Los comandos para configurar las preferencias globales para la interfaz de men estn ubicados al inicio del archivo, seguido de las diferentes estrofas para cada sistema operativo o kernels listados en el men. 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.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

73

l) Cambiar los niveles de ejecucin en el tiempo de arranque


Bajo Linux, es posible cambiar el nivel de ejecucin predeterminado en el momento de arranque. Para cambiar el nivel de ejecucin de una sesin de arranque, utilice las instrucciones siguientes: . Cuando la pantalla de men de GRUB aparece durante el arranque, presione cualquier tecla para entrar al men de GRUB (dentro de los primeros tres segundos). . Presione la tecla [a] para aadir al comando kernel. . Aada * espacio +fi* nivel-de-ejecucion + al final de la lnea de opciones de arranque para iniciar en el nivel de ejecucin deseado. Por ejemplo, la entrada siguiente iniciar un proceso de arranque en el nivel 3. grub append> ro root=LABEL=/ rhgb quiet 3

Autoevaluacin
1.

Explique que es el grub y cual es su funcin

2.

Indique cuales son los runlevels y que se realiza con cada uno de ellos

3.

Que es FHS, y cual es su ventaja?

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

74

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

75

UNIDAD

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

CONTENIDOS Particiones conceptos basicos Herramientas de administracion Creacion de particiones en Linux

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

76

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

77

5.1. PARTICIONES
5.1.1. Conceptos bsicos:

En linux las particiones donde residen los archivos van sobre los sistemas ext2 o ext3 generalmente, aunque tambin soportan otro tipo de sistema de ficheros. Las particiones swap son equivalente al pagefile.sys de M$ windows es decir son las encargadas de gestionar la memoria "no fisica" del sistema (memoria virtual), en principio el tamao de la particion swap no deberan ser menos de 128MB, en general se aplica una regla que si bien no esta establecida como un axioma, si es aceptada por casi todos los usuarios de sistema linux-unix. El tamao de la memoria SWAP es el doble que la fisica disponible EJM: 512 mgb de ram=1024mgb de swap. En una PC standard las particiones se reparten de la siguiente manera: -Se le asigna una etiqueta comn a los discos IDE: hd -Se le asigna una etiqueta comn a los disco SCSI : sd -Se le asigna una letra a cada disco, usando un orden alfanumrico: "a" primer disco,"b" segundo disco, "c" tercer disco y "d" la cuarto disco. -Se le asigna un numero a cada particin: 1, 2, 3...n Por lo que tendramos: hda3 (Primer disco IDE, particin 3)hdb2 (Segundo disco IDE, particin 2)sdc1 (Tercer disco SCSI, particin 1) -En linux solo se pueden montar 4 particiones primarias. 3 particiones primarias y 1 extendida que puede estar vaca o alojar varias particiones o unidades lgicas. En Linux se denotan igual que si fueran 4 primarias, la extendida no tiene por que ser la ultima, Por ejemplo: tenemos la particin extendida hda2, las que estn "dentro", las lgicas, pueden ser hda4, hda5, hda5. Los sistemas operativos linux soportan mltiples tipos de particin, para el almacenamiento de datos, que no para su ejecucin, dependiendo de que mdulos estn cargados en el kernel (ver con lsmod), generalmente particiones fat16,fat32,ntfs... son soportadas en las ultimas versiones de los kernels 2.4.x.

5.1.2. Herramientas para la administracin.


En casi todos los sistemas Linux o basados en Unix (freebsd, solaris, es distinto) existen una serie de utilidades para el manejo de particiones.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

78

Para mostrar informacin en pantalla existen multitud de aplicacin en modo X que lo hacen, pero una manera casi absoluta de saberlo es, o bien en modo consola, o bien un front-end que muestre la informacin del archivo /proc/partitions.

Para hacerlo en modo consola bastara con hacer un cat al archivo (cat /proc/partitions)

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.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

79

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. 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]

El comando para desmontar la particin es umount con la misma sntesis

Fichero /etc/mtab
Contiene una lista de los filesystem que estn montados en el sistema Ejemplo de fichero /etc/mtab

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

80

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

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)
o

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

Campos dump y pass

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

81

dump
Lo usa el comando dump para determinar de que filesystems hacer copias de seguridad
o

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.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

82

Tambin existen herramientas en modo grfico, (qtparted, gparted, diskdruid, diskdrake) para poder trabajar con discos.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

83

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 grficas y asistentes comprensibles para realizar un particionado de manera automtica.

Ejemplos de montaje de ficheros:

En este caso montamos la tercera particin del primer disco en el directorio /home, el sistema de ficheros es ext3.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

84

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.

En este caso hemos montado una imagen iso en un directorio /imgenes

5.2

CREACIN DE PARTICIONES EN LINUX


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)

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

85

5.2.1 El comando para crear particiones es fdisk

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 fdisk se usa mediante un men:

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

86

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

Por defecto, crea la particin tipo Linux (Id 83)


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 9689 Blocks Id System 4883224+ 82 Linux swap / Solaris

Para que se guarden los cambios debemos usar w (write)

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

87

5.3

OTRAS HERRAMIENTAS

Existen otras herramientas para modificar las particiones: cfdisk interfaz para el fdisk (tambin escribe la tabla de particiones) parted programa de GNU que permite crear, destruir, cambiar el tamao, chequear y copiar particiones qtparted clnico del Partition Magic para Linux (basado en libparted) Partition Magic programa comercial de la compaa Symantec que puede manejar diversos filesystems

5.4. CREACIN DE LOS SISTEMAS DE FICHEROS


Sobre cada particin debemos crear sistemas de ficheros con el comando mkfs

Formato: mkfs [-V] [-t filesystem] dispositivo [n_bloques]

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

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

88

existen comandos similares para otros tipos de sistemas de ficheros, p.e. reiserfstune, jfs_tune, etc.

5.4.1. Particin de intercambio


Si lo que creamos es una particin de intercambio, la debemos inicializar con mkswap

# 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

# mkswap /dev/hdb2 Setting up swapspace version 1, size = 5736919 kB no label, UUID=a6c2849b-c33e-478e-8a8d-fecfe3f18f6d

Una vez creada debemos activarla con swapon

# swapon /dev/hdb2 # swapon -s Filename /dev/hda7 /dev/hdb2

Type partition partition

Size Used Priority 377488 0 -1 5602456 0 -2

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

5.5. MONTADO DE LOS SISTEMAS DE FICHEROS


Para poder acceder a los sistemas de ficheros debemos montarlos

Los comandos para montar y desmontar son: mount y umount

Comando mount
Permite asociar (montar) directorios a sistemas de ficheros

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

89

Ejemplo $ mount -t ext3 /dev/hdb1 /home2

Formato mount [opciones] [-t tipo] [disp.] [dir.]

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

Formato umount [opciones] directorio

Ejemplo: $ umount /home2

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 Ejemplo de auto.master:

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

90

/home /misc
o o

/etc/auto.home /etc/auto.misc --timeout 60

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)

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

91

5.6. CHEQUEO DEL SISTEMA DE FICHEROS


Peridicamente es necesario chequear los sistemas de ficheros

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

Alguno de los errores que pueden aparecer se deben a:


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.

Algunas de las opciones de fsck son:


-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.7

OTRAS UTILIDADES
du: muestra el espacio de disco usado por los ficheros y subdirectorios de un directorio o Formato: du [opciones] [directorio] 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 o Ejemplo: o $ du -sh /home /usr o 1,2G /home o 2,3G /usr df: muestra el espacio de disco usado y disponible de los sistemas de ficheros montados
o

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

92

Formato: df [opciones]

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

5.8

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.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

93

Y donde estn los permisos?


Para poder ver los permisos de los archivos y directorios es necesario ejecutar el siguiente comando: $ ls l Este comando nos dar una salida similar a la siguiente:

Ahora describamos la salida que hemos obtenido:

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

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

94

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 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:

5.9

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]

COMO SE CAMBIAN LOS PERMISOS?


Para cambiar los permisos se puede hacer de 2 maneras: 1. 2. Utilizando taquigrafa basada en caracteres, o Utilizando nmeros.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

95

5.9.1. Cambio de permisos utilizando taquigrafa de caracteres


Para poder utilizar la taquigrafa basada en caracteres tomemos en cuenta la siguiente lista con su respectiva correspondencia:

Smbolo u g Identidades o a r Permisos w x + Acciones =

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 $ chmod a=rx foto1.png $ chmod a=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 establecemos los permisos de lectura y ejecucin para los 3 grupos quitamos todos los permisos foto1.png --------rwx-----rwxx--rwxxr---xxr-rrr-r-xr-xr-x ----------

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

96

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 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 r-x-----x r-xr-x--rwxrwx--rw-rw-rw-

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

5.9.2 Cambio de permisos utilizando nmeros


Cada permiso tienen asignado un valor, incluso cuando el permiso no est activo. Para poder utilizar los nmeros tendremos que tener en cuenta la siguiente tabla con sus respectivos valores: r = 4 (lectura) w = 2 (escritura) x = 1 (ejecucion) - = 0 (sin permisos) Cuando asignamos los permisos utilizando nmeros debemos tener en cuenta que primero se sumarn los valores y dicho resultado ser el que se coloque, aqu una tabla que muestra dichos valores: Valor Permisos 0 1 2 3 4 5 6 7 ----x -w-wx r-r-x rwrwx Descripcin El valor cero significa que no se han asignado permisos slo se ha asignado el de ejecucin slo permiso de escritura permisos de escritura y ejecucin slo permiso de lectura permisos de lectura y ejecucin permisos de lectura y escritura permisos: lectura, escritura y ejecucin

Los permisos por nmeros se asignan en grupos de 3, es decir, para el propietario-grupootros, no es factible asignar solo para uno o dos de ellos.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

97

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 $ chmod 550 foto2.png $ chmod 770 foto2.png $ chmod 666 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 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 Resultado foto2.png ----------rwx------rwxx---rwxxr----xxr--rrr--r-xr-xr-x -----------r-x-----x -r-xr-x---rwxrwx---rw-rw-rw-

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

98

CAMBIANDO PROPIETARIOS Y GRUPOS


Otra de los puntos a la hora de establecer permisos es la necesidad de poder cambiar el propietario y grupo del archivo o directorio, para hacer esta operacin debe estar como root y los usuarios y grupos que utilizar deben haber sido creados previamente.

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 del grupo clases # todos los archivos y sub directorios del directorio datos/ sern

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

99

Autoevaluacin
1. Cul es el comando que se usa para crear un filesystem?

(a) (b) (c) (d) (a) (b) (c) (d) (a) (b) (c) (d) (a) (b) (c) (d)

fsck mkfs fdisk chmod

2. Cul es el comando que te permite reparar una particion?

mkfs mount fdisk fsck

3. Cul es el comando que permite el cambio de permisos?

who lastlog chmod chown

4. Para lograr el permiso rwxr-xr-x, es necesario el valor?

777 644 755 744

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

100

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

101

UNIDAD

6
INSTALACIN DE APLICACIONES 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

CARRERA DE REDES Y COMUNICACIONES

102

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

103

6.1

RPM (RedHat Package Manager)

RPM es el gestor de paquetes de Red Hat (Red Hat Package Manager). Aunque aparece Red Hat en su nombre, la intencin es que sea un sistema de empaquetado abierto y disponible para el uso de cualquiera. Permite a los usuarios tomar el cdigo fuente (source code) y empaquetarlo en forma de fuentes y binaria de forma que los ficheros binarios sean fcilmente instalables y rastreables y los fuentes puedan ser reconstruidas con facilidad. Tambin gestiona una base de datos de todos los paquetes y sus ficheros que puede ser usada para verificar paquetes e interrogarla para obtener informacin acerca de ficheros y/o paquetes.

6.1.1. 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 rpidamente, gracias a una cabecera binaria a

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

104

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.

6.1.2 INFORMACIN GENERAL 6.1.2.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/

6.1.2.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 las fuentes, necesitar todo lo normalmente requerido para construir un paquete, cosas como gcc, make, etc.

6.2. USANDO RPM


En su forma ms simple, RPM puede usarse para instalar paquetes:

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

105

El siguiente comando ms simple es desinstalar un paquete:

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:

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

106

Podr encontrar ms detalles acerca de la funcin de estos parametros en la pgina del manual de RPM.

6.3. 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:

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

107

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 /usr/doc/koules/BUGS /usr/doc/koules/COMPILE.OS2 /usr/doc/koules/COPYING

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

108

/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.

6.4. COMPILAR APLICACIONES EN LINUX


El proceso de compilar un programa e instalarlo desde la consola suele ser una tarea bastante rutinaria, ya que, salvo raras excepciones, siempre se procede de la misma manera, y solo son necesarias tres rdenes. Se debe tener correctamente instalado y configurado nuestro compilador C/C++ (gcc) y todas las bibliotecas necesarias (que, por lo general, es algo de lo que se encarga el programa de instalacin de nuestra distribucin), daremos por hecho que todo est dispuesto en nuestro sistema para poder compilar programas de forma correcta. El primer paso suele ser descomprimir el archivo comprimido que nos hemos bajado de Internet (casi siempre con la extensin .tar.gz, lo que se conoce con el nombre de tarball, aunque puede estar en otros formatos). Abrimos una consola de comandos, y nos dirigimos hacia el directorio donde se encuentra el archivo (tenemos que tener permiso de lectura y escritura en ese directorio), tecleamos la siguiente orden: tar -xvzf nombredelprograma.tar.gz

Comprobamos que se creo un directorio con el nombre del archivo y cambiamos a ese directorio tecleando la orden: cd nombredelprograma

Observacin
En este momento sera recomendable leer la documentacin que acompaa al programa, que normalmente est contenida en un archivo con el nombre README. 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.
CARRERA DE REDES Y COMUNICACIONES CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

109

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

Observacin
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 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

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

110

escritura sobre ese directorio, deberemos autentificarnos primero como superusuario (usuario root) con la orden: Su

Y, finalmente, instalaremos la aplicacin con el comando: make install

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: make uninstall Despus de la desinstalacin podemos eliminar el directorio donde fue descomprimido el programa si no pensamos volver a utilizarlo.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

111

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

INSTALACIN DE APLICACIONES VIA YUM


Al instalar una nueva aplicacin o programa con cualquiera de los mtodos anteriores, podriamos tener algunos problemas de dependencias que algunas veces nos puede dar mas de un dolor de cabeza, existe un mtodo de instalacin y actualizacin de paquetes que nos cubre con esa necesidad, ese mtodo es la instalacin de paquetes via yum. Yum es un programa automtico para instalar / desinstalar los RPM del sistema. Obtiene automticamente dependencias y nos permite instalar correctamente los paquetes. Procedimientos Con yum podemos realizar las siguientes tareas frecuentes:

6.5 Actualizar sistema.


Actualizacin del sistema con todas las dependencias que sean necesarias:

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

112

6.6 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:

6.7 Consulta de informacin


Consultar la informacin contenida en un paquete en particular::
yum info cualquier-paquete

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

113

Ejemplo:

6.8 Instalacin de paquetes


Instalacin de paquetera con resolucin automtica de dependencias:
yum install cualquier-paquete

Ejemplo:

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

114

6.9 Desinstalacin de paquetes


Desinstalacin de paquetes junto con todo aquello que dependa de stos:
yum remove cualquier-paquete

Ejemplo:

6.10 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:


yum list installed |less

Lo siguiente listar todos los paquetes instalados en el sistema y que pueden (deben) actualizarse:
yum list updates | less

6.11 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

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

115

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. Qu te permite hacer yum?

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

116

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

117

UNIDAD

9
ANLISIS DE ARCHIVOS DE REGISTRO Y CUOTAS DE DISCO
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

CARRERA DE REDES Y COMUNICACIONES

118

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

119

9.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.

9.2 UBICACIN DE LOS ARCHIVOS DE REGISTRO


La mayora de archivos de log estn localizados en el directorio /var/log. Algunas aplicaciones como por ejemplo httpd y samba poseen un directorio en /var/log para sus archivos de log.

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.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

120

9.3 VISUALIZACIN DE LOS ARCHIVOS DE REGISTRO


La mayora de los archivos de registro estn en formato de texto plano. Puede visualizarlos con cualquier editor de texto tal como Vi o Emacs. Algunos archivos log pueden ser ledos por todos los usuarios del sistema; sin embargo se requiere de privilegios como root para visualizar la mayora de ellos. Para poder visualizarlos en tiempo real puede usar el comando tail.

Tambin puede utilizar el Visor de registro del sistema. Para iniciar la aplicacin, hacer clic en Sistema del panel superiorAdministracinRegistro de actividad del sistema, o digite el comando gnome-system-log en una consola.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

121

9.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, auth-priv, cron, daemon, kern, lpr, mail, mark, news, security (equivalente a auth), syslog, user, uucp y local0 hasta local7; esta parte especifica el subsistema' 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

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

122

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: # Enviamos todos los mensajes a la tubera con nombre # /var/log/mififo # *.* |/var/log/mififo

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

123

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 *

9.5

QUOTAS DE DISCO EN LINUX


Debe iniciarse el sistema en nivel de corrida 1 (mono usuario), ya que se requiere no haya procesos activos utilizando contenido de la particin a la cual se le aplicar la cuota de disco. Obviamente, durante la instalacin, debi asignarse una particin dedicada para, por mencionar un ejemplo, los directorios /var y /home. Con la finalidad de aadir el soporte para cuotas en las particiones anteriormente mencionadas, se debe aadir en el fichero /etc/fstab los parmetros usrquota y grpquota a las lneas que definen la configuracin de las particiones /var y /home:

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

124

LABEL=/var LABEL=/home

/var /home

ext3 ext3

defaults,usrquota,grpquota defaults,usrquota,grpquota

12 12

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

Vaya al nivel de corrida 3 a fin de aplicar cuota de disco a algunos usuarios.


init 3

9.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.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

125

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

9.5.2 Cuota absoluta (Hard)


Suponiendo que se quiere asignar una cuota de disco de 6 MB para el usuario fulano en en /dev/hda7 y /dev/hda5, se utilizara lo siguiente:
Disk quotas for user fulano (uid 501): Filesystem blocks soft hard inodes soft hard /dev/hda7 0 0 6144 0 0 0 /dev/hda5 24 0 6144 10 0 0

El usuario siempre podr rebasar una cuota de gracia pero nunca una cuota absoluta.

9.5.3 Cuota de gracia (Soft)


El sistema tiene de modo predeterminado un periodo de gracia de 7 das que se puede modificar con el mandato edquota -t, donde se puede establecer un nuevo periodo de gracia por das, horas, minutos o segundos. Grace period before enforcing soft limits for users: Time units may be: days, hours, minutes, or seconds Filesystem Block grace period Inode grace period /dev/hdb7 7days 7days /dev/hdb5 7days 7days 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

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

126

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`

9.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

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.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

127

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

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

128

Autoevaluacin
1. Cul es el nombre del archivo que contiene registrado los mensajes de los servicios

de red? (a) access.log (b) syslog (c) spooler (d) 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) who (b) lastlog (c) dmesg (d) syslog


4. Indique ejemplos donde se puede aplicar cuotas de disco?

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

129

UNIDAD

10
SERVIDOR NFS Y SAMBA
TEMA Describir la funcin de los servidores 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 Introduccin a Samba Configuracin de samba cliente Configuracin de samba Servidor

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

130

10.1 SERVICIO NFS INTRODUCCIN


Un Sistema de archivos de red (NFS) permite a los hosts remotos montar sistemas de archivos sobre la red e interactuar con esos sistemas de archivos como si estuvieran montados localmente. Esto permite a los administradores de sistemas consolidar los recursos en servidores centralizados en la red. Este captulo se centra en los conceptos fundamentales de NFS e informacin suplementaria. Para instrucciones especficas con respecto a la configuracin y operacin del software NFS en servidores o clientes.

10.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 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.
CARRERA DE REDES Y COMUNICACIONES CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

131

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.

10.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. . 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.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

132

. 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.

10.4 INICIAR Y DETENER NFS


Para ejecutar un servidor NFS, debe estar ejecutndose el servicio portmap. Para verificar que portmap est activo, escriba el comando siguiente como root: /sbin/service portmap status, Si el servicio portmap se est ejecutando, entonces se puede iniciar nfs. Para iniciar un servidor NFS, como root escriba: /sbin/service nfs start Para detener el servidor, como usuario root, escriba: /sbin/service nfs stop La opcin restart es un atajo para detener y luego iniciar NFS. Esta es la forma ms eficiente de hacer que los cambios en la configuracin tomen efecto luego de modificar el archivo de configuracin por NFS. 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.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

133

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.

10.5 CONFIGURACIN DEL SERVIDOR NFS


Existen tres formas de configurar un servidor NFS en Linux: usando la Herramienta de configuracin del servidor NFS (system-config-nfs), modificando manualmente su archivo de configuracin (/etc/exports), o utilizando el comando /usr/sbin/exportfs.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

134

10.5.1 El archivo de configuracin /etc/exports


El archivo /etc/exports controla cules sistemas de archivos son exportados a las mquinas remotasy especifica opciones. Las lneas en blanco son ignoradas, se pueden comentar lneas con el smbolo # y las lneas largas pueden ser divididas con una barra invertida (\). Cada sistema de archivos exportado debe tener su propia lnea y cualquier lista de hosts autorizadas colocada despus de un sistema de archivos exportado, debe estar separada por un espacio. Las opciones para cada uno de los hosts deben ser colocadas entre parntesis directamente detrs del identificador del host, sin ningn espacio de separacin entre el host y el primer parntesis. Una lnea para un sistema de archivos exportado tiene la estructura siguiente: <export > <host1> (<options>) <host2> (<options>) <host3> (<options>) En esta estructura, reemplace <export> :con el directorio a exportar, reemplace <host1> : con el host o la red a la cual va a compartir el directorio y reemplace <options> : con las opciones para ese host o red. Los hosts adicionales se pueden especificar en una lista separada por espacios. 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 @<group-name> Esto pone al servidor NIS controlando el acceso de este 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:
CARRERA DE REDES Y COMUNICACIONES CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

135

. 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).
. ro . 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 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.

10.5.2 El comando exportfs


Cada sistema de archivos que se exporta a usuarios remotos a travs de NFS, as como los niveles de acceso relativos a ellos, son listados en el archivo /etc/exports. Cuando comienza el servicio nfs, se lanza el comando /usr/sbin/exportfs y lee este archivo, pasa el control a

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

136

rpc.mountd (si es NFSv2 or NFSv3) para el proceso de montaje real, luego a rpc.nfsd donde

los sistemas de archivos estn disponibles a los usuarios remotos. Cuando se ejecuta manualmente, el comando /usr/sbin/exportfs permite al superusuario exportar o no de forma selectiva, directorios concretos sin reiniciar los servicios NFS. Cuando se le pasan las opciones apropiadas, el comando /usr/sbin/exportfs escribe los sistemas de archivos exportados a /var/lib/nfs/xtab. Como rpc.mountd se refiere al archivo xtab para decidir privilegios de acceso a un sistema de archivos, los cambios en la lista de sistemas de archivos exportados toman efecto inmediatamente. 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

. 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.
. -o sistema-de-archivos . -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

10.6 ARCHIVOS DE CONFIGURACIN DE CLIENTES NFS


Las comparticiones NFS son montadas en el lado del cliente usando el comando mount. El formato del comando es como sigue: mount -t <nfs-type> -o <options> <host>:</remote/export> </local/directory> Reemplace <nfs-type> con nfs para servidores NFSv2 o NFSv3, o nfs4 para servidores NFSv4. Reemplace <options> con una lista de opciones separadas por comas para el sistema NFS. Reemplace <host> con el host remoto, </remote/export> con el directorio remoto que est siendo montado y sustituya </local/directory> con el directorio local donde el sistema de archivos remoto se montar.Consulte la pgina man de mount para ms detalles.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

137

Si est accediendo a una comparticin NFS emitiendo manualmente el comando mount, el sistema de archivos debe ser remontado manualmente despus de reiniciar el sistema.

10.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

10.7 SERVICIO SAMBA INTRODUCCIN


10.7.1 Acerca de Samba.
SAMBA es un conjunto de programas, originalmente creados por Andrew Tridgell y actualmente mantenidos por The SAMBA Team, bajo la Licencia Publica General GNU, y que implementan en sistemas basados sobre UNIX el protocolo SMB. Sirve como reemplazo total para Windows NT, Warp, NFS o servidores Netware.

Necesitar tener instalados los siguientes paquetes, que seguramente vienen incluidos en los discos de instalacin de su distribucin predilecta:

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

138

samba: samba-client: sambacommon:

Servidor SMB. Diversos clientes para el protoclo 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

10.8 CONFIGURACIN BASICA DE SAMBA


Para la mayora de los casos la configuracin de Samba como servidor de archivos es suficiente.

10.9 ALTA DE CUENTAS DE USUARIO


Es importante sincronizar las cuentas entre el servidor Samba y las estaciones Windows. Es decir, si en una mquina con Windows ingresamos como el usuario "paco" con clave de acceso "elpatito16", en el servidor Samba deber existir tambin dicha cuenta con ese mismo nombre y la misma clave de acceso. Como la mayora de las cuentas de usuario que se utilizarn para acceder hacia samba no requieren acceso al interprete de mandatos del sistema, no es necesario asignar clave de acceso con el mandato passwd y se deber definir /sbin/nologin o bien /bin/false como interpete de mandatos para la cuenta de usuario involucrada. useradd -s /sbin/nologin usuario-windows smbpasswd -a usuario-windows No hace falta se asigne una clave de acceso en el sistema con el mandato passwd puesto que la cuenta no tendr acceso al interprete de mandatos. Si se necesita que las cuentas se puedan utilizar para acceder hacia otros servicios como seran Telnet, SSH, etc, es decir, que se permita acceso al interprete de mandatos, ser necesario especificar /bin/bash como interprete de mandatos y adems se deber asignar una clave de acceso en el sistema con el mandato passwd:

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

139

useradd -s /bin/bash usuario-windows passwd usuario-windows smbpasswd -a usuario-windows

10.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 asign 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

10.11CONFIGURACIN DEL SERVIDOR SAMBA


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

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

140

El parmetro server string es de carcter descriptivo. Puede utilizarse un comentario breve que de una descripcin del servidor. server string = Servidor Samba %v en %L

10.11.2 Parmetros tiles para la seguridad.


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

10.11.3 Impresoras en Samba.


Las impresoras se comparten de modo predeterminado, as que solo hay que realizar algunos ajustes. Si se desea que se pueda acceder hacia la impresora como usuario invitado sin clave de acceso, basta con aadir public = Yes en la seccin de impresoras del siguiente modo: [printers] comment = El comentario que guste. path = /var/spool/samba printable = Yes browseable = No writable = no printable = yes public = Yes Windows NT, 2000 y XP no tendrn problema alguno para acceder e imprimir hacia las impresoras, sin embargo Windows 95, 98 y ME suelen tener problemas para comunicarse con Samba para poder imprimir. Por tanto, si se quiere evitar problemas de conectividad con dichos sistemas operativos hay que agregar algunos parmetros que resolvern cualquier eventualidad: [printers] comment = Impresoras.
CARRERA DE REDES Y COMUNICACIONES CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

141

path = /var/spool/samba printable = Yes browseable = No writable = no printable = yes public = Yes print command = lpr -P %p -o raw %s -r lpq command = lpstat -o %p lprm command = cancel %p-%j Se pude definir tambin a un usuario o bien un grupo (@grupo_que_sea) para la administracin de las colas de las impresoras: [printers] comment = Impresoras. path = /var/spool/samba printable = Yes browseable = No writable = no printable = yes public = Yes print command = lpr -P %p -o raw %s -r lpq command = lpstat -o %p lprm command = cancel %p-%j printer admin = fulano, @opers_impresion Con lo anterior se define que el usuario fulano y quien pertenezca al grupo opers_impresion podrn realizar tareas de administracin en las impresoras.

10.11.4 Compartiendo directorios a travs de Samba.


Para los directorios o volmenes que se irn a compartir, en el mismo fichero de configuracin encontrar distintos ejemplos para distintas situaciones particulares. En general, puede utilizar el siguiente ejemplo que funcionar para la mayora: [Lo_que_sea] comment = Comentario que se le ocurra path = /cualquier/ruta/que/desee/compartir El volumen puede utilizar cualquiera de las siguientes opciones: Opcin guest ok public 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.

browseable

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

142

writable

Define si ser permitir la escritura. Es el parmetro contrario de read only. El valor puede ser Yes o No. Ejemplos: writable = Yes es lo mismo que read only = No. Obviamente writable = No es lo mismo que read only = Yes 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 antecedidos por una @. Ejemplo: fulano, mengano, @administradores 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

valid users

write list

admin users

directory mask

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

10.11.5 Configuracin avanzada de Samba.


Samba fue creado con un objetivo: ser en un reemplazo definitivo para Windows como servidor en una red local. sto, por supuesto, requiere algunos procedimientos adicionales dependiendo de las necesidades de la red local.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

143

10.11.6 Re-asignacin de grupos de Windows en Samba.


Los grupos que existen en Windows tambin se utilizan en Samba para ciertas operaciones, principalmente relacionadas con lo que involucra un Controlador Primario de dominio (o PDC que significa Primary Domain Controler). Estos grupos existen de modo predefinido en Samba. Sin embargo, si se ejecuta lo siguiente: net groupmap list Devolver la siguiente informacin: System Operators (S-1-5-32-549) -> -1 Domain Admins (S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-512) -> -1 Replicators (S-1-5-32-552) -> -1 Guests (S-1-5-32-546) -> -1 Domain Guests (S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-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-XXXXXXXXXX-XXXXXXXXXX-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. XXXXXXXXXXXXXXXXXXXX-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

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

144

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: 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" \
CARRERA DE REDES Y COMUNICACIONES CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

145

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" \ 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-XXXXXXXXXX-XXXXXXXXXX512) -> 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

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

146

Administradores (S-1-5-32-544) -> administradores Opers. de cuentas (S-1-5-32-548) -> opers_cuentas 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.

11.11. Alta de cuentas de usuario en Controlador Primario de Dominio.


Si se configur Samba para funcionar como Controlador Primario de Dominio, ser necesario asignar a root una clave de acceso en Samba, la cual por supuesto puede ser diferente a la del sistema, debido a que las estaciones de trabajo necesitan autenticar primero con el usuario root de Samba para poder unirse dominio y poder crear de este modo una cuenta de mquina en el sistema a travs del parmetro add machine script ya descrito anteriormente. Los usuarios es necesario darlos de alta de modo que queden agregados a los que correspondan en el sistema a grupos Usuarios y Usuarios del dominio de Windows, es decir a los grupos usuarios y usuarios_dominio. useradd -s /sbin/nologin -G usuarios,usuarios_dominio usuario-windows smbpasswd -a usuario-windows Si el usuario ya existiese, solo ser necesario agragarlo a los grupos usuarios y usuarios_dominio con gpassswd del siguiente modo: gpasswd -a usuario-windows usuarios gpasswd -a usuario-windows usuarios_dominio En teora en el directorio definido para el recurso Profiles se deben crear automticamente los directorios de los usuarios donde se almacenarn los perfiles. De ser necesario es posible generar stos directorios utilizando el siguiente guin: cd /home for user in * do mkdir -p /var/lib/samba/profiles/$user chown $user.$user /var/lib/samba/profiles/$user done

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

147

10.12 PARAMETROS DE CONFIGURACIN AVANZADA EN EL FICHERO smb.conf


10.12.1. Anunciando el servidor Samba en los grupos de trabajo.
La opcin remote announce se encarga de que el servicio nmbd se anuncie a si mismo de forma peridica hacia una red en particular y un grupo de trabajo especfico. Esto es particularmente til si se necesita que el servidor Samba aparezca no solo en el grupo de trabajo al que pertenece sino tambin otros grupos de trabajo. El grupo de trabajo de destino puede estar en donde sea mientras exista una ruta y sea posible la transmisin exitosa de paquetes. remote announce = 192.168.1.255/MI-DOMINIO 192.168.2.255/OTRODOMINIO El ejemplo anterior defini que el servidor Samba se anuncie a si mismo al los grupos de trabajo MI-DOMINIO y OTRO-DOMINIO en las redes cuyas IP de transmisin son 192.168.1.255 y 192.168.2.255 correspondientemente.

10.12.2. Ocultando y denegando acceso a ficheros.


No es conveniente que los usuarios acceder o bien puedan ver la presencia de ficheros ocultos en el sistema, es decir ficheros cuyo nombre comienza con un punto, particularmente si acceden a su directorio personal en el servidor Samba (.bashrc, .bash_profile, .bash_history, etc.). Puede utilizarse el parmetro hide dot files para mantenerlos ocultos. hide dot files = Yes En algunos casos puede ser necesario denegar el acceso a cierto tipo de ficheros del sistema. El parmetro veto files se utiliza para especificar la lista, separada por diagonales, de aquellas cadenas de texto que denegarn el acceso a los ficheros cuyos nombres contengan estas cadenas. En el siguiente ejemplo, se denegar el acceso hacia los ficheros cuyos nombres incluyan la palabra Security y los que tengan extensin o terminen en .tmp: veto files = /*Security*/*.tmp/

10.12.3. Opciones para cliente o servidor Wins.


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

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

148

wins server = 192.168.1.1

10.12.4. Opciones especficas para Controlador Primario de Dominio (PDC).


Si se va a configurar Samba como Controlador Primario de Dominio, se debe especificar todos los parmetros descritos a continuacin. Si se quiere que las claves de acceso del sistema y Windows se mantengan sincronizadas, es necesario descomentar las siguiente lenas: unix password sync = Yes passwd program = /usr/bin/passwd %u passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd:*all*authentication*tokens*updated*successfully* El parmetro local master define al servidor como examinador del dominio (o master browser); El parmetro domain master define al servidor maestro del dominio; El parmetro preferred master define al servidor como maestro del domino preferido en caso de haber ms servidores presentes en el mismo dominio como controladores de dominio; El parmetro time server se utiliza para definir que las estaciones debern sincronizar la hora con el servidor al unirse al dominio; El parmetro domain logons define que el servidor permitir a las estaciones autenticar contra Samba. local master = Yes domain master = Yes preferred master = Yes time server = Yes domain logons = Yes La configuracin de Controlador Primario de Dominio requiere adems definir donde se almacenarn los perfiles de los usuarios. Windows 95, 98 y ME requieren se defina con el parmetro logon home, en tanto que Windows NT, 2000 y XP requieren se haga con el parmetro logon path. Para efectos prcticos y de previsin, utilice ambos parmetros y defina la unidad H para dicho volumen: logon path = \\%L\Profiles\%U logon home = \\%L\%U\.profile logon drive = H: Si se va a utilizar Samba como Controlador Primario de Dominio, es necesario establecer el guin que ejecutarn las estaciones Windows al conectarse hacia el servidor. Esto se hace a travs del parmetro logon script el cual puede definir o bien un guin a utilizar por cada usuario (%u.bat) o bien por cada mquina (%m.bat) o bien de modo general para todos (logon.cmd). Para no complicar las cosas, defina inicialmente un guin general para todos del siguiente modo: logon script = logon.cmd El fichero /var/lib/samba/netlogon/logon.cmd deber contener algo como lo siguiente:

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

149

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 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

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

150

chgrp users /var/lib/samba/profiles

10.13 INICIAR EL SERVICIO Y AADIRLO AL ARRANQUE DEL SISTEMA


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

10.14 ACCEDIENDO HACIA SAMBA


10.14.1 Modo texto. Smbclient.
Indudablemente el mtodo ms prctico y seguro es el mandato smbclient. Este permite acceder haca cualquier servidor Samba o Windows como si fuese el mandato ftp en modo texto. Para acceder al cualquier recurso de alguna mquina Windows o servidor SAMBA determine primero que volmenes o recursos compartidos posee est. utilice el mandato smbclient del siguiente modo:

smbclient -U usuario -L alguna_maquina


Lo cual le devolvera ms menos lo siguiente: Domain=[MI-DOMINIO] OS=[Unix] Server=[Samba 3.0.7-1.3E] Sharename Type Comment -----------------homes Disk Home Directories netlogon Disk Network Logon Service ftp Disk ftp IPC$ IPC IPC Service (Servidor Samba 3.0.7-1.3E en miservidor)

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

151

ADMIN$ IPC IPC Service (Servidor Samba 3.0.7-1.3E en miservidor) 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

Workgroup Master --------------MI-DOMINIO MI-SERVIDOR La siguiente corresponde a la sintaxis bsica para poder navegar los recursos compartidos por la mquina Windows o el servidor SAMBA: smbclient //alguna_maquina/recurso -U usuario Ejemplo: smbclient //LINUX/FTP -U jbarrios Despus de ejecutar lo anterior, el sistema solicitar se proporcione la clave de acceso del usuario jbarrios en el equipo denominado LINUX. smbclient //LINUX/FTP -U jbarrios 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 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

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

152

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 miservidor) ADMIN$ IPC IPC Service (Servidor Samba 3.0.7-1.3E en miservidor) 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

Workgroup Master --------------MI-DOMINIO MI-SERVIDOR

En el ejemplo anterior hay un volumen compartido llamado algn_volumen. Si queremos montar este, debemos crear un punto de montaje. ste puede crearse en cualquier directorio sobre el que tengamos permisos de escritura. Para montarlo, utilizamos entonces la siguiente lnea de mandato: smbmount //alguna_maquina/algn_volumen /punto/de/montaje/ Si la mquina Windows requiere un usuario y una clave de acceso, puede aadir a lo anterior las opciones -username=el_necesario -password=el_requerido workgroup=MIGRUPO Si la distribucin de GNU/Linux utilizada es reciente, tambin puede utilizar el ya conocido mandato mount del siguiente modo: mount -t smbfs -o username=el_necesario,password=el_requerido //alguna_maquina/algn_volumen /punto/de/montaje/ Si se genera una cuenta pcguest, similar a la cuenta nobody, podemos montar volmenes SMB sin ingresar una clave de acceso pero con privilegios restringidos, o aquellos que definamos a un volumen accedido por un usuario invitado. Esto sera el mtodo por eleccin para compartir volmenes en una red de rea local. Puede generarse una cuenta pcguest o bien dejar que el sistema tome al usuario nobody. Si opta por lo primero, solo de de alta la cuenta NO asigne clave de acceso alguna. Montar volmenes remotos como usuarios invitado es muy sencillo. Un ejemplo real sera:

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

153

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

CARRERA DE REDES Y COMUNICACIONES

154

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.

Uniendo mquinas al dominio del Controlador Primario de Dominio


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

Creando manualmente cuentas de mquinas


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

Windows 95/98/ME y Windows XP Home


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

Windows 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.
CARRERA DE REDES Y COMUNICACIONES CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

155

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.

Windows 2000/2003 y Windows XP Profesional


Clic derecho en el icono de Mi PC. Seleccionar Propiedades Haga clic en la pestaa de Identificacin de red o Nombre del sistema. Clic en el botn de Propiedades. Clic en el botn Miembro de dominio Ingrese el nombre del dominio y el nombre de la mquina y haga clic en el botn de Aceptar Aparecer un dilogo que preguntar por una cuenta y clave de acceso con privilegios de administracin en el servidor. 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.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

156

Autoevaluacin
1. Qu permite el servicio NFS? 2. Qu permite el servicio samba? 3. Cul es el archivo de configuracin del servicio NFS?

(a) (b) (c) (d)

smb.conf exports resolv.conf hosts

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

157

UNIDAD

11
SERVIDORES DNS

TEMA Describir el uso del Sistema de Nombres de Dominio (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

CARRERA DE REDES Y COMUNICACIONES

158

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

159

11.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.

11.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). Herramientas por verificar el funcionamiento apropiado del servidor de DNS. La pgina oficial del proyecto es: http://www.isc.org

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

160

ISC BIND se puede instalar tanto en Linux como en Windows 2008/7/8

11.2 INSTALACIN DEL SERVIDOR DNS

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.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

161

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.

11.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.

11.3 TIPOS DE SERVIDORES DNS.


Hay dos tipos de servidores de nombres: Servidor Maestro: Tambin denominado Primario. Obtiene los datos del dominio a partir de un fichero hospedado en el mismo servidor. Servidor Esclavo: Tambin denominado Secundario. Al iniciar obtiene los datos del dominio a travs de un Servidor Maestro (o primario), realizando un proceso denominado transferencia de zona.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

162

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. 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 sub-dominios, 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.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

163

Tipo de Registro. CNAME Name) (Canonical

Descripcin. Registro de nombre cannico que hace que un nombre sea alias de otro. Los dominios con alias obtiene los subdominios y registros DNS del dominio original. 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.

MX (Mail Exchanger)

PTR (Pointer)

NS (Name Server)

SOA (Start of Authority)

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. 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.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

164

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.

11.4

CONFIGURACIN DEL SERVIDOR DNS

Para configurar el servidor DNS BIND se puede realizar creando el archivo /etc/named.conf manualmente, pero para facilitar su configuracin recomendamos el uso de la herramienta de configuracin Sistema de nombre de dominio (system-config-bind).

11.4.1. Archivo /etc/named.conf


Es una coleccin de sentencias que estn encerradas entre llaves { }, y terminan con punto y coma. No edite manualmente el archivo /etc/named.conf o cualquiera de los archivos del directorio /var/named/ si esta usando la herramienta de configuracin Sistema de nombre de dominio. Cualquier cambio manual a estos ser sobrescrito la siguiente vez que use la herramienta de configuracin Sistema de nombre de dominio.

11.4.2. Configuracin del servidor BIND DNS


Haga clic en el men Sistema del panel superior, luego en Administracin, luego en Configuracin de servidores, luego en Sistema de nombres de dominio. Se mostrara la imagen inferior, luego haga clic en el botn Aceptar.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

165

La siguiente imagen muestra configuracin de los archivos de zona predeterminados.

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/

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

166

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.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

167

Se mostrar el siguiente mensaje, clic en Si.

Luego se visualiza el siguiente mensaje, clic en Aceptar.

Otra forma de iniciar el servidor DNS es ejecutando el siguiente comando: /etc/init.d/named start

11.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.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

168

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.

Se mostrara la siguiente imagen:

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

169

Haga clic en el botn Aplicar y luego en el botn Aceptar.

11.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

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

170

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.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

171

11.5 CONSULTAS A LOS SERVIDORES DNS


11.5.1 Comando host
Herramienta que permite realizar consultas a los servidores de nombre.

11.5.2 Comando dig


Herramienta que permite actualizar el archivo de zona named.ca y realizar consultas DNS.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

172

11.5.2 Comando nslookup Permite realizar consultas interactivas a los servidores DNS.
debian:~# nslookup > server a.root-servers.net Default server: a.root-servers.net Address: 198.41.0.4#53 > set q=ns > edu.pe. Server: a.root-servers.net Address: 198.41.0.4#53 Non-authoritative answer: *** Can't find edu.pe.: No answer Authoritative answers can be found from: pe nameserver = NS-PE.RIPE.NET. pe nameserver = ICHU.RCP.NET.pe. pe nameserver = EKEKO.RCPIP.NET. ICHU.RCP.NET.pe internet address = 161.132.5.14 EKEKO.RCPIP.NET internet address = 209.45.127.2 NS-PE.RIPE.NET internet address = 193.0.12.173 > server NS-PE.RIPE.NET Default server: NS-PE.RIPE.NET Address: 193.0.12.173#53 Default server: NS-PE.RIPE.NET Address: 2001:610:240:0:53:cc:12:173#53 > set q=ns > cibertec.edu.pe Server: NS-PE.RIPE.NET Address: 193.0.12.173#53 Non-authoritative answer: *** Can't find cibertec.edu.pe: No answer Authoritative answers can be found from: cibertec.edu.pe nameserver = NS3.FIRSTCOM.COM.pe. cibertec.edu.pe nameserver = DNSCIB.cibertec.edu.pe. cibertec.edu.pe nameserver = NS3.ATTLA.COM.pe. DNSCIB.cibertec.edu.pe internet address = 200.0.119.61 > server NS3.FIRSTCOM.COM.pe Default server: NS3.FIRSTCOM.COM.pe Address: 200.14.241.36#53 > set q=any > cibertec.edu.pe Server: NS3.FIRSTCOM.COM.pe Address: 200.14.241.36#53 cibertec.edu.pe nameserver = ns3.firstcom.com.pe. cibertec.edu.pe nameserver = dnscib.cibertec.edu.pe. cibertec.edu.pe nameserver = ns3.attla.com.pe. cibertec.edu.pe origin = dnscib.cibertec.edu.pe mail addr = root.upc.edu.pe serial = 3034526519 refresh = 120 retry = 900 expire = 1200 minimum = 1200

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

173

cibertec.edu.pe mail exchanger = 10 fenix-si.cibertec.edu.pe. cibertec.edu.pe mail exchanger = 5 antispamsi.cibertec.edu.pe. > 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:~#

Solo digite el texto que se encuentra resaltado en negrita.

11.6 CONFIGURACIN DEL SERVIDOR DNS PRIMARIO

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

11.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.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

174

Seleccionar el elemento a agregar, en este caso Zona.

En la seccin Clase clic en Aceptar.

Ingrese el nombre del domino, clic en Aceptar.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

175

Se mostrara los parmetros de la zona, clic en Aceptar.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

176

Se mostrara la venta principal de configuracin Clic en Guardar.

11.6.2 Configurando la zona 11.6.2.1. Agregando un nuevo Registro de Recurso (RR)


Seleccione el dominio. Clic en Nuevo.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

177

11.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.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

178

Marcando la casilla Crear Record de mapeo inverso se creara la zona inversa. Clic en Guardar.

11.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.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

179

Se mostrara la ventana principal. Clic en Guardar.

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

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

180

11.6.2.4 Consultas al servidor DNS Primario


Desde un equipo cliente ejecutamos los comandos mostrados en la figura inferior para comprobar el funcionamiento del servidor DNS Primario.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

181

Autoevaluacin
Segn lo expuesto en clase, de un ejemplo de cmo usar el servidor DNS Primario.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

182

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

183

UNIDAD

12
SERVIDOR DHCP
TEMA Entender e implementar el servidor DHCP

OBJETIVOS ESPECFICOS Comprender el funcionamiento del servidor DHCP

CONTENIDOS Introduccin Configuracin de un servidor DHCP Configuracin de cliente DHCP

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

184

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

185

12.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 fixed-address. Asignacin automtica: Una direccin de IP disponible dentro de un rango determinado se asigna permanentemente al anfitrin que la requiera. Asignacin dinmica: Se determina arbitrariamente un rango de direcciones IP y cada anfitrin conectado a la red est configurada

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

186

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.

12.2 CONFIGURACIN DE UN SERVIDOR DHCP EN LINUX


Se requiere instalar el paquete dhcp el cual deber estar incluido en los discos de instalacin de la mayora de las distribuciones.

yum -y install dhcp


Si se utiliza Red Hat Enterprise Linux, solo bastar realizar lo siguiente para instalar o actualizar la programtica necesaria:

up2date -i dhcp

12.3 DHCP FICHERO DE CONFIGURACIN


Considerando como ejemplo que se tiene una red local con las siguientes caractersticas: Nmero de red 192.168.0.0 Mscara de sub-red: 255.255.255.0 Puerta de enlace: 192.168.0.1 Servidor de nombres: 192.168.0.1, 148.240.241.42 y 148.240.241.10 Servidor Wins: 192.168.0.1 Servidores de tiempo: 66.187.224.4 y 66.187.233.4 Rango de direcciones IP a asignar de modo dinmico: 192.168.0.11192.168.0.199

Puede utilizar el siguiente contenido para crear desde cero el fichero /etc/dhcpd.conf.

ddns-update-style interim; ignore client-updates; shared-network miredlocal { 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,

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

187

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: /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.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

188

12.4 CONFIGURACIN DE UN CLIENTE DHCP:


Para hacer que una mquina linux use IPs dadas por una servidor DHCP basta indicarle que use IP dinmica, lo que se consigue poniendo las siguientes lneas en /etc/sysconfig/network-scripts/ifcfg-eth0: DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes Tambin hay que comentar la lnea GATEWAY=... en el fichero /etc/sysconfig/network

12.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

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

189

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?

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

190

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

191

UNIDAD

13
SERVIDOR WEB
TEMA Describir el uso del Servidor HTTP Apache.

OBJETIVOS ESPECFICOS Comprender el funcionamiento del Servidor HTTP Apache.

CONTENIDOS Introduccin Configuracin del Servidor HTTP Apache.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

192

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

193

13.1 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.

13.2. INSTALACIN DEL SERVIDOR HTTP APACHE


HTTP Apache se puede instalar tanto en Linux como en Windows 2000/2003, para el caso especfico de Linux se deben instalar los siguientes paquetes: httpd Potente, eficiente y extensible servidor web. httpd-manual Paquete que contiene el manual y la gua de referencia para el servidor HTTP Apache.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

194

system-config-httpd Herramienta de configuracin para el servidor HTTP Apache. /etc/init.d/httpd start

Activamos el demonio httpd:

No olvidar permitir en el Firewall local las peticiones de acceso al servidor HTTP Apache.

Desde un equipo cliente podemos cargar la pgina web predeterminada.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

195

13.3 CONFIGURACIN DEL SERVIDOR HTTP APACHE


El archivo /etc/httpd/conf/httpd.conf es el archivo de configuracin del servidor HTTP Apache, donde podemos: Definir las direcciones IP/nmeros de puertos. Mdulos. Archivos de registro. Definir el usuario que inicia el servidor. Control de acceso. Mensajes de error. Hosts virtuales, etc. Para realizar los respectivos cambios utilizar cualquier editor de textos (vi, emacs, etc.) Este archivo es bastante extenso, por este motivo est dividido en tres secciones principales: Section 1: Global Environment Section 2: Main Server Configuration Section 3: Virtual Hosts En forma predeterminada despus de la instalacin el servidor HTTP Apache tiene la configuracin bsica que le permite funcionar.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

196

### 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.

13.4 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>

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

197

13.5 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

En caso de algn error en el servidor podemos ejecutar el comando: tail f /var/log/httpd/error_log

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

198

Ejercicio 1:
Crear una segunda pgina web en el directorio /var/www/html/datos/ y probar el acceso. Anote sus observaciones:

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

199

13.6 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.

13.6 CONFIGURACIN DE LOS HOSTS VIRTUALES


Paso 1. Apache identifica un host virtual con el parmetro NameVirtualHost, la IP indicada ser tomada como referencia para realizar la bsqueda de sitios virtuales en las secciones definidas para cada sitio empiezan con <VirtualHost ip> y finaliza con </VirtualHost>.
### Section 3: Virtual Hosts NameVirtualHost 192.168.1.3 <VirtualHost 192.168.1.3> ServerName www.vasquez.com.pe DocumentRoot /var/www/html/ </VirtualHost> <VirtualHost 192.168.1.3> ServerName www.vasquez.org.pe DocumentRoot /var/www/html1/ </VirtualHost>

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

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

200

Paso 5. Reiniciar los demonios: named y hhtpd. Paso 6. Probar desde un equipo cliente el acceso al servidor web

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

201

Ejercicio 2:
Crear una segunda pgina web en el directorio /var/www/html2 y probar el acceso. Anote sus observaciones:

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

202

Autoevaluacin
1. 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 2. Cul es el archivo de configuracin del servidor Web? (a) httpd.conf (b) apache.conf (c) web.conf (d) http.conf 3. 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 4. Si deseo permitir el acceso al servidor web qu protocolo debo seleccionar en el cortafuegos? (a) smtp (b) imap (c) pop3 (d) http

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

203

UNIDAD

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

CONTENIDOS Introduccin Funcionamiento Configuracin

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

204

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

205

14.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.

14.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.

14.3 CONFIGURACIN
14.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 /etc/postfix/main.cf

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

206

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.

Desactivar el MTA Sendmail en el arranque del sistema.

Paso 3.

Activar el MTA Postfix en el arranque del sistema.

Paso 4.

Iniciar el servidor SMTP: /etc/init.d/postfix start

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

207

14.3.2 Configuracin dovecot


Paso 1. El archivo de configuracin es /etc/dovecot.conf, agregue la siguiente lnea:

protocols = imap pop3 Paso 2. Iniciar el servidor SMTP: /etc/init.d/dovecot start

14.3.3 Configuracin Firewall local


Habilitar los puertos: SMTP (25) y POP3 (110)

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

208

14.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.

Selecciones el tipo de cuenta POP3, luego clic en el botn Siguiente.

Paso 3.

Ingrese los datos correspondiente en cada casilla, luego clic en el botn Siguiente.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

209

Paso 4.

Ingrese el nombre de la cuenta de usuario y la contrasea, luego clic en el botn Siguiente.

Paso 4.

Ingrese la direccin IP de los servidores: entrante (SMTP) y saliente (POP3), luego clic en el botn Finalizar.

Se mostrara la siguiente imagen.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

210

COMPROBANDO CORREOS
Paso 1.

EL

FUNCIONAMIENTO

DEL

SERVIDOR

DE

Enviar un mensaje usando el comando mail (sistema de procesamiento de correo inteligente que permite enviar y recibir mensajes).

Paso 2.

Ver en el archivo de registro las transacciones del servidor SMPT. tail f /var/log/maillog

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

211

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

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

212

14.4 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.

14.4.1 Restricciones del emisor El parmetro smtpd_sender_restrictions restringe las direcciones que el sistema acepta cuando se ingresa el comando MAIL FROM. Una configuracin tpica en el main.cf sera:
smtpd_sender_restrictions = hash:/etc/postfix/access, permit_mynetworks, reject_unknown_address

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 14.4.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

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

213

14.4.3 Uso del comando HELO 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

14.4.4 Restricciones del destinatario 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

14.5 COMANDOS
14.5.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.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

214

14.5.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.

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

SISTEMAS OPERATIVOS ABIERTOS

215

14.5.3.postconf Utilitario de configuracin que muestra informacin referente al sistema de correo Postfix.

Autoevaluacin
Establecer diferencias entre postfix, sendmail,, zimbra, y aplicaciones as como clientes de correo ms utilizados en el medio empresarial.

CIBERTEC

CARRERA DE REDES Y COMUNICACIONES

216

Bibliografa digital
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

http://www.tercerainformacion.es/spip.php?article15580 Linux utilizado por el 78% de los servidores principales del mundo http://www.alcancelibre.org/staticpages/index.php/manuales-indice Manual de Linux

CARRERA DE REDES Y COMUNICACIONES

CIBERTEC

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