Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Avanzados (Linux)
2
Índice
Presentación 5
Red de contenidos 6
UNIDAD DE APRENDIZAJE 1
INTRODUCCIÓN AL SOFTWARE LIBRE
TEMA 1 : Introducción al software libre, características de 7
Linux
UNIDAD DE APRENDIZAJE 2
COMANDOS BÁSICOS Y CONFIGURACIÓN DE RED
TEMA 2 : Comandos Básicos para el manejo de Linux 27
UNIDAD DE APRENDIZAJE 3
ADMINISTRACIÓN DE USUARIOS Y GRUPOS
TEMA 3 : Administrar usuarios y grupos en un ambiente 45
Windows
UNIDAD DE APRENDIZAJE 4
PROCESO DE ARRANQUE EN LINUX
TEMA 4 : Proceso de aranque, inicio y cierre del sistema. 57
UNIDAD DE APRENDIZAJE 5
FILESYSTEMS EN LINUX
TEMA 5 : Manejo de las particiones en linux 83
UNIDAD DE APRENDIZAJE 6
INSTALACIÓN DE APLICACIONES EN LINUX
TEMA 6 : Formas de instalar aplicaciones en Linux 109
UNIDAD DE APRENDIZAJE 7
Semana de Exámenes Parciales de Teoría
UNIDAD DE APRENDIZAJE 8
Examen Parcial de Laboratorio
UNIDAD DE APRENDIZAJE 9
ANÁLISIS DE ARCHIVOS DE REGISTRO DEL SISTEMA LINUX
TEMA 9 : Análisis de archivos de registro y cuotas de disco 123
UNIDAD DE APRENDIZAJE 10
SERVIDOR NFS y SAMBA
TEMA 10 : Función de los servidores NFS y Samba 135
UNIDAD DE APRENDIZAJE 11
SERVIDORES DNS
TEMA 11 : Uso del Sistema de Nombres de Dominio (DNS). 167
UNIDAD DE APRENDIZAJE 12
SERVIDOR DHCP
TEMA 12 : Implementar el servidor DHCP 191
UNIDAD DE APRENDIZAJE 13
SERVIDOR WEB
TEMA 13 : Servidor http 197
UNIDAD DE APRENDIZAJE 14
SERVIDOR DE CORREO
TEMA 14 : Implementar el uso de de un servidor de correo 209
Exámenes Finales.
Presentación
El curso Sistemas Operativos Avanzados (Linux) muestra como primera parte temas
de introducción al sistema operativo Linux, con el cual se va tomar una primera
visión de este maravilloso sistema operativo, para luego entrara mas en detalle el
tema de la administración de este.
UNIDAD DE
APRENDIZAJE
1
TEMA
OBJETIVOS ESPECÍFICOS
Conocer que es un sistema Operativo
CONTENIDOS
Sistema Operativo
Proyecto GNU
Proyecto Linux
Software Libre
Distribuciones Linux
1. Sistema Operativo
Un sistema operativo es el encargado de llevar a cabo todas las gestiones sobre los
recursos de una computadora, es decir, un conjunto de programas de computadora
destinado a permitir una administración eficaz de sus recursos. Comienza a trabajar
cuando se enciende el computador, y gestiona el Hardware de la máquina desde los
niveles más básicos, permitiendo también la interacción con el usuario.
• Permitir que los cambios debidos al desarrollo del propio SO se puedan realizar sin
interferir con los servicios que ya se prestaban (evolutividad).
1.2 UNIX
Unix es un sistema operativo portable, multitarea y multiusuario; desarrollado, en
principio, en 1969 por un grupo de empleados de los laboratorios Bell de AT&T,
entre los que figuran Ken Thompson, Dennis Ritchie y Douglas McIlroy.
1.3 BSD
BSD son las iníciales de Berkeley Software Distribution (en español, Distribución de
Software Berkeley) y se utiliza para identificar un sistema operativo derivado del
sistema Unix nacido a partir de los aportes realizados a ese sistema por la
universidad de California en Berkeley.
En los primeros años del sistema Unix sus creadores, los Laboratorios Bell de la
compañía AT&T, autorizaron a la Universidad de California en Berkeley y a otras
universidades a utilizar el código fuente y adaptarlo a sus necesidades. Durante la
década de los setenta y los ochenta Berkeley utilizó el sistema para sus
investigaciones en materia de sistemas operativos. Cuando AT&T retiró el permiso
de uso a la universidad por motivos comerciales, la universidad promovió la creación
de una versión inspirada en el sistema Unix utilizando las aportaciones que ellos
habían realizado, permitiendo luego su distribución con fines académicos y al cabo
de algún tiempo reduciendo al mínimo las restricciones referente a su copia,
distribución o modificación.
1.4 GNU/Linux
Linux es un sistema operativo tipo Unix que se distribuye bajo la Licencia Pública
General de GNU (GPL), es decir que es software libre. Su nombre proviene del
Núcleo de Linux, desarrollado en 1991 por Linus Torvalds en conjunto con las
aplicaciones de sistema creadas por el proyecto GNU liderado por Richard Stallman.
Para asegurar que el software GNU permaneciera libre para que todos los usuarios
pudieran "ejecutarlo, copiarlo, modificarlo y distribuirlo", el proyecto debía ser
liberado bajo una licencia diseñada para garantizar esos derechos al tiempo que
evitase restricciones posteriores de los mismos. La idea se conoce como la Licencia
General Pública de GNU (GPL).
programadores para contribuir a GNU, aunque una porción sustancial del desarrollo
fue (y continúa siendo) producida por voluntarios. A medida que GNU ganaba
renombre, negocios interesados comenzaron a contribuir al desarrollo o
comercialización de productos GNU y el correspondiente soporte técnico. El más
prominente y exitoso de ellos fue Cygnus Solutions, ahora parte de Red Hat.
1.4.1.1 Etimología
GNU es un acrónimo recursivo que significa GNU No es Unix (GNU is Not Unix). En
español, se recomienda pronunciarlo ñu como el antílope africano, por ello, el
término mayoritariamente se deletrea (GNU) para su mejor comprensión.
"La Fundación para el Software Libre (FSF) está dedicada a eliminar las
restricciones sobre la copia, redistribución, entendimiento, y modificación de
programas de computadoras. Con este objeto, promociona el desarrollo y uso del
software libre en todas las áreas de la computación, pero muy particularmente,
ayudando a desarrollar el sistema operativo GNU.
Esta licencia se aplica a cualquier programa o trabajo que contenga una nota puesta
por el propietario de los derechos del trabajo estableciendo que su trabajo puede ser
distribuido bajo los términos de esta "GPL General Public License". El "Programa",
utilizado en lo subsecuente, se refiere a cualquier programa o trabajo original, y el
"trabajo basado en el Programa" significa ya sea el Programa o cualquier trabajo
derivado del mismo bajo la ley de derechos de autor: es decir, un trabajo que
contenga el Programa o alguna porción de él, ya sea íntegra o con modificaciones o
traducciones a otros idiomas.
Entonces, el núcleo creado por Linus Torvalds, quien se encontraba por entonces
estudiando en la Universidad de Helsinki, llenó el hueco final que el sistema
operativo GNU exigía. Subsecuentemente, miles de programadores voluntarios
alrededor del mundo han participado en el proyecto, mejorándolo continuamente y
agregando más líneas al código original.
1.5.1.1 Freeware
El término en inglés freeware define un tipo de software que se distribuye sin costo y
por tiempo ilimitado. A veces se incluye el código fuente, pero no es lo usual.
El freeware suele incluir una licencia de uso, que permite su redistribución pero con
algunas restricciones, como no modificar la aplicación en sí, ni venderla, y dar
cuenta de su autor. También puede desautorizar el uso en una compañía con fines
comerciales o en una entidad gubernamental.
1.5.1.2 Shareware
Para adquirir una licencia de software que permite el uso del software de manera
completa se requiere de un pago.
La Base Estándar para Linux (Linux Standard Base, abreviado LSB), es un proyecto
conjunto de varias Distribuciones de Linux bajo la estructura organizativa del Free
Standards Group con el objeto de crear y normalizar la estructura interna de los
sistemas operativos derivados de Linux. La LSB está basada en la Especificación
POSIX, la Especificación Única de UNIX (Single UNIX Specification) y en varios
otros estándares abiertos, aunque extiende éstos en ciertas áreas.De acuerdo a la
definición de la propia LSB:
Algunos Live CD incluyen una herramienta que permite instalarlos en el disco duro.
Otra característica es que por lo general no se efectúan cambios en la computadora
utilizada, aunque algunos pueden almacenar preferencias si
así se desea.
1.8.1 Características
El primer Live CD Linux fue Yggdrasil Linux en 1995, aunque fue poco exitosa.
Posteriormente surgióDemoLinux (año 2000). El auge de esta modalidad de Linux se
inició alrededor del año 2003 con la distribución alemana de Knoppix, basada, a su
vez, en la distribución de software Debian. Una de las mejoras de este método fue la
compresión cloop, esto permitió sobrepasar los 650700 MB del CD (se usaba el
driver loop) y lograr introducir hasta 2 GB.
1.9.1 Gnome
1.9.1.1 Objetivo
• La libertad para crear un entorno de escritorio que siempre tendrá el código fuente
disponible para reutilizase bajo una licencia de software libre.
• El aseguramiento de la accesibilidad, de modo que pueda ser utilizado por
cualquiera, sin importar sus conocimientos técnicos y discapacidad física.
• Hacer que esté disponible en muchos idiomas. En el momento está siendo
traducido a más de 100 idiomas.
• Un ciclo regular de liberaciones y una estructura de comunidad disciplinada.
1.9.1.2 Historia
En esos momentos existía otro proyecto anterior con los mismos objetivos, pero con
diferentes medios: KDE. Los primeros desarrolladores de GNOME criticaban a dicho
proyecto por basarse en la biblioteca de controles gráficos Qt, cuya licencia (QPL),
aunque libre, no era compatible inicialmente con la licencia GPL de la FSF.
Años más tarde los problemas de licencia de Qt se han resuelto y estas críticas han
cesado. Sin embargo, los dos proyectos siguen rumbos tecnológicos distintos y se
hacen una competencia amigable.
Como con la mayoría de los programas GNU, GNOME ha sido diseñado para
ejecutarse en toda la gama de sistemas operativos de tipo Unix con X Window, y
especialmente pensado para GNU/Linux. Desde sus inicios se ha utilizado la
biblioteca de controles gráficos GTK, originalmente desarrollada para el programa
The GIMP.
A medida que el proyecto ha ido progresando en los últimos años, los objetivos del
mismo se han extendido para tratar una serie de problemas en la infraestructura
Unix existente Actualmente el proyecto evoluciona bajo amparo de la Fundación
GNOME.
1.9.2 KDE
1.9.2.1 Objetivo
1.9.2.2 Historia
• KDE 1: Al año siguiente, se publicó KDE 1.0. Esta versión contenía un panel (barra
de tareas y lanzador de aplicaciones), un escritorio sobre el cual dejar iconos, un
administrador de archivos (Kfm) y un gran número de
utilidades.
• KDE 2: KDE 2.0, lanzado en el año 2000, fue reescrito casi por completo. Esta
versión incluía Konqueror (un navegador web y gestor de archivos) además de
muchas nuevas tecnologías con el objetivo de mejorar la
integración entre aplicaciones. En esta versión mejoró parcialmente el aspecto
visual.
1.9.3 XFCE
Xfce (éxfeis) es un entorno de escritorio ligero para sistemas tipo Unix como Linux,
BSD, Solaris y derivados.
Xfce está basado en la biblioteca GTK+ 2.x y utiliza el gestor de ventanas Xfwm.
Xfce se parecía en sus inicios al entorno de escritorio CDE, pero fue alejándose
notablemente debido a que fue reprogramado nuevamente desde cero(ya lo había
hecho entre las versiones 2.x y 3.x), y a diferencia de sus anteriores versiones,
ahora cuenta con un sistema modular pudiendo gestionar un sistema de tipo
multihead de manera bastante sencilla, y sigue todos los estándares establecidos
por Freedesktop.org.
1.9.4 Enlightenment
DR17 está en fase desarrollo en este momento, pero ciertas características del
núcleo ya están disponibles:
Autoevaluación
UNIDAD DE
APRENDIZAJE
2
TEMA
OBJETIVOS ESPECÍFICOS
Conocer los comandos básicos del entorno linux
CONTENIDOS
Comandos para información del sistema
1.1. arch
La funcion de este comando es similar al anterior, la unica diferencia es que este nos
arroja más información del sistema de acuerdo al numero de parametros que le
pasemos.Los parametros que podemos usar son:
-a: Imprimeel nombre kernel,del equipo, version del kernel, fecha en que fue
apagado el sistema por ultima vez, arquitectura del sistema
- s: Imprime el nombre del kernel
- n: Imprime el nombre del equipo
- r: Imprimeversion del kernel
- i o –p: Imprime la arquitectura del equipo
- o:.Imprime el nombre del sistema operativo
Ejemplo:
1.3. /proc/cpuinfo
Nos muestra la informacion referente al procesador del sistema
Ejemplo:
1.4. /proc/meminfo
Verifica el uso de la memoria
Ejemplo:
1.5. /proc/swaps
Nos muestra el uso del espacio en memoria SWAP
Ejemplo:
1.6. /proc/mounts
Nos muestra los sistemas de ficheros que se encuentran montados
Ejemplo:
1.7. date
Nos muestra la fecha que tiene registrado el sistema
Ejemplo:
date [MesDiaHoraMinutoAño.Segundos]
Ejemplo:
1.8. w
Nos indica los usuarios que se encuentran en el sistema asi como lo que hacen en el
Ejemplo:
1.9. df h
1.10. ps xa
Este comando lista los procesos que se estan ejecutando en el sistema
1.11. mkdir
Este comando sirve para crear una carpeta
Ejemplo:
Ejemplo
1.12. touch
Sirve para generar archivos sin contenido
Ejemplo
1.13. cd
Comando que nos permite movernos entre directorios, su sintaxis es:
cd [carpetaDondeQuieroMoverme]
Ejemplo:
1.14. cp
Comando que sirve para copiar archivos o carpetas, su sintaxis es
cp [parametros] [archivo/Directorio] [rutaDestino]
Los parametros son:
Ejemplo 1:
Copiando un archivo a una carpeta
Ejemplo 2:
1.15. mv
Comando que sirve para mover archivos o carpetas, su sintaxis es
mv [parametros][archivo/Directorio] [rutaDestino]
Los parametros son:
Ejemplo 1:
Ejemplo 2:
Moviendo un archivo a una carpeta
1.16. rm
Comando que sirve para eliminar archivos o carpetas, su sintaxis es
rm [parametros] [archivo/Directorio]
Ejemplo 1:
Ejemplo2:
1.17. ls
Lista los archivos que contiene una carpeta, su sintaxis es
ls [parametros]
Ejemplo:
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
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
1.19. updatedb
Este comando sirve para actualizar la base de datos de nuestro sistema
1.20. mount
El comando mount nos sirve para montar desde particiones de disco, hasta
dispositivos externos como cd's, dvd's, floopy drives, imagenes ISO, o dispositivos
de almacenamiento masivo de datos.
Ejemplo 2. Montando en CD
2. Compresion de Archivos
2.1 tar
El comando tar es utilizado normalmente para empaquetar o desempaquetar
archivos.
La sintaxis para el buen uso de este comando es:
2.2. zip
El comando zip es utilizado normalmente para comprimir paquetes.
La sintaxis para el buen uso de este comando es:
Ejemplo:
HOSTNAME Define el nombre del equipo, el cual debe de tener la forma del
Fully Qualified Domain Name (FQDN). Por ejemplo:
equipo.ejemplo.net
/etc/sysconfig/networkscripts/
BOOTPROTO
none No utiliza ningún protocolo de arranque.
static Se define de forma manual los parámetros de red.
dhcp Obtiene los parámetros de red por medio de un
servidor de DHPC
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
Autoevaluación
(a) cd
(b) mkdir
(c) date
(d) messages
sistema?
(a) ls
(b) cat
(c) w
(d) tar
(a) hosts
(b) messages
(c) resolv.conf
(d) grub.conf
UNIDAD DE
APRENDIZAJE
3
TEMA
TEMA
Aprender cómo administrar usuarios y grupos en un ambiente Windows
OBJETIVOS ESPECÍFICOS
Aprender a crear, editar y eliminar usuarios
CONTENIDOS
Introducción
Contraseñas
Ejemplos
1. Introducción
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 físico en particular
Los usuarios dentro de un mismo grupo pueden leer, escribir o ejecutar archivos que
pertenecen a ese grupo.
Linux soporta listas de control de acceso (ACLs) para archivos y directorios lo que
permite colocar permisos para usuarios específicos además del creador.
En la tabla siguiente se lista los grupos estándar configurados por una instalación.
Los grupos son almacenados en el archivo /etc/group.
gdm 42
htt 101
mysql 27
webalizer 67
mailnull 47
smmsp 51
squid 23
ldap 55
netdump 34
pcap 77
quaggavt 102
quagga 92
radvd 75
slocate 21
wnn 49
dovecot 97
radiusd 95
Linux utiliza un esquema de grupo privado de usuario (UPG), lo que hace más fácil
de manejar los grupos de UNIX.
Se crea un UPG siempre que se añade un nuevo usuario al sistema. Un UPG tiene
el mismo nombre que el usuario para el cual se crea y ese usuario es el único
miembro de ese UPG.
Los UPGs hacen que sea más seguro configurar los privilegios por defecto para un
nuevo archivo o directorio lo que permite a ambos, tanto el usuario como al grupo de
ese usuario hacer modificaciones al archivo o directorio.
Bajo este esquema, todos los demás usuarios incluyendo miembros del grupo del
creador no tienen derecho a realizar ninguna modificación. Sin embargo, bajo el
esquema UPG, esta "protección de grupo" no es necesaria puesto que cada usuario
tiene su propio grupo privado.
6. Contraseñas Shadow
del sistema. Por esta razón, el programa de instalación activa por defecto las
contraseñas shadow.
Lo siguiente es una lista de las ventajas de las contraseñas shadow sobre el método
tradicional de almacenar contraseñas en los sistemas basados en UNIX:
Abajo se muestra una lista de los comandos que no funcionan a menos que se
activen primero las contraseñas shadow:
. chage
. gpasswd
7. Ejemplos
El primer paso para crear una nueva cuenta consiste en utilizar el mandato useradd
del siguiente modo:
useradd nombre_del_usuario
Ejemplo:
passwd nombre_del_usuario
Ejemplo:
Este procedimiento también puede utilizarse para cambiar una contraseña existente.
Opciones avanzadas.
-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 expiración de una cuenta de
usuario. Esta debe ingresarse en el siguiente formato: AAAA-MM-DD.
-g initial group
Se utiliza para establecer el grupo inicial al que pertenecerá el usuario.
De forma predeterminada se establece como único grupo 1. Nota: el
grupo asignado debe de existir.
-G group,[...]
Se utiliza para establecer grupos adicionales a los que pertenecerá el
usuario. Estos deben separarse utilizando una coma y sin espacios.
Esto es muy conveniente cuando se desea que el usuario tenga
acceso a determinados recursos del sistema, como acceso a la unidad
de disquetes, administración de cuentas PPP y POP. Nota: los grupos
asignado deben de existir.
-m
Se utiliza para especificar que el directorio de trabajo del usuario debe
ser creado si acaso este no existiese, y se copiaran dentro de este los
archivos especificados en /etc/skel.
-s shell
Se utiliza para establecer el Shell que podrá utilizar el usuario. De
forma predeterminada, en Red Hat™ Linux® y Fedora™ Core, se
establece bash como Shell predefinido.
-u uid
Se utiliza para establecer el UID, es decir, la ID del usuario. Este debe
ser único. De forma predeterminada se establece como UID el número
mínimo 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
intérprete de mandatos y tendrá un directorio de trabajo en /home/jperez.
userdel nombre_del_usuario
Ejemplo:
userdel -r nombre_del_usuario
Ejemplo:
Manejo de Grupos.
Alta de grupos.
groupadd grupo-que-sea
Un grupo de sistema es aquel que tiene un número de identidad de grupo (GID) por
debajo del 500. Regularmente se asigna automáticamente el número de identidad de
grupo más bajo disponible.
Baja de grupos
Autoevaluación
(a) passwd
(b) shadow
(c) hosts
(d) messages
(a) passwd
(b) shadow
(c) hosts
(d) messages
UNIDAD DE
APRENDIZAJE
4
TEMA
TEMA
Describir el proceso de aranque en Linux, asi como los componetes que intervienen
en él.
OBJETIVOS ESPECÍFICOS
Comprender el proceso de aranque, inicio y cierre del sistema
CONTENIDOS
Proceso de aranque, inicio y cierre del sistema
El Grub en linux
La estructura de archivos
1.2.1. La BIOS
Una vez que se haya cargado, la BIOS chequea los periféricos 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 continuación si esto falla, echa un vistazo a las unidades de disco duro
del sistema. En la mayoría de los casos, el orden de búsqueda de las unidades para
arrancar es controlado por una configuración 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 sólo tiene 512 bytes de tamaño y
contiene las instrucciones de código de máquina para el arranque del equipo,
llamado un gestor de arranque, así como también 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.
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 versión del kernel
especificada en las configuraciones del gestor de arranque).
Para instrucciones sobre el uso del gestor de arranque para suministrar argumentos
de línea de comandos al kernel.
1.2.3. El kernel
Cuando se carga el kernel, éste inicializa y configura la memoria del ordenador y el
diferente hardware conectado al sistema, incluyendo todos los procesadores,
subsistemas de entrada/salida y dispositivos de almacenamiento. A continuación
El kernel luego crea un dispositivo root, monta la partición root como sólo 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 más.
Para configurar el entorno de usuario, el kernel inicia el programa /sbin/init.
especiales en los puertos seriales que deben ser inicializados, rc.sysinit ejecutará el
archivo /etc/rc.serial.
El comando init luego ejecuta el script /etc/inittab, el cual describe cómo se debería
configurar el sistema en cada nivel de ejecución SysV init. Los niveles de ejecución
son un estado, o modo, definido por los servicios listados en el SysV directorio
/etc/rc.d/rc<x>.d/, donde <x> es el número de nivel de ejecución.
Casi todos los ficheros en /etc/rc.d/rc5.d/ son enlaces simbólicos apuntando a los
scripts localizados en el directorio /etc/rc.d/init.d/. Los enlaces simbólicos se usan en
cada uno de los directorios rc de manera que los niveles de ejecución puedan ser
reconfigurados al crear, modificar y eliminar los enlaces simbólicos sin que afecte a
los scripts actuales a los que se refiere.
Este script ejecuta los comandos setserial para configurar los puertos seriales del
sistema.
Los ficheros de configuración para SysV init están en el directorio /etc/rc.d/. Dentro
de este directorio, se encuentran los scripts rc, rc.local, rc.sysinit, y, opcionalmente,
los scripts rc.serial así como los siguientes directorios:
init.d/
rc0.d/
rc1.d/
rc2.d/
rc3.d/
rc4.d/
rc5.d/
rc6.d/
El directorio init.d/ contiene los scripts usados por el comando /sbin/init cuando se
controlan los servicios. Cada uno de los directorios numerados representan los seis
niveles de ejecución predeterminados configurados por defecto bajo 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 gráfico multiusuario completo (con una pantalla de inicio de sesión basada
en X)
. 6 . Rearrancar
1.5. Apagar
/sbin/shutdown -h now
/sbin/shutdown -r now
Los usuarios de consola PAM pueden usar los comandos reboot y halt para apagar
el equipo mientras se está en niveles de ejecución 1 hasta 5. Para más información
sobre los usuarios de consola.
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.
Cuando se enciende un equipo con Red Hat Enterprise Linux, el sistema operativo
es cargado en memoria por un programa especial llamado gestor de arranque. Un
programa gestor de arranque existe en el disco duro primario del sistema (o en otros
dispositivos) y es responsable de la carga del kernel de Linux con sus archivos
necesarios o (en algunos casos) de otros sistemas operativos en la memoria.
2.2. GRUB
GNU GRand Unified Boot loader o GRUB es un programa que habilita al usuario a
seleccionar qué sistema operativo instalado o kernel cargar en el momento de
arranque del sistema. Permite también que el usuario transmita argumentos al
kernel.
Esta sección explica con más detalle el papel específico que desempeña GRUB al
arrancar un sistema x86. Para hacerse una idea del proceso de arranque, GRUB se
carga asimismo en la memoria en las diferentes etapas:
Una vez que el paquete GRUB esté instalado, abra un intérprete de comandos de la
shell y ejecute el comando /sbin/grub-install <ubicación> donde <ubicación> es la
ubicación en la que la Etapa 1 de GRUB debería 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 próxima vez que arranque el sistema, el menú del gestor de arranque gráfico
GRUB aparecerá antes del que el kernel se cargue en memoria.
Una de las cuestiones más importantes que deben entenderse antes de utilizar
GRUB es cómo el programa hace referencia a los dispositivos, por ejemplo, a los
(hd0,0)+1
chainloader +1
Luego, se ejecuta el comando kernel con la ubicación del archivo del kernel como
una opción. Una vez que el kernel de Linux inicia, establece el sistema de archivos
raíz con el cual los usuarios de Linux están familiarizados. El sistema de archivos
raíz de GRUB original y sus montajes se olvidan; la única finalidad de su existencia
era arrancar el archivo del kernel.
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux AS (2.6.8-1.523)
root (hd0,0)
kernel /vmlinuz-2.6.8-1.523 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.8-1.523.img
# section to load Windows
title Windows
rootnoverify (hd0,0)
chainloader +1
Este archivo indicará a GRUB que cree un menú con Linux como el sistema
operativo predeterminado y que establezca un arranque automático después de 10
segundos. Se proporcionan dos secciones, una para cada entrada de sistema, con
comandos específicos para la tabla de partición del sistema.
Casi todas las formas en que un sistema operativo interactúa con sus usuarios,
aplicaciones y modelos de seguridad dependen de la manera en que almacena y
organiza los archivos en los dispositivo de almacenamiento.
Los archivos compartibles son aquéllos a los que se puede acceder desde varios
hosts; mientras que los archivos no compartibles sólo están disponibles localmente.
Los archivos variables, tales como documentos, pueden cambiar en cualquier
momento; los archivos estáticos, tales como binarios, no cambian sin una actuación
por parte del administrador de sistemas. La razón para visualizar a los archivos de
esta manera es para ayudar a correlacionar la función del archivo con los permisos
otorgados a los directorios que los sostienen. El modo en que el sistema operativo y
sus usuarios interactúan con un archivo dado determina el directorio en el cual estos
archivos están ubicados, si ese directorio está montado como de sólo lectura o sólo
escritura y el nivel de acceso que cada usuario tiene a ese archivo. El nivel superior
de esta organización es crucial. El acceso a los directorios inferiores puede estar
restringido o se pueden manifestar problemas de seguridad si el nivel superior es
dejado sin organizar o no sigue ninguna estructura rígida.
El cumplimiento del estándar significa varias cosas, pero los dos aspectos más
importantes son la compatibilidad con otros sistemas que siguen el estándar y la
capacidad de poder montar la partición /usr/ en modo sólo lectura. Este segundo
punto es importante porque el directorio contiene ejecutables comunes y no está
pensado para ser alterado por los usuarios. Por este motivo, el directorio /usr/ se
monta como de sólo lectura, y esto se puede hacer directamente desde el CD-ROM
o desde otro ordenador a través de NFS en modo sólo lectura.
El directorio /etc/ está reservado para los archivos de configuración que son locales
a su ordenador. No deben colocarse binarios en /etc/. Los binarios que antiguamente
se colocaban en /etc/ deberían de colocarse en /sbin/ o en /bin/. Los directorios X11/
y skel/ son subdirectorios del directorio /etc/:
/etc
|- X11/
|- skel/
El directorio /lib/ debería contener sólo las bibliotecas (libraries) necesarias para
ejecutar los binarios en /bin/ y en /sbin/. Estas imágenes de bibliotecas compartidas
son particularmente importantes para arrancar el sistema y ejecutar comandos en el
sistema de archivos raíz.
Los paquetes grandes que abarcan diferentes subpaquetes, cada uno de los cuales
desempeñan una tarea específica, también se ubican dentro de /opt/, aportando a
este gran paquete un modo estándar de organizarse. De este modo, el paquete
sample puede tener diferentes herramientas que cada una irá en sus propios
subdirectorios, tales como /opt/sample/tool1/ y /opt/sample/tool2/, cada uno de los
cuales puede tener su propio bin/, man/ y otros directorios similares.
El directorio /proc/ contiene "archivos" especiales que o bien extraen información del
kernel o bien la envían a éste. Debido a la gran variedad de datos que contiene el
directorio /proc/ y a la gran cantidad de maneras que este directorio utiliza para
comunicar con el kernel.
El directorio /sbin/ almacena los ejecutables usados por el usuario root. Los
ejecutables en /sbin/ sólo se usan para arrancar y hacer operaciones de
recuperación del sistema. De este directorio, la FHSdice:
/sbin contiene los archivos binarios esenciales para arrancar, restaurar, recuperar
y/o reparar el sistema, además de los binarios en /bin. Los programas ejecutados
después de /usr/, son montados (si no surge ningún problema) y ubicados en
/usr/sbin. Los programas de administración del sistema instalados localmente se
deberían ubicar en /usr/local/sbin.
Para ver ciertos dispositivos USB y Firewire montados, consulte la página man de
/sbin/hotplug
and /sbin/udev.
El directorio /usr/ es para archivos que puedan ser compartidos a través de muchas
máquinas. El directorio /usr habitualmente tiene su propia partición y se monta en
sólo lectura. Como mínimo, los siguientes directorios deberían ser subdirectorios de
/usr/:
/usr
|- bin/
|- etc/
|- games/
|- include/
|- kerberos/
|- lib/
|- libexec/
|- local/
|- sbin/
|- share/
|- src/
|- tmp -> ../var/tmp/
|- X11R6/
El FHS dice: La jerarquía /usr/local es para el uso del administrador del sistema al
instalar software localmente. Necesita estar protegido contra sobreescrituras cuando
se actualiza el software del sistema. Puede ser utilizado por programas y datos
compartidos entre grupos de hosts, pero que no se encuentran en /usr.
El directorio /usr/local/ es similar en estructura al directorio /usr/. Tiene los siguientes
subdirectorios, que son similares en propósito a los del directorio /usr/:
/usr/local
|- bin/
|- etc/
|- games/
|- include/
|- lib/
|- libexec/
|- sbin/
|- share/
|- src/
Por ejemplo, si usted ha montado /usr/ sólo lectura de NFS desde un host remoto,
aún es posible instalar un paquete o programa bajo el directorio /usr/local/.
Ya que el FHS requiere que Linux sea capaz de montar /usr/ en sólo lectura,
cualquier programa que escriba archivos log o que necesite los directorios spool/ o
lock/ debería escribirlos en el directorio /var/. El FHS especifica que /var/ es para:
Archivos de datos variables. Esto incluye archivos y directorios spool, datos de
administración, de registro y archivos temporales.
Abajo se muestran algunos de los directorios encontrados dentro del directorio /var/:
/var
|- account/
|- arpwatch/
|- cache/
|- crash/
|- db/
|- empty/
|- ftp/
|- gdm/
|- kerberos/
|- lib/
|- local/
|- lock/
|- log/
|- mail -> spool/mail/
|- mailman/
|- named/
|- nis/
|- opt/
|- preserve/
|- run/
+- spool/
|- at/
|- clientmqueue/
|- cron/
|- cups/
|- exim/
|- lpd/
|- mail/
|- mailman/
|- mqueue/
|- news/
|- postfix/
|- repackage/
|- rwho/
|- samba/
|- squid/
|- squirrelmail/
|- up2date/
|- uucp
|- uucppublic/
|- vbox/
|- tmp/
|- tux/
|- www/
|- yp/
Los archivos de registro del sistema tales como messages/ y lastlog/ van en el
directorio /var/log/. El directorio /var/lib/rpm/ también contiene las bases de datos
RPM. Los archivos lock van en /var/lock/, habitualmente en directorios para el
programa usando el archivo. El directorio /var/spool/ tiene subdirectorios para
programas en los que se almacenan archivos de datos.
Autoevaluación
1. Explique que es el grub y cual es su función
2. Indique cuales son los runlevels y que se realiza con cada uno de ellos
UNIDAD DE
APRENDIZAJE
5
TEMA
Filesystems en Linux
TEMA
Describir el manejo de las particiones en linux
OBJETIVOS ESPECÍFICOS
Comprender como se interpretar, crear, modificar y eliminar particiones en Linux
CONTENIDOS
Particiones – conceptos basicos
Herramientas de administracion
1. Particiones.
En linux las particiones donde residen los archivos van sobre los sistemas ext2 o
ext3 generalmente, aunque también 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 tamaño de la particion swap no deberían 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.
En Linux se denotan igual que si fueran 4 primarias, la extendida no tiene por que
ser la ultima, Por ejemplo: tenemos la partición extendida hda2, las que están
"dentro", las lógicas, pueden ser hda4, hda5, hda5.
En casi todos los sistemas Linux o basados en Unix (freebsd, solaris, es distinto)
existen una serie de utilidades para el manejo de particiones.
Para mostrar información en pantalla existen multitud de aplicación 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 información 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 información como: uso, principio y fin de los
bloques, capacidad, sectores, nombre asignado, estado, etc.
El comando df nos muestra información útil sobre el estado de las unidades
montadas.
La partición donde esta alojado el s.o se muestra como raíz (/), las demás pueden ir
montadas en directorios, algunas deben estar en su directorio especifico si tienen
-/home aquí se pueden montar los archivos que se usen en un servidor o espacio
para usuarios.
Partiendo de esto, para usar una partición hay que montarla,para montar una
partición 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.
Fichero /etc/mtab
Fichero /etc/fstab
$ mount /home
dump
lo usa el comando dump para determinar de que filesystems hacer copias de
seguridad
pass
lo usa el comando fsck para determinar el orden en que se chequean los
filesystems al iniciar el sistema
o si 0, el filesystem no se chequea
o si > 0, los filesystems se chequean en el orden indicado por los
números
si varios tienen el mismo número, se chequean en paralelo (si
es posible)
normalmente / tendrá 1 y el resto 2
Nótese que se ha añadido una partición ext3 que se encuentra en el primer disco
IDE que corresponde a la primera partición lógica 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 cámaras 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 algún directorio, y se les asigna un valor.
En linux existe un comando fdisk, que nos permite la modificación, creación 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 adopción
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.
Formato:
Ejemplo
usamos n (new):
cfdisk
interfaz para el fdisk (también escribe la tabla de particiones)
parted
programa de GNU que permite crear, destruir, cambiar el tamaño, chequear y
copiar particiones
qtparted
clónico del Partition Magic para Linux (basado en libparted)
Partition Magic
programa comercial de la compañía Symantec que puede manejar diversos
filesystems
Formato:
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 número de bloques usados para el sistema de ficheros (si
no se pone, se usa toda la partición)
Comandos relacionados
# fdisk -l /dev/hd
Disk /dev/hdb: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Device Boot Start End Blocks Id System
/dev/hdb1 1 9689 4883224+ 83 Linux
/dev/hdb2 9690 20805 5602464 82 Linux swap / Solaris
# mkswap /dev/hdb2
Setting up swapspace version 1, size = 5736919 kB
no label, UUID=a6c2849b-c33e-478e-8a8d-fecfe3f18f6d
# swapon /dev/hdb2
# swapon -s
Filename Type Size Used Priority
/dev/hda7 partition 377488 0 -1
/dev/hdb2 partition 5602456 0 -2
Comando mount
Ejemplo
Formato
Algunas opciones:
o tipo tipo de sistema de ficheros (ext2, ext3, reiserfs, vfat, etc.); si se
pone auto intenta determinar de forma automágica
o -a monta los filesystems listados en /etc/fstab
o -r/-w monta los sistemas de sólo lectura/escritura
o -f simulación; usado con -v (verbose) para chequear
o -n monta sin añadir la entrada a /etc/mtab; se usa cuando /etc es sólo
lectura
o -o opciones opciones de montado; formato igual al usado en el fichero
fstab
Comando umount
Formato
Ejemplo:
$ umount /home2
Algunas opciones
o -a desmonta los filesystems listados en /etc/mtab
o -r si falla, intenta remontar sólo lectura
o -f fuerza el desmontado
Si hay algún proceso bloqueando el filesystem, este no se puede desmontar:
o usar el comando fuser -c directorio para ver el PID del proceso
Autofs
Ejemplo de auto.master:
/home /etc/auto.home
/misc /etc/auto.misc --timeout 60
Supermount
pmount
gnome-volume-manager
5. Otras utilidades
du [opciones] [directorio]
o Algunas opciones:
-a muestra valores para ficheros y directorios (por defecto, solo
muestra directorios)
-b, -k tamaños en bytes/KBytes
-h salida más legible
-s muestra sólo la ocupación total
o Ejemplo:
o $ du -sh /home /usr
o 1,2G /home
o 2,3G /usr
df [opciones]
o Algunas opciones:
-a muestra todos los filesystems (incluso los de tamaño 0)
-h salida más legible
-i da información sobre los inodos
-l sólo muestra filesystems locales
-T muestra el tipo de sistema de ficheros
o Ejemplo:
o $ df -h
o Filesystem Tamaño Usado Disp Uso% Montado en
o /dev/hda1 67M 50M 13M 80% /
o tmpfs 63M 0 63M 0% /dev/shm
o /dev/hda9 272M 8,1M 250M 4% /home
o /dev/hda8 23M 1,1M 20M 5% /tmp
o /dev/hda5 464M 90M 350M 21% /usr
o /dev/hda6 74M 44M 27M 63% /var
6. PERMISOS EN LINUX
Esta es una de las características 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 más 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 acción con él.
Para poder ver los permisos de los archivos y directorios es necesario ejecutar el
siguiente comando:
$ ls –l
7. COMANDOS RELACIONADOS
Símbolo Descripción
u Es el usuario propietario del archivo o directorio
g Es el grupo al que pertenece el archivo o directorio
Identidades
o Otros usuarios, el resto del mundo, ni el propietario ni su grupo
a Todo el mundo – propietario, grupo y otros
r Acceso de lectura
Permisos w Acceso de escritura
x Acceso de ejecución
+ Añade los permisos
Acciones - 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 Descripción
Cada permiso tienen asignado un valor, incluso cuando el permiso no está activo.
Para poder utilizar los números tendremos que tener en cuenta la siguiente tabla con
sus respectivos valores:
r = 4 (lectura)
w = 2 (escritura)
x = 1 (ejecucion)
- = 0 (sin permisos)
Cuando asignamos los permisos utilizando números debemos tener en cuenta que
primero se sumarán los valores y dicho resultado será el que se coloque, aquí una
tabla que muestra dichos valores:
Ejemplos:
Utilizaremos el mismo ejercicio anterior para poder practicar con los permisos
utilizando números, el único cambio que haremos será utilizar otro archivo llamado
foto2.png:
Cambiando el propietario
Utilizamos el comando chown explicado líneas arriba:
# chown raul foto2.png # el usuario raul será el propietario del archivo foto2.png
Cambiando el grupo
Utilizamos el comando chgrp explicado líneas arriba:
# chgrp clases datos/ –R # todos los archivos y sub directorios del directorio datos/
serán del grupo clases
Autoevaluación
1. ¿Cuál es el comando que se usa para crear un filesystem?
(a) fsck
(b) mkfs
(c) fdisk
(d) chmod
(a) mkfs
(b) mount
(c) fdisk
(d) fsck
(a) who
(b) lastlog
(c) chmod
(d) chown
(a) 777
(b) 644
(c) 755
(d) 744
UNIDAD DE
APRENDIZAJE
6
TEMA
TEMA
Describir las distintas formas de instalar aplicaciones en Linux
OBJETIVOS ESPECÍFICOS
Comprender el uso de RPMs
CONTENIDOS
Introducción a RPM
Manejo de RPM
Construyendo un RPM
RPM es el gestor de paquetes de Red Hat (Red Hat Package Manager). Aunque
aparece Red Hat en su nombre, la intención es que sea un sistema de empaquetado
abierto y disponible para el uso de cualquiera. Permite a los usuarios tomar el código
fuente (source code) y empaquetarlo en forma de fuentes y binaria de forma que los
ficheros binarios sean fácilmente instalables y rastreables y los fuentes puedan ser
reconstruidas con facilidad. También gestiona una base de datos de todos los
paquetes y sus ficheros que puede ser usada para verificar paquetes e interrogarla
para obtener información acerca de ficheros y/o paquetes.
2. Visión general
Con RPP (EL anterior sistema de empaquetado del cual RPM no deriva en
absoluto), los paquetes de fuentes debían ser ``hackeados N.T.: retocados '' para
poder construir las aplicaciones desde ellos. Teóricamente, se podía instalar un
paquete fuente RPP y efectuarle un make sin problemas. Pero los fuentes no eran
las originales, y no había referencia alguna a los cambios que se habia hecho para
que pudieran compilar. Se hacía pues necesario bajarse los fuentes originales de
forma separada.
Con RPM, tiene los fuentes originales junto al ``parche N.T.: patch en el original ''
que hemos usado para poder compilarlo. Vemos en esto una gran ventaja. ¿Por
qué? Son varias las razones. La primera es que si sale disponible una nueva versión
de un programa, usted no necesita empezar desde la nada para conseguir que
compile bajo RHL. Puede examinar el parche para saber qué podría necesitar hacer.
De esta manera toda la configuración por defecto de compilación queda fácilmente a
la vista.
rápidamente, gracias a una cabecera binaria a medida añadida al paquete con toda
la información que puede necesitar, almacenada sin comprimir. Esto permite
consultas rápidas.
3. Información general
3.1 Adquirir RPM
ftp://ftp.redhat.com/pub/redhat/code/rpm
http://rpm.pbone.net
http://www.rpmfind.net/
Estos son los mínimos requerimientos para instalar RPMs. Para construir RPMs a
partir de los fuentes, necesitará todo lo normalmente requerido para construir un
paquete, cosas como gcc, make, etc.
4. Usando RPM
Uno de los más complejos pero más útiles comandos le permiten instalar paquetes a
través 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 válido, como esto:
Apercíbase de que ahora RPM puede hacer consultas y/o instalaciones a través de
FTP.
Aunque estos son comandos simples, rpm puede usarse de multitud de formas,
como puede verse en el mensaje de Ayuda:
5. Manejo de RPM
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
/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 sólo unos pocos ejemplos. Otros, aún más creativos, podrá hacerlos
fácilmente una vez que se haya familiarizado con RPM.
El primer paso suele ser descomprimir el archivo comprimido que nos hemos bajado
de Internet (casi siempre con la extensión .tar.gz, lo que se conoce con el nombre de
tarball, aunque puede estar en otros formatos). Abrimos una consola de comandos,
y nos dirigimos hacia el directorio donde se encuentra el archivo (tenemos que tener
permiso de lectura y escritura en ese directorio), tecleamos la siguiente orden:
cd nombredelprograma
Observacion
En este momento sería recomendable leer la documentación que acompaña al
programa, que normalmente está contenida en un archivo con el nombre README.
./configure --prefix=/usr/local
Observacion
Hay que tener cuidado con el paso anterior, ya que, de lo contrario, es posible que
nuestro programa vaya a parar a algún directorio no incluido en nuestro PATH, por lo
que no se podría ejecutar. También es necesario aclarar que la mayoría de los
programas ya tienen configurada una ruta de instalación de forma predeterminada,
como los programas diseñados 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 ningún
parámetro adicional.
Tras ejecutar ./configure veremos desfilar una larga sucesión de mensajes por la
consola y, si nuestro sistema dispone de todo lo necesario para llevar a cabo la
compilación de forma satisfactoria, se nos informará en el último mensaje mostrado.
En el caso de que se produzca algún error, deberemos prestar atención 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 aplicación
con la orden:
make
su
make install
Si todo fue bien y no ocurrió ningún error, nuestra aplicación 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 instalación, 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 más seguro es que tengamos que crear esas
entradas nosotros mismos de forma manual.
Un poco de limpieza
make clean
make uninstall
Resumen
Como compilar un programa en Linux desde su código fuente, se seguirán los
siguientes pasos:
cd aplicación-a-instalar
./configure
make
make install
make clean
Yum es un programa automático para instalar / desinstalar los RPM del sistema.
Obtiene automáticamente dependencias y nos permite instalar correctamente los
paquetes.
Procedimientos
Con yum podemos realizar las siguientes tareas frecuentes:
Actualización del sistema con todas las dependencias que sean necesarias:
7.2 Búsquedas
Ejemplo:
Ejemplo:
Ejemplo:
Ejemplo:
Lo siguiente listará todos los paquetes disponibles en la base de datos yum y que
pueden instalarse:
Autoevaluación
1. ¿Qué es el RPM?
3. ¿Cuáles son los pasoa para instalar una aplicación desde su código fuente?
UNIDAD DE
APRENDIZAJE
9
TEMA
TEMA
Describir y entender el uso de los archivos de registro del sistema Linux
Describir y entender el uso de cuotas de disco en Linux
OBJETIVOS ESPECÍFICOS
Comprender el funcionamiento de los logs en Linux
CONTENIDOS
Archivos de registro
Ubicación
El daemon SYSLOG
Cuotas de disco
1. ARCHIVOS DE REGISTRO
Los Archivos de registro (o archivos de log) son archivos que contienen mensajes
sobre el sistema, incluyendo el kernel, los servicios y las aplicaciones que se
ejecutan en dicho sistema. Existen diferentes tipos de archivos de log
dependiendo de la información. Por ejemplo, existe un archivo de log del sistema,
un archivo de log para los mensajes de seguridad y un archivo de log para las
tareas cron.
Los archivos de registro pueden ser muy útiles cuando se trate de resolver un
problema con el sistema tal como cuando se trata de cargar un controlador del
kernel o cuando se este buscando por intentos no autorizados de conexión al
sistema. Este capítulo discute donde encontrar estos archivos de registro, cómo
visualizarlos y qué buscar en ellos.
También puede utilizar el Visor de registro del sistema. Para iniciar la aplicación,
hacer clic en Sistema del panel superiorAdministraciónRegistro de actividad
del sistema, o digite el comando gnome-system-log en una consola.
4. DEMONIO SYSLOGD
Podemos ver que cada regla del archivo tiene dos campos: un campo de
selección y un campo de acción, separados ambos por espacios o tabuladores.
El campo de selección está compuesto a su vez de dos partes separadas por un
punto: una que indica el servicio que envía el mensaje y otra que marca su
prioridad, separadas por un punto (“.”); ambas son indiferentes a mayúsculas y
minúsculas.
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'
Una máquina remota: Se pueden enviar los mensajes del sistema a otra
máquina, de manera a que sean almacenados remotamente, sin más que
indicar en el campo de acción el nombre o dirección de dicho sistema
precedido por el signo ‘ @ '. Esto es útil si tenemos una máquina segura, en la
que podemos confiar, conectada a la red, ya que de esta manera se
guardaría allí una copia de los mensajes de nuestro sistema, copia que no
podría ser modificada en caso de que alguien entrase en la máquina 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 conexión), ya que una
de las principales cosas que hará este tipo de atacantes es eliminar cualquier
registro que denote su presencia en la máquina (por ejemplo, sus entradas en
wtmp).
Todos los usuarios que estén conectados: Los errores con una prioridad de
emergencia se suelen enviar a todos los usuarios que estén conectados al
sistema, de manera que se den cuenta de que algo va mal; para ello
utilizamos un asterisco en el campo de acción:
Debe remontar las particiones para que surtan efecto los cambios:
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
Para activar las cuotas de disco recién configuradas, solo bastará ejecutar:
quotaon /var
quotaon /home
init 3
5.1. Edquota.
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
El usuario siempre podrá rebasar una cuota de gracia pero nunca una cuota
absoluta.
La cuota de gracia establece los límites de bloques o inodos que un usuario tiene
en una partición. Cuando el usuario excede el límite establecido por la cuota de
gracia, el sistema advierte al usuario que se ha excedido la cuota del disco sin
embargo permite al usuario continuar escribiendo hasta que trascurre el tiempo
establecido por el periodo de gracia, tras el cual al usuario se le impide continuar
escribiendo sobre la partición. 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 días, se
utilizaría lo siguiente:
Si se quiere que todo aplique para los usuarios existentes, a partir de UID 510, por
ejemplo, suponiendo que tiene al usuario "pepito" como molde (note por favor el
acento grave en el mandato justo antes de awk, no es una comilla ni
apostrofe):
edquota -p pepito `awk -F: '$3 > 510 {print $1}' /etc/passwd`
6. Comprobaciones.
edquota fulano
Asigne al usuario «fulano» una cuota de disco de 50 MB en todas las particiones con
cuota de disco habilitada:
Desde otra terminal acceda hacia el sistema como el usuario fulano y ejecute el
mandato quota y observe con detenimiento la salida:
cp -r /usr/lib ~/prueba-cuotas
Para poder volver a escribir sobre la partición, es necesario liberar espacio. Elimine
por completo el directorio ~/prueba-cuotas y vuelva a utilizar el mandato quota:
rm -fr ~/prueba-cuotas
quota
Autoevaluación
1. ¿Cuál es el nombre del archivo que contiene registrado los mensajes de los
servicios de red?
(a) access.log
(b) syslog
(c) spooler
(d) messages
(a) /var/log/xferlog
(b) /var/log/maillog
(c) /var/log
(d) /var/log/secure
3. ¿Cuál es el comando que informa sobre los últimos logins de los usuarios en
el sistema?
(a) who
(b) lastlog
(c) dmesg
(d) syslog
UNIDAD DE
APRENDIZAJE
10
TEMA
10
TEMA
Describirla función de los servidores NFS y Samba
OBJETIVOS ESPECÍFICOS
Comprender el funcionamiento del servidor NFS
CONTENIDOS
Introducción a NFS
Funcionamiento NFS
Introduccion a Samba
Un Sistema de archivos de red (NFS) permite a los hosts remotos montar sistemas
de archivos sobre la red e interactuar con esos sistemas de archivos como si
estuvieran montados localmente. Esto permite a los administradores de sistemas
consolidar los recursos en servidores centralizados en la red.
2. Funcionamiento
Hay tres versiones de NFS actualmente en uso. La versión 2 de NFS (NFSv2), es la
más antigua y está ampliamente soportada por muchos sistemas operativos. La
versión 3 de NFS (NFSv3) tiene más carácterísticas, incluyendo manejo de archivos
de tamaño variable y mejores facilidades de informes de errores, pero no es
completamente compatible con los clientes NFSv2. NFS versión 4 (NFSv4) incluye
seguridad Kerberos, trabaja con cortafuegos, permite ACLs y utiliza operaciones con
descripción del estado. Linux soporta clientes tanto NFSv2, NFSv3 como NFSv4, y
cuando monta un sistema de archivos a través de NFS, Red Hat Enterprise Linux
usa NFSv4 por defecto.
Cuando se utiliza NFSv2 o NFSv3 con UDP, bajo condiciones normales la conexión
UDP desatendida minimiza el tráfico de la red, ya que el servidor NFS envia un
cookie al cliente después que este tiene acceso al volumen compartido. Esta cookie
es un valor aleatorio guardado en el lado del servidor y espasado junto con las
peticiones RPC desde el cliente. El servidor NFS puede ser reiniciado sin afectar a
los clientes y las cookies permanecen intactas. Sin embargo, debido a que UDP es
sin supervisión, si el servidor se cae de forma inesperada, los clientes UDP
continúan saturando la red con peticiones para el servidor. Por esta razón, TCP es el
protocolo preferido cuando se conecte a un servidor NFS.
La única vez que NFS lleva a cabo la autentificación es cuando el cliente intenta
montar un recurso compartido NFS. Para limitar el acceso al servicio NFS, se utilizan
envolturas TCP (TCP wrappers).
3. Servicios requeridos
Linux utiliza una combinación de soporte a nivel del kernel y procesos demonio para
proporcionar los archivos compartidos con NFS. NFSv2 y NFSv3 confía en las
Llamadas de procedimientos remotos ((RPC)) para enrutar peticiones entre clientes
y servidores. Los servicios RPC bajo Linux son controlados por el servicio portmap.
Para compartir o montar sistemas de archivos NFS, los servicios siguientes
funcionan juntos, dependiendo de cuál versión de NFS se tenga implementada:
. nfs . Inicia los procesos RPC apropiados para servir peticiones para los
sistemas de archivos compartidos NFS.
. nfslock.Un servicio opcional que inicia los procesos RPC adecuados para
permitir que clientes NFS bloqueen archivos en el servidor.
. rpc.nfsd . Este proceso es el servidor NFS. Trabaja con el kernel Linux para
satisfacer las demandas dinámicas de clientes NFS, tales como proporcionar
hilos del servidor cada vez que se conecta un cliente NFS. Este proceso
corresponde al servicio nfs.
. 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 añadidos o borrados de
un grupo NIS sin que afecte a /etc/exports. En su forma más sencilla, el archivo
/etc/exports sólo especifica el directorio a exportar y los hosts que pueden
usarlo, como en el ejemplo siguiente:
/exported/directory bob.example.com
reconvierte el poder del usuario root remoto al de usuario local más bajo,
previniendo la alteración desautorizada de archivos en el servidor remoto.
Alternativamente, la opción nofirootfisquash lo desactiva. Para reconvertir a
todos los
usuarios, incluyendo a root, use la opción 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 número de ID del usuario y
/another/exported/directory 192.168.0.3(rw,sync)
. -i. Ignora /etc/exports; sólo las opciones dadas desde la línea 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 compartición de archivos NFS mientras que
mantiene todos los demonios NFS activos. Para reactivar NFS, teclee exportfs
-r.
Reemplace <nfs-type> con nfs para servidores NFSv2 o NFSv3, o nfs4 para
servidores NFSv4. Reemplace <options> con una lista de opciones separadas por
comas para el sistema NFS. Reemplace <host> con el host remoto,
</remote/export> con el directorio remoto que está siendo montado y sustituya
</local/directory> con el directorio local donde el sistema de archivos remoto se
montará.Consulte la página man de mount para más detalles.
6.1. /etc/fstab
El archivo /etc/fstab lo referencia el servicio netfs al momento del arranque, por lo que
las líneas haciendo referencia a las comparticiones NFS tienen el mismo efecto que
escribir manualmente el comando mount durante el arranque.
Una muestra de línea de /etc/fstab para montar un NFS exportado será parecida a:
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
Si se utiliza Red Hat™ Enterprise Linux, solo bastará realizar lo siguiente para
instalar o actualizar la programática necesaria:
Si utiliza CentOS 4 o White Box Enterprise Linux 4, solo bastará realizar lo siguiente
para instalar o actualizar la programática necesaria:
No hace falta se asigne una clave de acceso en el sistema con el mandato passwd
puesto que la cuenta no tendrá acceso al interprete de mandatos.
Si se necesita que las cuentas se puedan utilizar para acceder hacia otros servicios
como serían Telnet, SSH, etc, es decir, que se permita acceso al interprete de
mandatos, será necesario especificar /bin/bash como interprete de mandatos y
además se deberá asignar una clave de acceso en el sistema con el mandato
passwd:
127.0.0.1 localhost
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
workgroup = MIGRUPO
El parámetro interfaces permite establecer desde que interfaces de red del sistema
se escucharán peticiones. Samba no responderá a peticiones provenientes desde
cualquier interfaz no especificada. Esto es útil cuando Samba se ejecuta en un
servidor que sirve también de puerta de enlace para la red local, impidiendo se
establezcan conexiones desde fuera de la red local.
interfaces = 192.168.1.254/24
Las impresoras se comparten de modo predeterminado, así que solo hay que
realizar algunos ajustes. Si se desea que se pueda acceder hacia la impresora como
usuario invitado sin clave de acceso, basta con añadir public = Yes en la sección de
impresoras del siguiente modo:
[printers]
comment = El comentario que guste.
path = /var/spool/samba
printable = Yes
browseable = No
writable = no
printable = yes
public = Yes
Windows NT, 2000 y XP no tendrán problema alguno para acceder e imprimir hacia
las impresoras, sin embargo Windows 95, 98 y ME suelen tener problemas para
comunicarse con Samba para poder imprimir. Por tanto, si se quiere evitar
problemas de conectividad con dichos sistemas operativos hay que agregar algunos
parámetros que resolverán cualquier eventualidad:
[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
[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
[Lo_que_sea]
comment = Comentario que se le ocurra
path = /cualquier/ruta/que/desee/compartir
Opción Descripción
guest ok Define si ser permitirá el acceso como usuario
invitado. El valor puede ser Yes o No.
public Es un equivalente del parámetro guest ok, es
decir define si ser permitirá el acceso como
usuario invitado. El valor puede ser Yes o No.
browseable Define si se permitirá mostrar este recurso en las
listas de recursos compartidos. El valor puede ser
Yes o No.
writable Define si ser permitirá la escritura. Es el
parámetro 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»
valid users Define que usuarios o grupos pueden acceder al
recurso compartido. Los valores pueden ser
nombres de usuarios separados por comas o
bien nombres de grupo antecedidos por una @.
Ejemplo: fulano, mengano, @administradores
write list Define que usuarios o grupos pueden acceder
con permiso de escritura. Los valores pueden ser
nombres de usuarios separados por comas o
bien nombres de grupo antecedidos por una @.
Ejemplo: fulano, mengano, @administradores
admin users Define que usuarios o grupos pueden acceder
con permisos administrativos para el recurso. Es
decir, podrán 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
[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
Samba fue creado con un objetivo: ser en un reemplazo definitivo para Windows
como servidor en una red local. Ésto, por supuesto, requiere algunos procedimientos
adicionales dependiendo de las necesidades de la red local.
Los grupos que existen en Windows también se utilizan en Samba para ciertas
operaciones, principalmente relacionadas con lo que involucra un Controlador
Primario de dominio (o PDC que significa Primary Domain Controler). Estos grupos
existen de modo predefinido en Samba. Sin embargo, si se ejecuta lo siguiente:
XXXXXXXXXX-514) -> -1
Power Users (S-1-5-32-547) -> -1
Print Operators (S-1-5-32-550) -> -1
Administrators (S-1-5-32-544) -> -1
Account Operators (S-1-5-32-548) -> -1
Domain Users (S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-
XXXXXXXXXX-513) -> -1
Backup Operators (S-1-5-32-551) -> -1
Users (S-1-5-32-545) -> -1
Es por tal motivo que si se tiene la intención de configurar Samba como Controlador
Primario de Dominio y al mismo tiempo poder hacer uso de los grupos del mismo
modo que en Windows, es decir, por mencionar un ejemplo, permitir a ciertos
usuarios pertenecer al grupo de administradores del dominio con privilegios de
administrador, lo primero será entonces generar los grupos en el sistema ejecutando
como root los siguientes mandatos:
groupadd -r administradores
groupadd -r admins_dominio
groupadd -r duplicadores
groupadd -r invitados
groupadd -r invs_dominio
groupadd -r opers_copias
groupadd -r opers_cuentas
groupadd -r opers_impresion
groupadd -r opers_sistema
groupadd -r usrs_avanzados
groupadd -r usuarios
groupadd -r usuarios_dominio
Una vez creados los grupos en el sistema, solo resta re-asignar los nombres al
español en el mapa de grupo de Samba y asociarles a éstos los grupos recién
creados en el sistema. El procedimiento se resume a ejecutar algo como lo
siguiente:
Lo anterior establece que se modifique el registro del grupo que corresponda al sid
(identidad de sistema) definido con el nombre establecido con ntgroup, asociándolo
al grupo en el servidor con unixgroup y añadiendo 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 guión para convertir los nombres al español y asociarlos a grupos
en Linux, donde solo deberá definir el número de identidad del sistema que
corresponda al servidor:
#!/bin/sh
SIDSAMBA=XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX
sid="S-1-5-32-548" unixgroup=opers_cuentas \
comment="Pueden administrar cuentas de usuarios y grupos del
dominio"
exit 0
Nota: Este guión 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.
Los usuarios es necesario darlos de alta de modo que queden agregados a los que
correspondan en el sistema a grupos Usuarios y Usuarios del dominio de
Windows, es decir a los grupos usuarios y usuarios_dominio.
cd /home
for user in *
do
mkdir -p /var/lib/samba/profiles/$user
chown $user.$user /var/lib/samba/profiles/$user
done
En algunos casos puede ser necesario denegar el acceso a cierto tipo de ficheros
del sistema. El parámetro veto files se utiliza para especificar la lista, separada por
diagonales, de aquellas cadenas de texto que denegarán el acceso a los ficheros
cuyos nombres contengan estas cadenas. En el siguiente ejemplo, se denegará el
acceso hacia los ficheros cuyos nombres incluyan la palabra «Security» y los que
tengan extensión o terminen en «.tmp»:
El parámetro 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 parámetro add
machine script es particularmente importante porque es el mandato utilizado para
dar de alta cuentas de máquinas (trust accounts o cuentas de confianza) de modo
automático. El parámetro delete user script es para definir lo propio para eliminar
usuarios, delete group script para eliminar grupos, add user to group para añadir
usuarios a grupos y set primary group script para establecer un grupo como el
principal para un usuario.
[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
Para que Samba inicie automáticamente cada vez que inicie el servidor solo ejecute
el siguiente mandato:
/sbin/chkconfig smb on
Smbclient.
Server Comment
--------- -------
mi-servidor Servidor Samba 3.0.7-1.3E en mi-servidor
Workgroup Master
--------- -------
MI-DOMINIO MI-SERVIDOR
Ejemplo:
Para acceder hacia una máquina Windows® determine primero que volúmenes o
recursos compartidos posee está. utilice el mandato smbclient del siguiente modo:
smbclient -N -L alguna_maquina
Server Comment
--------- -------
mi-servidor Servidor Samba 3.0.7-1.3E en mi-servidor
Workgroup Master
--------- -------
MI-DOMINIO MI-SERVIDOR
Puede añadirse también una entrada en /etc/fstab de modo que sólo tenga que ser
tecleado mount /punto/de/montaje. Esta línea sería de modo similar al siguiente:
[FTP]
comment = Programática libre (RPMS)
path = /var/ftp/pub
public = Yes
guest ok = Yes
Modo gráfico
Si utiliza GNOME 2.x o superior, éste incluye un módulo para Nautilus que permite
acceder hacia los recursos compartidos a través de Samba sin necesidad de
modificar cosa alguna en el sistema. Solo hay que hacer clic en Servidores de red
en el menú de GNOME.
Desde Windows.
Por su parte, desde Windows deberá ser posible acceder sin problemas hacia
Samba como si fuese hacia cualquier otra máquina con Windows. Vaya, ni Windows
ni el usuario notarán siquiera la diferencia.
Ya que los sistemas con Windows 95/98/ME y Windows XP Home no incluyen una
implementación completa como miembros de dominio, no se requieren cuentas de
confianza. El procedimiento para unirse al dominio es el siguiente:
Windows NT
Autoevaluación
1. ¿Qué permite el servicio NFS?
(a) smb.conf
(b) exports
(c) resolv.conf
(d) hosts
UNIDAD DE
APRENDIZAJE
11
TEMA
11
SERVIDORES DNS
TEMA
Describir el uso del Sistema de Nombres de Dominio (DNS).
OBJETIVOS ESPECÍFICOS
Comprender el funcionamiento del Sistema de Nombres de Dominio
CONTENIDOS
Introducción a DNS
1. SISTEMA DNS
Para las empresas que un número mayor de hosts sea considerable, tendrá que
administrar su propio servidor de nombres para facilitar la resolución de nombres
de su red.
ISC Bind se puede instalar tanto en Linux como en Windows 2000/XP/2003, para
el caso específico de Linux se deben instalar los siguientes paquetes:
bind – Una implementación de los protocolos DNS.
bind-utils – Contiene una colección de utilidades para consultas DNS a
servidores de nombres para encontrar información de hosts de Internet.
caching-nameserver – Incluye los archivos de configuración 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.
Con múltiples servidores, por lo general uno actúa como Servidor Maestro o
Primario y los demás 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 automática cuando sea necesario.
Zonas de Autoridad.
Zonas de Reenvío.
Devuelven direcciones IP para las búsquedas hechas para nombres FQDN (Fully
Qualified Domain Name).
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 través de Internet.
nameserver ip_servidor_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
Non-authoritative answer:
*** Can't find cibertec.edu.pe: No answer
debian:~#
Seleccione el dominio.
Clic en Nuevo.
Autoevaluación
UNIDAD DE
APRENDIZAJE
12
TEMA
12
SERVIDOR DHCP
TEMA
Entender e implementar el servidor DHCP
OBJETIVOS ESPECÍFICOS
Comprender el funcionamiento del servidor DHCP
CONTENIDOS
Introducción
1. Introducción.
Se requiere instalar el paquete dhcp el cual deberá estar incluido en los discos de
instalación de la mayoría de las distribuciones.
Si se utiliza Red Hat™ Enterprise Linux, solo bastará realizar lo siguiente para
instalar o actualizar la programática necesaria:
up2date -i dhcp
Considerando como ejemplo que se tiene una red local con las siguientes
características:
ddns-update-style interim;
ignore client-updates;
shared-network miredlocal {
Una buena medida de seguridad es hacer que el servicio de dhcpd solo funcione
a través de la interfaz de red utilizada por la LAN, esto en el caso de tener
múltiples dispositivos de red. Edite el fichero /etc/sysconfig/dhcpd y agregue
como argumento del parámetro DHCPDARGS el valor eth0, eth1, eth2, etc., o lo
que corresponda. Ejemplo, considerando que eth0 es la interfaz correspondiente
a la LAN:
Para hacer que los cambios hechos a la configuración surtan efecto, 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.
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
También hay que comentar la línea GATEWAY=...
en el fichero /etc/sysconfig/network
5. Archivo de registro
En el servidor DHCP podemos apreciar la concesión de la dirección IP al equipo
cliente DHCP ejecutando el siguiente comando:
tail –f /var/log/messages
Autoevaluación
1. El archivo /var/log/secure muestra conexiones repetidas al puerto TCP 53.
2. ¿Cuál es el nombre del servicio que esta siendo accedido?
UNIDAD DE
APRENDIZAJE
13
TEMA
13
SERVIDOR WEB
TEMA
Describir el uso del Servidor HTTP Apache.
OBJETIVOS ESPECÍFICOS
Comprender el funcionamiento del Servidor HTTP Apache.
CONTENIDOS
Introducción
5. INTRODUCCIÓN
Para realizar los respectivos cambios utilizar cualquier editor de textos (vi,
emacs, etc.)
Este archivo es bastante extenso, por este motivo está dividido en tres secciones
principales:
Section 1: Global Environment
Section 2: ‘Main’ Server Configuration
Section 3: Virtual Hosts
Con un editor de textos crearemos nuestra propia página web, por ejemplo:
vi /var/www/html/index.html
<html>
<body>
<p align=center><font size=8>Funciona!!!</font></p>
</body>
</html>
Ejercicio 1:
Crear una segunda página web en el directorio /var/www/html/datos/ y probar el
acceso.
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
4. Virtual Hosts
El término Hosts Virtuales se refiere al hecho de mantener más de un servidor en
una misma máquina, diferenciando se únicamente por su nombre de dominio.
Por ejemplo: www.cibertec.com.pe y www.cibertec.org.pe con la misma dirección
IP.
Paso 3. Con un editor de textos crearemos nuestra propia página web, por
ejemplo: vi /var/www/html1/index.html
<html>
<body>
<p align=center><font size=8>Funciona Host Virtual!!!</font></p>
</body>
</html>
Ejercicio 2:
Crear una segunda página web en el directorio /var/www/html2 y probar el
acceso.
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------
Autoevaluación
3. El archivo /var/log/secure muestra conexiones repetidas al puerto TCP 53.
¿Cuál es el nombre del servicio que esta siendo accedido?
(a) imap
(b) smbd
(c) domain
(d) pop3
UNIDAD DE
APRENDIZAJE
14
TEMA
14
SERVIDOR DE CORREO
TEMA
Describir e implementar el uso de de un servidor de correo
OBJETIVOS ESPECÍFICOS
Comprender el funcionamiento de un servidor.
CONTENIDOS
Introducción
Funcionamiento
Configuración
1. INTRODUCCIÓN
2. INSTALACIÓN
3. CONFIGURACIÓN
/etc/postfix/main.cf
Es el archivo principal, donde reside el corazón del funcionamiento de
Postfix. No tiene una estructura concreta, por lo que se recomienda
analizar con mayor detalle las directivas según sus propias
necesidades.
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
5. RESTRICCIONES
Para evitar que nuestro servidor de correos sea usado para hacer SPAM o sea
usado como Open Relay tenemos las siguientes restricciones:
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 REJECT
techmail.com REJECT
Parámetro que restringe desde que clientes este sistema acepta conexiones
SMTP. Las listas de bloqueo son unas listas de IP de servidores que
supuestamente envían spam. Entre las listas más usadas se encuentran las
RBL de mail-abuse.org o las SBL de spamhaus.org.
smtpd_client_restrictions = hash:/etc/postfix/access,
reject_maps_rbl
maps_rbl_domains = rbl.maps.vix.com,
relays.orbd.org,
sbl.spamhaus.org
smtpd_delay_reject = yes
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks,
reject_invalid_hostname,
reject_unknown_hostname,
reject_non_fqdn_hostname
smtpd_recipient_restrictions = permit_mynetworks,
reject_unauth_destination,
reject_rbl_client relays.orbd.org,
reject_rbl_client list.dsbl.org,
reject_rbl_client sbl-xbl.spamhaus.org
6. COMANDOS
6.1. postqueue
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.
6.2. postsuper
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.
6.3. postconf
Autoevaluación
Agradecimientos