Escolar Documentos
Profissional Documentos
Cultura Documentos
La Disciplina tarde o temprano vencer a la inteligencia y si no hay disciplina es fcil que la pobreza te alcance.
CIBERTEC
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
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
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
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
5.1.
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
6.1.
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
Archivos de registro Ubicacin de los archivos de registro Visualizacin de los archivos de registro Demonio Syslogd Quotas de disco en Linux Comprobaciones
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
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
CIBERTEC
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
SERVIDOR DE CORREO 12.1. Introduccin 12.2. Instalacin 12.3. Configuracin 12.4. Restricciones 12.5. Comandos Exmenes Finales. BIBLIOGRAFIA : Bibliografa digital
216
CIBERTEC
Presentacin
El curso Sistemas Operativos Avanzados (Linux) muestra como primera parte temas de introduccin al sistema operativo Linux, con el cual se va tomar una primera visin de este maravilloso sistema operativo, para luego entrara mas en detalle el tema de la administracin de este.
La segunda parte se enfoca en la configuracin de Servidores de Internet: Servidor Samba, Servidor NFS, Servidor DNS, Servidor DHCP, Servidor Web, Servidor de Correo. La instalacin y configuracin de estos servidores se realizara modificando sus archivos de configuracin correspondientes, de tal manera que el participante podr realizar sus propias experiencias sin importar la Distribucin Linux a usar, sin embargo la distribucin utilizada para la explicacin del presente curso ser CentOS6, shell y entornos de escritorio KDE, Gnome y aplicaciones. La seguridad de la red TCP/IP se deja para un curso posterior.
CIBERTEC
Red de Contenidos
CIBERTEC
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
10
CIBERTEC
11
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
12
CIBERTEC
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
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.
CIBERTEC
15
CIBERTEC
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
CIBERTEC
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
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.
CIBERTEC
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
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
21
CIBERTEC
22
Estructura de Directorios
Todos los archivos y directorios aparecen debajo del directorio raiz /, aun si estan almacenados en dispositivos fisicamente diferentes
CIBERTEC
23
CIBERTEC
24
Los siguientes directorios jamas deberan estar fuera de la particion a / /etc /bin /deb /lib y /lib64 /media /mnt /proc /root
/sbin
/sys
CIBERTEC
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
26
CIBERTEC
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
28
CIBERTEC
29
2.1.1 Arch
Este comando sirve para mostrarnos la arquitectura del procesador de nuestro sistema:
2.1.3 /proc/cpuinfo
Nos muestra la informacion referente al procesador del sistema Ejemplo:
CIBERTEC
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:
CIBERTEC
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
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
CIBERTEC
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
34
2.1.13 cd
Comando que nos permite movernos entre directorios, su sintaxis es: cd [carpeta donde quiero moverme] Ejemplo:
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
CIBERTEC
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
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
36
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
CIBERTEC
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
38
Ejemplo 2. Montando en CD
CIBERTEC
39
CIBERTEC
40
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
/etc/hosts
/etc/resolv.conf
CIBERTEC
41
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
FORWARD_IPV4
HOSTNAME
GATEWAY
CIBERTEC
42
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.
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
CIBERTEC
43
Autoevaluacin
1. Cul es el comando que te permite conocer la hora del sistema?
CIBERTEC
44
CIBERTEC
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
46
CIBERTEC
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.
La forma ms fcil de manejar usuarios y grupos es a travs de la aplicacin grfica, Administrador de usuarios (system-config-users).
CIBERTEC
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
asociados.
. pwconv, pwunconv. Herramientas para la conversin de contraseas a contraseas
CIBERTEC
49
CIBERTEC
50
CIBERTEC
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
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
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
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
CIBERTEC
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
CIBERTEC
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
CIBERTEC
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:
Manejo de Grupos:
Alta de grupos. groupadd grupo-que-sea
CIBERTEC
56
Baja de grupos
CIBERTEC
57
Autoevaluacin
1. Cuales son los tipos de usuarios que existen en Linux?
CIBERTEC
58
CIBERTEC
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
60
CIBERTEC
61
4.1
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.
CIBERTEC
62
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.
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
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.
CIBERTEC
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.
CIBERTEC
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.
CIBERTEC
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.
CIBERTEC
68
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.
CIBERTEC
69
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
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
CIBERTEC
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.
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
72
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.
CIBERTEC
73
Autoevaluacin
1.
2.
Indique cuales son los runlevels y que se realiza con cada uno de ellos
3.
CIBERTEC
74
CIBERTEC
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
CIBERTEC
76
CIBERTEC
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.
CIBERTEC
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.
CIBERTEC
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]
Fichero /etc/mtab
Contiene una lista de los filesystem que estn montados en el sistema Ejemplo de fichero /etc/mtab
CIBERTEC
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
CIBERTEC
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
82
Tambin existen herramientas en modo grfico, (qtparted, gparted, diskdruid, diskdrake) para poder trabajar con discos.
CIBERTEC
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.
En este caso montamos la tercera particin del primer disco en el directorio /home, el sistema de ficheros es ext3.
CIBERTEC
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.
5.2
CIBERTEC
85
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
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
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
CIBERTEC
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
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
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
88
existen comandos similares para otros tipos de sistemas de ficheros, p.e. reiserfstune, jfs_tune, etc.
# fdisk -l /dev/hd Disk /dev/hdb: 10.7 GB, 10737418240 bytes 16 heads, 63 sectors/track, 20805 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Device Boot Start End Blocks Id System /dev/hdb1 1 9689 4883224+ 83 Linux /dev/hdb2 9690 20805 5602464 82 Linux swap / Solaris
Finalmente, para que se active en el arranque, debe incluirse la entrada correspondiente en el fichero /etc/fstab /dev/hda2 none swap sw 0 0
Comando mount
Permite asociar (montar) directorios a sistemas de ficheros
CIBERTEC
89
Algunas opciones: o tipo tipo de sistema de ficheros (ext2, ext3, reiserfs, vfat, etc.); si se pone auto intenta determinar de forma automgica o -a monta los filesystems listados en /etc/fstab o -r/-w monta los sistemas de slo lectura/escritura o -f simulacin; usado con -v (verbose) para chequear o -n monta sin aadir la entrada a /etc/mtab; se usa cuando /etc es slo lectura o -o opciones opciones de montado; formato igual al usado en el fichero fstab
Comando umount
Desmonta los sistemas de ficheros
Algunas opciones o -a desmonta los filesystems listados en /etc/mtab o -r si falla, intenta remontar slo lectura o -f fuerza el desmontado Si hay algn proceso bloqueando el filesystem, este no se puede desmontar: o usar el comando fuser -c directorio para ver el PID del proceso
Autofs
Sistema que permite montar los filesystems ``bajo demanda''
cuando se accede al directorio, este se monta se desmonta automticamente despus de un tiempo de inactividad (por defecto, 5 minutos) suele usarse para montar sistemas remotos con NFS Ficheros de configuracin: o /etc/auto.master define los puntos de montado por cada uno de los puntos definidos, se inicia un proceso automount usando los parmetros indicados Ejemplo de auto.master:
CIBERTEC
90
/home /misc
o o
Los ficheros le indican al automount los filesystems a montar Ejemplo de auto.misc cdrom floppy windoz -fstype=iso9660,ro :/dev/cdrom -fstype=auto :/dev/fd0 -fstype=vfat :/dev/hda1
esto monta el cdrom, el floppy y la particin /dev/hda1 en los directorios /misc/cdrom, /misc/floppy y /misc/windoz respectivamente
Supermount
Tipo de pseudofilesystem que para manejar dispositivos removibles (como cdroms o diskettes)
el filesystem se monta/desmonta automticamente cuando se introduce/saca el CD o disquete la lnea correspondiente en el fstab debe ser del tipo: none /mnt/cdrom supermount dev=/dev/cdrom,fs=auto 0 0 se incluye ''de serie'' en algunas distribuciones (p.e. Mandriva) o en otras es necesario bajarse un parche para el kernel
pmount
Comando que permite al usuario montar dispositivos hotpluggable (como cdroms, pendrives, etc.)
el dispositivo se monta debajo del directorio /media no necesita estar listado en /etc/fstab puede usar HAL (Hardware Abstraction Layer) pra obtener informacin de los dispositivos
gnome-volume-manager
En el entorno GNOME monta automticamente dispositivos removibles cuando se conectan o se inserta un CD
usa udev y HAL el usuario puede configurar la accin realizada al conectarse el dispositivo (p.e. empezar a tocar un CD de musica cuando se inserta)
CIBERTEC
91
el comando bsico para chequeo y reparacin es fsck Al igual que mkfs, fsck es un front-end a comandos especficos para cada filesystem: e2fsck, fsck.ext2 o fsck.ext3 chequean sistemas ext2/ext3 fsck.jfs, fsck.reiserfs, fsck.xfs para JFS, ReiserFS y XFS fsck.msdos, fsck.vfat para sistemas MS-DOS
Varios ficheros que usan el mismo bloque Bloques marcados libres y ocupados simultneamente Nmero de enlaces errneo Nodos-i conteniendo informacin pero que no estn en la entrada del directorio (la informacin se recupera en el directorio lost+found con el nmero de nodo-i) Entradas del directorio que apuntan a nodos-i ilegales o vacos etc.
-t filesystem tipo de filesystem a chequear -A chequea los filesystems listados en /etc/fstab -N no ejecuta; simplemente indica lo que hara -R usado con -A no chequea el filesystem raz Otras opciones dependen del filesystem particular
5.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
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.
CIBERTEC
93
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
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]
CIBERTEC
95
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
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
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.
CIBERTEC
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
98
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
CIBERTEC
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)
CIBERTEC
100
CIBERTEC
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
102
CIBERTEC
103
6.1
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.
CIBERTEC
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.
CIBERTEC
105
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
106
Podr encontrar ms detalles acerca de la funcin de estos parametros en la pgina del manual de RPM.
Supongamos que ha borrado unos cuantos ficheros por accidente, pero no est seguro de qu es lo que ha borrado. Si quiere verificar completamente su sistema y ver qu se ha perdido, puede hacer:
CIBERTEC
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
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.
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
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
110
escritura sobre ese directorio, deberemos autentificarnos primero como superusuario (usuario root) con la orden: Su
Si todo fue bien y no ocurri ningn error, nuestra aplicacin ya estar lista para ser usada (y, al contrario que en los entornos Windows, no ser necesario tener que reiniciar el sistema). Dependiendo del script de instalacin, es posible que se haya creado alguna entrada en el men de nuestro escritorio y/o en el propio escritorio, aunque ninguna de estas opciones suele ser habitual. Lo ms seguro es que tengamos que crear esas entradas nosotros mismos de forma manual. Si el directorio de destino de nuestra aplicacin est incluido en nuestro PATH, podremos ejecutar la aplicacin directamente desde la consola tecleando su nombre. Lo ms usual es que tanto el directorio /usr/local/bin como el /home/usuario/bin estn ya incluidos en nuestro PATH personal.
Un poco de limpieza
Durante la compilacin de un programa se genera un buen nmero de archivos adicionales en el directorio en el que fue descomprimido. Normalmente, esos archivos no se necesitan para nada (a menos que pensemos modificar el cdigo fuente del programa y volver a compilarlo), por lo que es recomendable eliminarlos para ahorrar espacio en nuestro disco duro. Para ello, tras la instalacin podemos ejecutar la orden: make clean
CIBERTEC
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
CIBERTEC
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:
CIBERTEC
113
Ejemplo:
Ejemplo:
CIBERTEC
114
Ejemplo:
Lo siguiente listar todos los paquetes instalados en el sistema y que pueden (deben) actualizarse:
yum list updates | less
CIBERTEC
115
Autoevaluacin
1. Qu es el RPM?
3. Cules son los pasoa para instalar una aplicacin desde su cdigo fuente?
CIBERTEC
116
CIBERTEC
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
118
CIBERTEC
119
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
120
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.
CIBERTEC
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
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
CIBERTEC
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
CIBERTEC
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
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.
CIBERTEC
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
El usuario siempre podr rebasar una cuota de gracia pero nunca una cuota absoluta.
CIBERTEC
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
9.6
COMPROBACIONES
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.
CIBERTEC
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
128
Autoevaluacin
1. Cul es el nombre del archivo que contiene registrado los mensajes de los servicios
3. Cul es el comando que informa sobre los ltimos logins de los usuarios en el
CIBERTEC
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
130
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
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.
CIBERTEC
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.
CIBERTEC
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.
CIBERTEC
134
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
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.
CIBERTEC
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
CIBERTEC
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
Necesitar tener instalados los siguientes paquetes, que seguramente vienen incluidos en los discos de instalacin de su distribucin predilecta:
CIBERTEC
138
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
CIBERTEC
139
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
CIBERTEC
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
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.
browseable
CIBERTEC
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
CIBERTEC
143
CIBERTEC
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
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
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.
CIBERTEC
147
CIBERTEC
148
CIBERTEC
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
150
CIBERTEC
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.
CIBERTEC
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
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:
CIBERTEC
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
CIBERTEC
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.
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
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.
CIBERTEC
156
Autoevaluacin
1. Qu permite el servicio NFS? 2. Qu permite el servicio samba? 3. Cul es el archivo de configuracin del servicio NFS?
CIBERTEC
157
UNIDAD
11
SERVIDORES DNS
OBJETIVOS ESPECFICOS Comprender el funcionamiento del Sistema de Nombres de Dominio Comprender el funcionamiento del Servidor DNS de solo-cach
CONTENIDOS Introduccin a DNS Funcionamiento del DNS Configuracin del Servidor DNS Configuracin y consultas del cliente DNS. Configuracin de DNS Primario
CIBERTEC
158
CIBERTEC
159
CIBERTEC
160
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.
CIBERTEC
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.
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.
CIBERTEC
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.
CIBERTEC
163
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)
SRV (Service)
TXT (Text)
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
164
11.4
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).
CIBERTEC
165
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
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.
CIBERTEC
167
Otra forma de iniciar el servidor DNS es ejecutando el siguiente comando: /etc/init.d/named start
CIBERTEC
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.
CIBERTEC
169
CIBERTEC
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.
CIBERTEC
171
CIBERTEC
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
CIBERTEC
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:~#
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
CIBERTEC
174
CIBERTEC
175
CIBERTEC
176
CIBERTEC
177
CIBERTEC
178
Marcando la casilla Crear Record de mapeo inverso se creara la zona inversa. Clic en Guardar.
CIBERTEC
179
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
180
CIBERTEC
181
Autoevaluacin
Segn lo expuesto en clase, de un ejemplo de cmo usar el servidor DNS Primario.
CIBERTEC
182
CIBERTEC
183
UNIDAD
12
SERVIDOR DHCP
TEMA Entender e implementar el servidor DHCP
CIBERTEC
184
CIBERTEC
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
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.
up2date -i dhcp
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,
CIBERTEC
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
188
tail f /var/log/messages
CIBERTEC
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
190
CIBERTEC
191
UNIDAD
13
SERVIDOR WEB
TEMA Describir el uso del Servidor HTTP Apache.
CIBERTEC
192
CIBERTEC
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.
CIBERTEC
194
No olvidar permitir en el Firewall local las peticiones de acceso al servidor HTTP Apache.
CIBERTEC
195
CIBERTEC
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.
CIBERTEC
197
CIBERTEC
198
Ejercicio 1:
Crear una segunda pgina web en el directorio /var/www/html/datos/ y probar el acceso. Anote sus observaciones:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CIBERTEC
199
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
200
Paso 5. Reiniciar los demonios: named y hhtpd. Paso 6. Probar desde un equipo cliente el acceso al servidor web
CIBERTEC
201
Ejercicio 2:
Crear una segunda pgina web en el directorio /var/www/html2 y probar el acceso. Anote sus observaciones:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CIBERTEC
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
CIBERTEC
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
CIBERTEC
204
CIBERTEC
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
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.
Paso 3.
Paso 4.
CIBERTEC
207
CIBERTEC
208
Paso 2.
Paso 3.
Ingrese los datos correspondiente en cada casilla, luego clic en el botn Siguiente.
CIBERTEC
209
Paso 4.
Paso 4.
Ingrese la direccin IP de los servidores: entrante (SMTP) y saliente (POP3), luego clic en el botn Finalizar.
CIBERTEC
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
CIBERTEC
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
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
CIBERTEC
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
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.
CIBERTEC
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
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
CIBERTEC