PRACTICA No.
"INTRODUCCIN A LINUX"
OBJETIVO: Que el alumno tenga una idea general de
que es Linux, cuales son sus principales caractersticas,
as como de los requerimientos necesarios para
trabajar con Linux y donde encontrar ms
informacin acerca del mismo.
INTRODUCCIN:
Linux es un clon libre del sistema operativo Unix, que
corre sobre PC's basadas en procesadores Intel 80386,
80486 y Pentium, adems tambin opera sobre
estaciones de trabajo con procesadores Sparc, Alpha y
M68K.
Linux soporta un amplio rango de software tal como
TeX, X window, Matlab, Java, Corel WordPerfect,
Scilab, SSH, GNOME, KDE, StarOffice, Adobe
Reader, Netscape Navigator y Communicator,
XEmacs, Wabi, Perl, Python, Siag, Tcl/Tk, el
compilador GNU C/C++ y TCP/IP, adems que
compaas comerciales ya estan liberando producto
para Linux (ejemplo: Sybase, Informix, Oracle, TIS,
Corel WordPerfect, etc.) . Es muy verstil, distribuido
libremente en los trminos del GNU Licencia Pblica
General.
El 95% de los usuarios de Linux lo manejan
exactamente igual que si estuvieran usando otro
sistema Unix.
LINUX V.S. UNIX
Linux no es una marca registrada y no tiene conexin
con la marca registrada Unix. Unix es una marca
registrada de X/open.
Unix es uno de los ms populares sistemas operativos
en el mundo porque tiene una amplia base de soporte y
distribucin. Este fue desarrollado como un sistema
multitarea para minicomputadoras y mainframes a
mediados de los aos 70's, desde entonces ha crecido
convirtindose en uno de los sistemas operativos ms
usados, a pesar de su confusa interfase y falta de
estandarizacin central.
Unix es un sistema operativo multiusuario y
multitarea. Esto significa que varias personas pueden
estar usando una computadora al mismo tiempo,
corriendo diferentes aplicaciones (esto lo diferencia de
MSDOS, en el cual solo una persona puede estar
corriendo el sistema a la vez).
Bajo Unix, los usuarios se identifican con el sistema,
ellos tienen un registro de entrada, el cual requiere dos
pasos: meter un login (el nombre con el cual el sistema
le identifica), y meter su password, el cual es tu llave
secreta personal para registrarte hacia tu cuenta,
porque solo Ud. conoce su password nadie puede
entrar registrndose al sistema bajo su nombre de
usuario.
Cada sistema Unix tiene un nombre (host name)
asignado a este. Este nombre da a la maquina una
identidad, define su carcter, clase y encanto. El
nombre es usado para identificar a la mquina en una
red.
Existen versiones de Unix para algunos sistemas, que
van desde computadoras personales hasta super
computadoras. La mayora de las versiones de Unix
para computadoras personales son bastante caras e
incmodas.
Linux es libre lo cual resuelve la parte cara. Linux es
adems muy poderoso, fcil de instalar y mantener por
una persona lo cual resuelve la parte incmoda.
Linux es una versin de Unix distribuida libremente
desarrollada primero por Linus Tovalds para la
Universidad de Helsinki en Finlandia. Linux fue
adems desarrollado con la ayuda de algunos
programadores de Unix y expertos que cruzan la
Internet, dando la habilidad para desarrollar y cargar
el sistema para cualquiera con suficiente conocimiento
e iniciativa para escribir en forma rutinaria sobre el
kernel de Unix.
Unix y sus clones han sido percibidos como un largo,
recurso hambriento, que necesita muchos discos. Linux
es pequeo, rpido y flexible.
Algunas caractersticas importantes de Linux que lo
hacen nico :
Completamente multitarea y soporta 32 bits.
Linux, como todas las otras versiones de Unix, es un
verdadero sistema multitarea, habilitando a mltiples
usuarios para correr algunos programas sobre el
mismo sistema a la vez. El desempeo de un sistema
486 a 55 MHz corriendo Linux es comparable con
algunas pequeas a medianas estaciones de trabajo
corriendo propiamente versiones de Unix. Linux es
adems un completo sistema operativo de 32 bits,
utilizando las caractersticas del modo de proteccin
especial para los procesadores Intel 80386 y
posteriores.
El sistema X Window.
El sistema X window es el sistema grfico estndar
para mquinas Unix. Una versin completa del sistema
X window, conocido como Xfree86, esta disponible
para Linux. El sistema X window es una interfase
grfica muy poderosa, soportando algunas
aplicaciones. Por ejemplo, se puede tener mltiples
sesiones con tu registro de entrada en diferentes
ventanas sobre la pantalla al mismo tiempo.
Soporta TCP/IP (Transmission Control
Protocol/Internet Protocol).
Este es el conjunto de protocolos que liga a millones de
computadoras de universidades y negocios hacia la red
mundial conocida como Internet. Con una conexin
Ethernet, se puede tener acceso a la Internet o la red de
rea local desde el sistema Linux. Usando SLIP (Serial
Line Internet Protocol) PPP (Point to Point
Protocol), se puede tener acceso a la Internet a travs
de las lneas telefnicas con un modem.
Memoria virtual y libreras compartidas.
Linux puede usar una porcin del disco duro como
memoria virtual, expandiendo la cantidad total
disponible de RAM. Linux adems implementa
libreras compartidas, permitiendo a los programas
que usen subrutinas estndar, encuentran el cdigo
para estas subrutinas en las libreras al momento de
correr. Esto salva una gran cantidad de memoria RAM
del sistema, porque cada aplicacin no almacena su
propia copia de estas rutinas comunes. Linux adems
utiliza toda la memoria RAM del sistema, sin lmites de
memoria o segmentacin, a travs del uso de un
manejador de memoria virtual.
El kernel de Linux no usa cdigo desde cualquier
otra fuente propia.
Mucho del software disponible para Linux es libre. De
hecho, un gran nmero de utilidades en Linux son
desarrolladas por los proyectos GNU para la
Fundacin de Software libre en Cambridge,
Massachusetts. Sin embargo, entusiastas de Linux,
Hackers, programadores, y recientemente compaas
comerciales desde todo el mundo, han contribuido para
el crecimiento del software de Linux.
Linux soporta (casi) todas las caractersticas de las
versiones comerciales de UNIX.
De hecho, algunas de las caractersticas que se
encuentran en Linux podran no estar disponibles
sobre otros sistemas propietarios de Unix.
Soporta software GNU.
Linux soporta un amplio rango de software libre del
proyecto GNU, incluyendo utilidades como son el
compilador GNU C y C++, GNOME, gawk, groff y
ms. Muchas de las utilidades esenciales de Linux son
software de GNU.
Linux es cerradamente compatible con el IEEE
POSIX.1 estndar.
Linux ha sido desarrollado teniendo en mente la
portabilidad de software, as soporta muchas de las
caractersticas importantes de otros estndares de
Unix.
El sistema Linux corre exclusivamente en modo de
32 bits.
As, esta por encima de un limitador entero de 16 bits
en MSDOS.
Linux tiene construido soporte para redes,
multitarea, y otras caractersticas.
Usted ve este elogio como "nueva tecnologa" en
sistemas tales como Windows NT. De hecho, Unix (y
ahora Linux) implementaron esta "nueva tecnologa"
desde hace 15 aos.
Linux es pequeo.
Linux usa menos memoria y recursos o espacio de
disco que algunos sistemas MSDOS o Microsoft
Windows. Esto incluye largas aplicaciones (tales como
Microsoft word o lotus 1-2-3).
Linux esta en un constante estado de desarrollo.
Es difcil continuar con las revisiones que llegan sobre
un elemento principal diario en los sitios ftp de la
Internet.
Linux es ms barato de obtener que la mayora de
sistemas Unix y sus clones disponibles
comercialmente.
Si Ud. tiene acceso a la Internet, el nico precio que
Ud. paga por instalar Linux es su tiempo. Linux esta
disponible libremente en la Internet.
La ventaja mas importante de usar Linux es que Ud.
trabaja con el kernel real. Es decir, todo el cdigo
fuente del kernel es disponible para Linux, y Ud. tiene
la habilidad para modificarlo y cubrir sus necesidades.
Trabajar el cdigo fuente del kernel es una experiencia
educacional.
Requerimientos de Hardware
A diferencia de otras versiones de Unix para PC, Linux
es muy pequeo. Ud. puede correr un sistema desde un
solo disco de alta densidad 5.25. Sin embargo, para
correr un sistema de Linux completo, se tienen otras
necesidades de Hardware.
Linux por su misma naturaleza es continuamente
expandido, y ms caractersticas son anexadas cada
da. Sin embargo, la compatibilidad del hardware es
limitado a el hardware que tienen los desarrolladores.
Afortunadamente, hay algunos drives genricos para
los drivers de disco duro IDE para Linux. Estos drives
genricos deberan trabajar con todos los discos duros
IDE y sus adaptadores. La mayora de los drives tipo
interno son soportados, pero drives tipo externo que
corren conectndose al puerto paralelo de la impresora
generalmente no son soportados.
La siguiente es una gua de algunos requerimientos
para Linux. No se tiene que seguir exactamente, pero
esta lista le dar una idea general de que se requiere:
Un sistema basado en procesador Intel 80386,
80486 o Pentium.
No se necesita un coprocesador matemtico, pero es
muy recomendable que se tenga uno. Si Ud. tiene un
chip 80386, 80486 los coprocesadores matemticos
estn disponibles en forma separada, y estas se instalan
en un socket en la tarjeta madre (motherboard) de la
mquina.
Si Ud. tiene un procesador 80486, el coprocesador ya lo
trae incluido (excepto el 80486SX, el cual es un chip
486 con el coprocesador deshabilitado).
Si no se tiene coprocesador matemtico, el kernel de
Linux emula operaciones de punto flotante. Si se tiene
uno, las operaciones con punto flotante son manejadas
por el hardware, lo cual aumenta considerablemente la
velocidad de algunas aplicaciones.
Los procesadores con los que Linux trabaja sin ningn
problema van desde el 80386SX hasta el procesador
Pentium.
La arquitectura puede ser ISA, EISA o Local bus.
El tipo de bus especifica como el CPU se comunica con
el hardware y es una caracterstica de la tarjeta madre.
La arquitectura ms comn es la ISA.
Si la mquina usa Local bus, esta es ampliamente
recomendada por que sta cumple con el VESA local
bus estndar (la mayora de los sistemas de bus local lo
hace). Pentiums con PCI bus vdeo no tienen ningn
problema tampoco.
El bus EISA es ms reciente que el bus ISA, es ms
rpido en algunas mquinas. La arquitectura de bus
local es la ms rpida de las tres, porque esta permite
al CPU comunicarse directamente a vdeo y a los
adaptadores de drives.
La Arquitectura Microcanal (MCA), tal como la lnea
IBM PS/2 no es comnmente soportada.
Un mnimo de 4MB de RAM.
Tcnicamente, Linux es capaz de correr en sistemas
con solo 2MB de RAM; sin embargo, algunas
distribuciones de Linux requieren 4MB de RAM para
su instalacin.
Memoria significa rapidez, si se tiene ms memoria
fsica el sistema har menos intercambios a disco
(swap, intercambio), 8MB serian ms que suficientes
para la mayora de las aplicaciones, mas de 8MB de
RAM definitivamente aumenta la velocidad de algunas
aplicaciones. De hecho, si se quiere utilizar el sistema X
window, 8MB son requeridos como mnimo.
Linux usa los primeros 640KB para texto de kernel,
datos de kernel y para el bfer cache. La tarjeta madre
utiliza los 384KB restantes para el conjunto de chips.
Tambin esta el proceso que inicia el sistema y
posiblemente otros demonios (daemons). Entonces,
mientras compila, se necesitan como 2.57 a 770KB. As,
si no se tiene suficiente memoria real se tiene que
recurrir a la paginacin desde disco (swap).
Un controlador de disco duro estndar
compatible.
Este incluye MFM, RLL, ESDI y controladores IDE.
Algunos controladores SCSI tambin son soportados.
Estos trminos especifican la manera de comunicarse
con el disco duro a travs de tarjetas controladoras. La
mayora de tarjetas controladoras son IDE o SCSI.
Requerimientos de espacio de disco.
Se necesita un disco duro con suficiente espacio
disponible para instalar Linux. La cantidad de espacio
requerida depende de la cantidad de software que se
instale, y el espacio que se necesite para guardar lo que
se requiera.
Si se instala lo mnimo, menos de 50MB son
requeridos. Se puede instalar un nmero opcional de
paquetes de software, incluyendo el sistema X window,
con lo que quizs 200MB o ms sern requeridos.
Adems, probablemente se requiera una cantidad
aparte de espacio en disco duro para la particin de
swap, la cual es usada para el manejo de la memoria
virtual.
En general, se deber considerar 200MB de espacio de
disco para uso del sistema, 16MB ms para un espacio
de swap y una cantidad extra para los programas y
software personal. El espacio de swap, es un rea sobre
el disco que Linux utiliza para almacenar imgenes de
programas en proceso cuando la memoria principal se
encuentra muy saturada.
Linux soporta la mayora de controladores de disco
duro que son compatibles con un controlador de disco
Western Digital WD1003 MFM. Este controlador fu
el ms comn para PC-AT, la mayora de AT MFM,
RLL, ESDI y IDE son tambin aceptados. Los MFM,
IDE y la mayora de dispositivos SCSI trabajan sin
ningn problema.
Requerimientos especiales para el sistema X
window
Con 4MB de RAM el X window corre demasiado lento,
se debern tener mnimo 8MB de RAM para compilar
y correr programas en X window. Se necesitan otros
6MB o 10MB de espacio de disco para el compilador
GCC, aparte de lo ya mencionado para el sistema X
window.
Tabla de comparacin de Linux
Procesador
RAM
No. de
Clientes
Tipo de Carga
386
8MB
Experimento con Linux/Samba; Firewall
386 con DMA y
discos SCSI
16MB
1-8
Procesador de palabras; Firewall; Nivel de Datos
para el usuario
8MB
1-4
Procesador de palabras; Firewall; Nivel de Datos
para el usuario
16MB
1-10
Procesador de palabras; Firewall; Nivel de Datos
para el usuario
Pentium con
DMA y discos
SCSI
16MB+
10-20
Procesador de palabras; Firewall; Nivel de Datos
para el usuario; Base de Datos.
Pentium con
DMA y discos
SCSI
16MB+
20+
Procesador de palabras; Firewall; Nivel de Datos
para el usuario; Base de Datos; Firewall; Servidor
de Impresin.
486
486 con DMA y
discos SCSI
Pentium Pro con
DMA y discos
SCSI
32MB+ 20-40+
Procesador de palabras; Firewall; Nivel de Datos
para el usuario; Base de Datos; Firewall; Servidor
de Impresin y Archivos para Windows 9x/NT.
Otro punto importante para correr el X es el soporte
para tarjetas VGA. La mayora de conjuntos de chips y
tarjetas VGA son soportadas con el ET3000, ET4000,
GVGA, PVGA1, WD890c00, TRIDENT, CIRRUS,
NCR y COMPAQ. La versin monocromtica del X es
llamada X386mono. Este servidor soporta tarjetas
genricas VGA y Hercules.
Y por supuesto, un ratn de bus o serial; de dos o tres
botones.
Algunas Distribuciones de Linux
Hay distribuciones de disponibilidad para escoger
Linux, pero puede ser un poco difcil la eleccin. Las
diferentes distribuciones reflejan las diferentes
filosofas como estan operando este sistema operativo.
Slackware
Slackware tiene instalacin y configuracin directa
generalmente y una buena aproximacin lineal.
Los procesos de inicializacin usa un simple men del
sistema y esto no puede facilmente romperse. Estos se
dividen en discos, reflejando los das cuando la
distribucin comenzn con floppies, desde el cual
escoges los componentes que necesitas instalar, as de
simple.
Desafortunadamente, Slackware no provee ninguna
comprensiva actualizacin mecanica. Si tu necesitas
actualizar tu sistema, bsicamente reinstalars el
sistema. De instancias, si necesitas actualizar un
sistema como Samba, el sistema Slackware ciegamente
escribir sobre los archivos comnes que estan en tu
sistema, ya que tendrs que volverlo a reconfigurar.
Caldera
Cuando Caldera inicia, ataron Netscape a est
distribucin. Fue un serio intento a destinar
aplicaciones de usuario final con un producto popular
y que esto corriera bajo Linux, que era un consumoorientado. El mercado de funciones comunes como los
Web browsers, Procesadores de Palabras, etc.
Bsicamente tiene 3 niveles el producto en Lnea Open
Linux: Lite, Base y Standard.
Debian
La distribucin Debian es producida por una
organizacin no lucrativa, software de interes pblico,
corrientemente tiene algunos 200 desarrolladores
voluntarios.
Si no tienes usando Debian, este tiene una alta-calidad
de reputacin. Usa un manejador de paquetes que
tiene agradecimiento de los usuarios Linux y los
desarrolladores consideran superior a RPM.
Yggdrasil
Yggdrasil es la vieja distribucin basada en CD-ROM.
Fue pionera de este metodo y esta muy estable en el
kernel de Linux. Yggdrasil tiene un buen sistemas de
Ventanas X basado para instalacin y configuracin
del sistema.
RedHat
una instalacin completa y actualizacin basados en el
sistemas de Manejador de Paquetes de Redhat
(RPM). Redhat incluye un sistema grfico de
manejador de ventanas (ejemplo: Control-Panel).
RedHat tiene un simple, directo sistema de
instalacin y actualizacin. RedHat tiene un buen
nivel de Profesionalismo y ser rival para los
sistemas que trabajan en las estaciones de trabajo.
Donde encontrar ms informacin acerca de Linux. Se
dar algunas ligas y direcciones para distribucin de
Linux.
Distribuidor
Liga
Caldera Inc.
[Link]
Craftwork Solutions, Inc.
[Link]
[Link]
DOSLINUX1,2
[Link]
InfoMagic, Inc.
[Link]
Debian
Linux System Labs (LSL)
[Link]
Pacific HiTech
[Link]
Redhat Software, Inc.
[Link]
[Link].e.
[Link]
Trans-AmeriTech
Walnut Creek CD-ROM
[Link]
3
[Link]
WorkGroup Solutions, Inc.
[Link]
Yggdrasil Computing, Inc.
[Link]
No comercial
Corre bajo DOS
Distribuidor Oficial de Slackware
Alguna documentacin de Linux esta disponible en la
Internet.
Este proyecto se llama "El proyecto de documentacin
de Linux (LDP)".
Este proyecto esta en proceso de proveer un nmero de
manuales y libros sobre Linux su localizacin se
encuentra en:
[Link]
El Indice de documentos disponibles todava en
desarrollo es el siguiente:
* Linux System Administrator's Guide.
* Linux Network Administrator's Guide.
* Linux Kernel Hacker's Guide.
* Linux User's Guide.
* Linux Installation and Getting Started.
*Estos Documentos tambin se encuentra en espaol
por parte de LUCAS.
El Linux INFO-SHEET
Este es un pequeo documento que da algunos detalles
tcnicos de Linux, incluyendo requerimientos de
Hardware y otra informacin. La direccin es la
siguiente:
[Link]:/pub/Linux/docs/INFO-SHEET
Algunos lugares donde puedes encontrar Linux en
Mxico:
[Link]
[Link]
[Link]
Referencias bibliogrficas pueden ser:
- Linux Unleashed
Kamram Husain, Tim Parker
SAMS PUBLISING
- Runnig Linux, Segunda Edicin
Matt Welsh & Lar Kaufman
Editorial O'Reilly
- Linux Device Drivers, Primera Edicin
Alessandro Rubini
Editorial O'Reilly
- Linux in a Nutshell, Segunda Edicin
Ellen Siever & the Staff of O'Reilly
Editorial O'Reilly
CUESTIONARIO
1.- Qu es Linux ?
2.- Mencione 3 diferencias entre Linux y Unix ?
3.- Cuntos y cules son los pasos de seguridad para
iniciar una sesin de Linux ?
4.- Quin fu el creador de Linux ?
5.- Mencione 9 caractersticas importantes del sistema
Linux.
6.- Cul es la ventaja ms importante de trabajar con
Linux ?
7.- Cul es la limitante (Hardware) que tienen los
programas desarrollados en Linux ?
8.- Mencione 4 requerimientos de Hardware para
poder trabajar con Linux.
9.- Cules son los requerimientos de espacio de disco
duro ?
10.- Qu tipos de controladores de disco duro soporta
Linux ?
11.- Mencione los requerimientos para trabajar con X
window.
12.- Qu tipos de tarjetas de video soporta Linux ?
13.- Cuantas distribuciones de Linux hay aparte de las
ya mencionadas?
14.- Investigue donde hay ms pginas web donde
hablen de distribuciones Linux?
PRACTICA # 2
"SISTEMA DE ARRANQUE Y PARO"
OBJETIVO: Conocer la metodologa bsica, acerca de
la inicializacin y detencin del sistema Linux, as
como los niveles de ejecucin.
INTRODUCCIN:
Dos de las tareas ms comunes en cualquier sistema
son el arranque y el paro del sistema. En Linux existen
varias formas de realizar el arranque.
Los mtodos ms comunes son a travs del disco duro,
o usando un floppy.
Cuando se realiza el arranque con el disco duro,
normalmente se esta llamando a un administrador en
especial llamada LILO (LInux LOader). Lilo es un
administrador de arranque de proposito general. Al
hacerlo de esta forma, el kernel de Linux es el
encargado de verificar todo el sistema.
Existe un archivo y un programa que el kernel ejecuta
al momento de inicializar los dispositivos. Uno es el
archivo /sbin/init y el otro es el /etc/inittab. El
programa /sbin/init realiza nuevos procesos y
restablece ciertos programas al momento de salir.
Todo lo que /sbin/init realiza est controlado por el
archivo /etc/inittab. En el archivo /etc/inittab se
encuentran todos los parmetros de configuracin de
su sistema en particular que se tienen instalados.
Al igual que el arranque en el momento de querer
detener el sistema se puede realizar de varias formas;
la primera es apagar el sistema (aunque no es
recomendable ya que puede causar daos a los
archivos), la segunda y ms recomendada es utilizar el
comando que aqu veremos.
El comando que utilizaremos para la detencin del
sistema es: /sbin/shutdown, su sintaxis es la siguiente:
/sbin/shutdown [indicadores] tiempo [mensaje]
donde:
Mensaje es un mensaje que se enva a todos los
usuarios que estn en sesin en ese momento
tiempo es el momento en que va a suceder el paro.
Para indicadores tenemos las siguientes opciones:
Bandera
Descripcin
-t seg
Espera seg segundos para detener el proceso.
-k
En realidad no detiene al sistema slo enva el mensaje
-r
Vuelve a arrancar despus del paro.
-h
Una vez que se realiz el paro se detiene.
-c
Cancela una deteccin que se encuentra en proceso.
Existen otros dos comandos en el sistema de Linux para
realizar las tareas antes descritas, estas son:
halt y reboot
En el archivo '/var/log/wtmp' se guardan los cambios
que se realizan con dichos comandos, y ambos, le dicen
al kernel si parar o rebootear el sistema.
Cuando las instrucciones 'halt' o 'reboot' son llamadas
cuando el sistema no se encuentra en el nivel de corrida
0 6, el comando 'shutdown' se ejecuta en su lugar (con
la bandera -h o -r).
La estructura de los comandos es la siguiente:
/sbin/halt [-n][-w][-d][-f]
/sbin/reboot [-n][-w][-d][-f]
La descripcin de las opciones se hace a continuacin:
-n No existe sincrona antes del 'halt' o del 'reboot'
-w No hay actualizacin, pero se escribe un registro en
el archivo
'/var/log/wtmp'
-d No se escribe al archivo wtmp. Esta bandera implica
-n
-f Forza el 'halt' o el 'reboot', no se hace una llamada a
'shutdown'
NOTA: Cuando se especifica la bandera -f se hace la
llamada con la seal 9, mientras que en el otro caso se
realiza la llamada con la seal 15 y en este caso tambin
se llama a las funciones 'startup' y 'shutdown'
respectivamente.
DESARROLLO:
Por rapidez slo se realizar el arranque a travs del
disco duro.
1. Encienda el sistema e indique en el prompt la
opcin de cargar Linux. En su pantalla aparecer
la siguiente informacin:
LILO boot:
2. En este momento debe de teclear tan solo <TAB> y ver
las etiquetas que tiene la computadora:
LILO boot:
dos linux (Queremos iniciar con linux)
LILO boot: linux (Y posteriormente teclea <enter>)
3. Ahora puede ir revisando lo que pasa en su sistema y
que va apareciendo en su monitor.
4. Una vez que se han verificado todos los componentes
del sistema, ste pasar del estado monousuario al
estado multiusuario. En este estado el sistema esta listo
para aceptar sesiones de trabajo. Entre a sesin como
super-usuario (root).
5. Ahora podemos utilizar el sistema para ejecutar los
comandos que necesitemos utilizar.
6. Comenzaremos la parte del apagado del sistema, para
esto debemos de recordar que no es conveniente tan slo
apagar el sistema, ya que causara problemas
posteriores.
7. El comando /sbin/shutdown nos va a permitir detener
el sistema de una forma conveniente. Teclee el siguiente
comando:
# /sbin/shutdown -r now
8. Una vez que se reinicie el sistema podr cambiar los
parmetros del comando anterior y comprobar las
diferentes formas de apagar el sistema.
9.- Ahora veremos los diferentes niveles que corre Linux
y estos tienen una pequea descripcin en el archivo
/etc/inittab:
0) Paro total del sistema.
1) Modo monousuario administrativo. En este estado
se trabaja para el chequeo de los dispositivos.
2) Mutiusuario sin NFS, donde no trabajan todos los
programas en red.
3)Multiusuario completo.
4)No usado.
5)X11. El sistema X window se corre a este nivel.
6)Reboot. Donde primero se realiza el logout a los
usuarios y despus se da de baja el sistema.
Ahora veremos que cuando inicia el sistema por default
la lnea que se encuentra en el archivo /etc/inittab, nos
dice en que nivel corre Linux:
i[Link]initdefault:
donde:
id -> Identificador de la funcin a ejecutar.
3 -> Nmero de nivel en donde se ejecuta.
Initdefault -> Lo que representa (en esta cadena tienen
mas significado, ver el pginas del manual para ver ms
detalles).
Cada campo est separado por ":"
10.- Ya que iniciamos nuestro sistema en modo
multiusuario, encontramos al sistema con el usuario
root.
Estamos ya en nuestro sistema y queremos darle
mantenimiento (Nivel 1) entonces tecleamos:
#/sbin/init 1 (Veremos que pasa)
bash# (Estamos en nivel monousuario)
11.- Para regresar al nivel original, usaremos el
siguiente comando:
bash#/sbin/init 3
Y regresamos al nivel original.
Tenemos una pregunta. Como puedo iniciar mi sistema
diferente al nivel 3?
Reinicie el sistema (ya tiene ms de una opcin).
Cuando tengamos en pantalla el cargador de Linux,
tecleemos directamente el nivel: init [no. ]
LILO boot: linux init 1
...
...
Carga los drivers, etc.
...
...
bash# (Estamos en el nivel 1)
En este nivel haremos todas las tareas administrativas y
para salir y regresar al nivel por default solamente
damos el comando exit:
bash#exit (Regresamos al nivel 3 o al puesto por
default).
Como hemos notado, podemos cambiarnos
arbitrariamente a los diferentes niveles que tiene Linux.
Cuando hacemos estos cambios de niveles, da de baja
unos servicios y levanta otros. Donde estn esos
archivos?
Estos archivos son llamados scripts de configuracin y
para los sistemas Linux funcionan para dar de alta y
baja servicios. Estos scripts son similares en funcin al
archivo [Link] de DOS, pero estos son
muchos ms flexibles y potentes.
Redhat, como otras distribuciones, un caso es Debian,
guardan tradicin con el Unix System V en cuanto a los
directorios /etc/rc.d.
12.- Haga un listado al directorio /etc/rc.d
#cd /etc/rc.d
#ls -la (Anota el listado).
El directorio init.d contiene casi todos los scripts de una
configuracin bsica del sistema. Hablaremos
posteriormente de los scripts que estn en este directorio.
El scripts rc es responsable de poner en funcin
variables bsicas como el Hostname. Aqu tambin esta
para iniciar servicios, cuando hacemos cambios de nivel.
El scripts [Link], determina lo que aparece en el
archivo /etc/issue entre otras cosas tales como variables
donde puedes agregar tus variables funciones.
El scripts [Link] corre nicamente cuando el sistema
esta iniciando; inicia los scripts general de red y activa
la particin swap (intercambio).
Los directorios rc0.d al rc6.d contiene ligas que
especifican scripts que se ejecutan cuando hay cambios
de cada nivel.
Ahora daremos una breve descripcin de los servicios
que se encuentran dentro del directorio init.d
atd.- Inicia el demonio at, el cual ejecuta en un tiempo,
comandos scripts.
crond.- Inicia el demonio crontab, el cual ejecuta tareas
peridicamente.
functions.- Contiene funciones usadas por otros scripts.
gpm.- Inicia el programa gpm, habilitando el ratn
desde una pantalla de texto.
halt.- Funcin para detener la computadora de reboot
shutdown.
inet.- Inicia la red TCP/IP. Configura la interfaz
ethernet, pone el ruteo funcionando y otros servicios.
kerneld.- Carga automticamente los mdulos del kernel
cuando se necesiten.
keytable.- Mapea tu teclado.
killall.-Para los demonios innecesarios.
lpd.-Inicia y detiene el demonio de impresin lpd.
network.- Para e inicia la red.
nfsfs.- Monta y desmonta los sistemas de archivos
remotos (NFS).
pcmcia.- Inicia los adaptadores PCMCIA de las laptops.
random.- Inicia el nmero generado aleatoriamente.
routed.- Inicia el demonio routed, esto usa el protocolo
RIP, automticamente actualiza la tabla de ruteo.
rusersd.- El demonio rusers, ayuda a localizar usuarios
en maquinas remotas.
rwhod.- El demonio rwho lista a los usuarios loggeados
en una maquina remota.
sendmail.- Inicia y para el demonio sendmail, el cual
transfiere mensajes e-mail a su respectivo destino.
smb.- Inicia y para los servicios samba.
syslog.- Inicia el sistema de logging. Esto es muy buena
para la seguridad y otras funciones administrativas, ya
que todos estos recursos tienen auditora.
CUESTIONARIO:
1. Qu pasa cuando se enciende el sistema?
2. Quin es el encargado de revisar las direcciones del
Hardware?
3. Cul es el proposito del archivo /etc/inittab?
4. Determine el nivel de corrida del sistema Esto lo
puede hacer si se cambia al archivo /etc/inittab y verifica
los parmetros ah definidos para el campo de runlevel.
5. Cuntas y cules son las formas de inicializar Linux?
6. Cuntas formas existen para detener el sistema?
7. Cul no es recomendable?
8. Qu diferencia existe entre los comandos /sbin/reboot,
/sbin/halt y /sbin/shutdown?
9. Investigue como crear un disco de arranque para la
distribucin Slackware y pruebe si ste mismo
procedimiento funciona para arrancar un sistema que se
instal con la distribucin Red-Hat.
10. Diga cul es la equivalencia del 'shutdown' y
'reboot'.
11. Escriba la equivalencia entre 'halt' y 'shutdown'.
12. Investigue las opciones del comando /sbin/init y
describa la funcin de cada bandera.
13. Dar el equivalente de /sbin/init 0
14. Dar el equivalente de /sbin/init 6
15. Dar el equivalente de /sbin/init s S
16. Cuales son las diferentes maneras de iniciar el
sistemPRACTICA # 3
"ADMINISTRACIN DE USUARIOS"
OBJETIVO: Aprender las diversas herramientas y
tcnicas que pueden ser empleadas para la
administracin de cuentas de usuarios.
INTRODUCCIN:
El administrador del sistema est encargado de la
administracin de los usuarios:
Involucrando el registro de los mismos, el ajuste de los
privilegios, la creacin y asignacin de directorios
personales, la asignacin de usuarios a grupos,
asignacin de cuota y la eliminacin de usuarios en
caso necesario.
DESARROLLO :
1.- Alta de una cuenta de usuario
Las tareas que se llevan a cabo para generar una
cuenta de usuario son:
1. Editar el /etc/passwd.
2. Crear un directorio de casa (HOME
DIRECTORY).
3. Editar el /etc/group.
4. Copiar archivos de configuracin.
5. Asignar una contrasea (password).
6. Asignar recursos.
En Linux, varias de stas tareas se llevan a cabo
mediante el comando '/usr/sbin/adduser'
Edicin del /etc/passwd
El archivo /etc/passwd, es el archivo de registro de los
usuarios vlidos en el sistema. La informacin que
contiene es la siguiente:
Nombre de la cuenta de usuario.
Password encriptado.
Identificador de Usuario (UID).
Identificador del Grupo de default (GID).
Informacin particular del usuario (GECOS).
Directorio de casa (HOME DIRECTORY).
Shell de inicio.
Ejemplos de registros del /etc/passwd:
sergio:HP37g3QhPYvyk:353:100:dominguez herrera
sergio,,,:/users/ptc/sergio:/bin/ksh
gus:.PCVB95IGB8YM:355:100:El Gran Gus,,,:/users/ptc/gus:/bin/ksh
firebird:YFv0O04k5H7S[Link]padilla casta&eda m.
angel,,,:/users/ptc/firebird:/bin/ksh
gork:GAiWHeAqoKgRk:396:100:diaz jimenez
jose,,,:/users/ptc/gork:/bin/ksh
rody:iY2PPS0lNN81g:463:100:mendez zarate
rodolfo,,,:/users/ptc/rody:/bin/ksh
1.1 Registra al usuario Frida Kalo con el comando
'/usr/sbin/adduser'. Para esto, entra a sesin como
super usuario y teclea lo siguiente:
#/usr/sbin/adduser fridaka <enter>
Looking for first available UID... 507
Looking for first available GID... 501
Adding login: fridaka...done.
Creating home directory: /home/fridaka...done.
Creating mailbox: /var/spool/mail/fridaka...done.
Don't forget to set the password.
#
1.2 Edita el archivo /etc/passwd y localiza al nuevo
usuario Frida Kalo.
#vi /etc/passwd <enter>
NOTA: Se puede usar el comando /usr/sbin/vipw
Una vez que identificaste la cuenta de Frida Kalo,
anota textualmente la informacin de su registro en la
siguiente lnea.
Tambin anota la informacin de cada uno de los
campos del registro:
Nombre de registro:
contrasea cifrada:
ID de usuario:
ID de grupo:
informacin del usuario:
directorio de casa:
shell de inicio:
1.3 Dentro del editor, escribe 'Frida Kalo' en el campo
de informacin del usuario (GECOS) y salva el
archivo. El registro debe quedar as:
fridaka:*:507:501:Frida Kalo:/home/fridaka:/bin/bash
NOTA: El UID y el GID pueden ser distintos.
1.4 Asigna la contrasea a Frida Kalo utilizando el
comando '/usr/bin/passwd'. Asignale la palabra
'redes99'. Para esto teclea lo siguiente:
# passwd fridaka <enter>
New password: Teclea redes99 <enter>
New password (again): Reptelo <enter>
Password changed
passwd: all authentication tokens updated successfully
#
1.5 Para verificar que el password se ha asignado
correctamente, entra a sesin como el usuario Frida
Kalo. Utiliza la secuencia de teclas '<ctrl> + <alt> +
<F2>'. Donde <F2> es la segunda sesin, <F3> la
tercera y as sucesivamente. Recuerda que el login de
Frida Kalo es fridaka y que su passwd es redes99.
1.6 Una vez que hayas logrado entrar a sesin, observa
el contenido del registro de Frida Kalo, utilizando el
comando 'grep':
# grep "^fridaka:" /etc/passwd <enter>
En el siguiente recuadro anota textualmente lo
obtenido en pantalla, y comparalo con el formato del
inciso 1.4.
Teclea el comando '/usr/bin/id' y anota el texto.
Teclea el comando '/bin/ls -lia' y anota el texto.
Salte de la sesin de fridaka.
En el inciso 1 se habla de seis tareas que se deben llevar
a cabo cuando se da de alta un usuario, Cules son las
tareas que realiz el comando 'adduser' ? Listelas.
2.- Alta de una cuenta de grupo
En cualquier plataforma UNIX, se pueden crear
grupos de trabajo, los cuales compartirn los mismos
recursos. El registro se lleva a travs del archivo
'/etc/group'
Edicin del /etc/group
Cada registro del archivo '/etc/group' contiene:
Nombre del grupo
Password (este campo ya no es utilizado)
Identificador del grupo (GID)
Lista de claves de usuario pertenecientes al grupo
(separadas por comas).
El nombre de cada grupo esta formado por 8
caracteres mximo.
No es necesario que las claves de usuario se
indiquen como pertenecientes a su grupo de
default en el '/etc/group'. Solamente se indica
cuando una cuenta pertenece a grupos adicionales.
Ejemplos de registros del '/etc/group':
ptc::100:antonio,argos,david,doom,falcon,firebird,gork
,gus,invent,jess,mena
precand::101:prebe01,prebe02,prebe03,prebe04,prebe
05,prebe06,prebe07,prebe08
cursos[Link]lfa01,alfa02,alfa03,alfa04,alfa05,alfa06,alf
a07,alfa08,alfa09
alum::103:gadc,morro1,alexcho,isaacm,tonio
profes[Link]rian,aedlot,ajim,ante,avel50,cgj001,coatz
a,donal,eco,garf70
die::105:anapat,apollo,cgarci,dia123,dms208,eamch,ga
bo,karo
informix::106:informix
sybase:*:200:sybase
veraltas::300:sergio,morfeo,kyo,patty,mena,greedo,rod
y,chesst,gus,falcon
2.1. Cambiate a la sesin de root (presiona ctrl+alt+F1,
o la F? adecuada) y crea un grupo llamado 'amigos' ,
asignale al usuario Frida Kalo (fridaka):
Primero, edita el archivo de grupo:
#vi /etc/group
Segundo, localiza el rengln (registro) que contiene a
fridaka, el cual puede tener el siguiente formato:
fridaka::501:fridaka
Tercero, cambiale el nombre del primer campo, por el
nuevo grupo 'amigos':
amigos[Link]ridaka
Cuarto, salva el archivo.
2.2 Abre una nueva sesin y entra como el usuario
fridaka, teclea el comando 'id' y anota su salida.
# id <enter>
Observa si el usuario pertenece al grupo que le
asignaste, es decir, al grupo 'amigos'.
Qu diferencias existe con lo obtenido en el inciso 1.6?.
Anota tus conclusiones.
2.3 Cambiate a la sesin del usuario fridaka, lista sus
archivos con el comando 'ls'
#ls -lia <enter>
A qu grupo pertenecen los archivos? y Porqu?
2.4 Crea un nuevo grupo, llamado 'equipo'. La entrada
en el archivo '/etc/group' debe quedar as:
equipo::777:
1.10 Como te pudiste dar cuenta, en el punto anterior
realizamos una cambio de grupo con el usuario
fridaka, pero no cambiamos de grupo sus archivos, por
lo que pertenecen al viejo grupo. Ahora, cambiaremos
dichos archivos al nuevo grupo con el siguiente
comando:
#find /home/fridaka -exec chgrp amigos {} \;
1.11 Nuevamente, teclea el comando 'ls -lia' y observa a
que grupo pertenecen. Tambin teclea el comando 'id'
y verifica que 'Frida Kalo' si aparesca en el grupo
'amigos'.
Cules fueron las diferencias que encontraste con
referencia al punto anterior?
3.- Cambios de UID, GID, Login, Shell y de Directorio
de Casa.
a) Cambio de UID.
3.1 En muchas ocasiones y por distintas razones, es
necesario cambiar a un usuario el UID que ya tiene
asignadopor algn otro. Vemos como se lleva a cabo
sta tarea.
Primero, encuentra un UID libre, es decir un UID que
no este asignado a algn usuario. Para nuestra prctica
usaremos el UID 2125. Entra a sesin como super
usuario.
3.2 Segundo, edita el archivo '/etc/passwd' , localiza el
registro del usuario fridaka y en su campo de UID
(tercer campo) cambialo por 2125, salva el archivo. El
registro debera quedar as:
fridaka:rF/4sxUyEUVY:2125:501:Frida
Kalo:/home/fridaka:/bin/bash
3.3 Entra a sesin como usuario fridaka y verifica que
el usuario si pertenece al UID que le asignaste, es decir,
al UID 2125, tambin verifica si sus archivos le
pertenecen. Anota textualmente los resultados
obtenidos. Para realizar esta actividad ejecuta los
siguientes comandos:
Teclea el comando '/usr/bin/id' y anota el texto.
Teclea el comando '/bin/ls -lia' y anota el texto.
Qu diferencias existe con lo obtenido en el inciso 1.6?.
Anota tus conclusiones.
3.4 El primer paso para cambiar el UID de un usuario
ya esta hecho, pero falta que los archivos del UID
anterior se cambien al UID nuevo, recuerda que
sta informacin est almacena en la estructura inodo. Para cambiar los archivos al nuevo UID
teclea el siguiente comando:
#find /home/fridaka -exec chown 2125 {} \;
3.5 De la sesin que tenas como fridaka salte y vuelve
a entrar. Ejecuta los comandos 'id' y 'ls -lia' y
comprara los resultados con los obtenidos en el inciso
3.3.
b) Cambio de GUID
3.6 En muchas ocasiones y por distintas razones, es
necesario cambiar a un usuario el GUID que ya tiene
asignadopor algn otro. Vemos como se lleva a cabo
sta tarea.
Primero, define a que nuevo grupo va a pertenecer y
obtn el valor numrico. En nuestro caso ese nuevo
grupo es el de 'equipo' y cuyo valor es 777.
3.7 Segundo, edita el archivo '/etc/passwd' , localiza el
registro del usuario fridaka y en su campo de GUID
(cuarto campo) cambialo por 777, salva el archivo. El
registro debera quedar as:
fridaka:rF/4sxUyEUVY:2125:777:Frida
Kalo:/home/fridaka:/bin/bash
3.8 Como te podrs imaginar, los archivos del usuario
fridaka pertenecen al grupo amigos. Comprubalo
entrando nuevamente a sesin como fridaka y ejecuta
los comandos 'id' y 'ls -lia'. Para cambiar de grupo a
los archivos del usuario fridaka ejecuta el siguiente
comando:
#find /home/fridaka -exec chgrp 777 {} \;
3.9 Entra nuevamente a sesin como usuario fridaka, si
ya estabas dentro; salte y vuelve a entrar, y ejecuta los
comandos 'id' y 'ls -lia'. Compara los resultados con los
obtenidos en el inciso 3.8.
c) Cambio de Login
3.10 Edita el archivo '/etc/passwd' , localiza el registro
del usuario fridaka y cambia el login (primer campo)
'fridaka' por 'apollo' .
fridaka:rF/4sxUyEUVY:2125:777:Frida
Kalo:/home/fridaka:/bin/bash
sustituyendo tendremos :
apollo:rF/4sxUyEUVY:2125:777:Frida
Kalo:/home/fridaka:/bin/bash
y guardamos el archivo.
3.11 Abre una sesin como usuario Frida Kalo,
utilizando el nuevo login. Ejecutando el comando 'id',
identifica y anota los valores ID de usuario y grupo
obtenidos. Despliega una lista de los archivos del
usuario con el comando 'ls -lia'
Cules son tus observaciones? Antalas
d. Cambio de Shell
3.12 Una de las tareas ms comunes del administrador
es cambiar o adecuar el Shell de inicio aa sus usuarios.
Edita el archivo '/etc/passwd' y modifica el sptimo
campo del registro del usuario 'apollo' de '/bin/bash'
por '/bin/sh'
Realizando los cambios teniamos:
apollo:rF/4sxUyEUVY:2125:777:Frida
Kalo:/home/fridaka:/bin/bash
y ahora tendremos:
apollo:rF/4sxUyEUVY:2125:777:Frida
Kalo:/home/fridaka:/bin/sh
3.13 Abre una sesin como el usuario 'apollo'. Y anota
textualmente, en el recuadro, la salida de la ejecucin
del siguiente comando:
$ grep "^apollo:" /etc/passwd <enter>
3.14 Estando en la sesin del usuario 'apollo', ejecuta el
comando '/usr/bin/chsh' y cambia el Shell de '/bin/sh' a
'/bin/bash'. Anota la secuencia de teclas que
presionaste para lograr el cambio del Shell.
e) Cambio de Directorio de Casa
3.15 Otra de las actividades ms comunes del
administrador es cambiar el directorio de casa de sus
usuarios, ya sea por que se cambiaron de Login, de
grupo, etc.. Para realizar sta labor, primero
editaremos el archivo '/etc/passwd' . El nuevo
directorio de casa ser '/users/apollo',
apollo:rF/4AsxUyEUVY:2125:777:Frida
Kalo:/home/fridaka:/bin/bash
cmbialo por:
apollo:rF/4AsxUyEUVY:2125:777:Frida
Kalo:/users/apollo:/bin/bash
3.16 Crea el nuevo directorio '/users/amigos/apollo' y
cmbiate al directorio de casa del usuario apollo:
#mkdir -p /users/amigos/apollo
#cd /home/fridaka
3.17 Copia los archivos del usuario al nuevo directorio:
#find . -print | cpio -pdmv /users/amigos/apollo
3.18 Elimina los archivos del directorio /home/fridaka
#cd ..
#rm -rf fridaka
3.19 Finalmente cambia de dueo y grupo al nuevo
directorio '/users/amigos/apollo':
#cd ~apollo
#chown apollo .
#chgrp 777 .
4.- Eliminacin o Baja definitiva de una cuenta de
usuario.
Otra de la actividades ms comunes de un
administrador es la de dar de baja a un usuario. Para
realizar sta tarea sigue los siguientes pasos.
4.1 Crea un usuario temporal que tenga login 'dummy'
y asignale password. No importa el grupo al que
pertenezca.
4.2 Desde una sesin como 'root' envile una carta (email) de bienvenida al usuario 'dummy'.
4.3 Abre a una sesin como el usuario 'dummy', y
ejecuta el siguiente comando. Anota la salida del
comando.
$ grep "^dummy:" /etc/passwd
4.4 Revisa el archivo de correo del usuario 'dummy',
ejecuta el siguiente comando:
#ls -lia /usr/spool/mail/dummy
4.5 Cierra la sesin del usuario 'dummy', y entra a
sesin como 'root'. Para borrar del sistema los archivos
del usuario 'dummy' utilizando el siguiente comando:
# find / -user dummy -print -exec rm -f {} \;
4.6. Finalmente, edita el '/etc/passwd' y borra la lnea
(registro) del usuario 'dummy'. Tambin edita el
'/etc/group' y borra el UID del usuario 'dummy' de la
lista del grupo al que pertenece.
4.7 Anota los comandos y/o pasos que seguiste para
comprobar que el usuario 'dummy' ha sido dado de
baja definitivamente.
5.- Configuracin de Cuota
Al momento de tener a los usuarios en el sistema, no
queremos que ocupen todo el espacio en disco, por lo
cual el administrador decidir cuanto espacio en disco
le proporcionar a cada usuario o a un grupo, por ello
hay un programa que facilita esta tarea, llamado quota,
el cual especifica la cantidad de espacio en disco a
utilizar y los inodos que pueden crear, lo cual es
bastante bueno, ya que los usuarios pueden:
i) Cometer errores al compilar, por lo cual crean un
archivo de error (denominados core)
ii)Archivos que bajan de Internet, etc.
Antes que nada los usuarios se deben crear en otra
particin diferente al del sistema (" / "), con ello
logramos 2 cosas:
i) Si le pasa algo al sistema simplemente queremos
actualizarlo, los archivos de usuarios no les pasar
nada.
ii) Activar el programa quota.
5.1 Saber donde estn ubicados los usuarios. Un
ejemplo es que los usuarios se encuentran en el
direcotrio /users en la particn /dev/hda3 y lo
podemos ver con el sig. comando:
#df
Filesystem 1024-blocks Used Available Capacity
Mounted on
/dev/hda2 495746 318861 151282 68% /
/dev/hda3 405963 33821 351176 9% /users
/dev/hda4 949529 170803 729672 19% /export
5.2 Depus de localizar en que directorio(s) estn los
usuarios, en el archivo /etc/fstab tenemos que agregar
una palabra:
/dev/hda2 / ext2 defaults 1 1
/dev/hda1 swap swap defaults 0 0
/dev/fd0 /mnt/floopy ext2 noauto 0 0
/dev/hda3 /users ext2 defaults 1 1
none /proc proc defaults 0 0
Agregando la palabra en la particin donde estn los
usuarios:
/dev/hda2 / ext2 defaults 1 1
/dev/hda1 swap swap defaults 0 0
/dev/fd0 /mnt/floopy ext2 noauto 0 0
/dev/hda3 /users ext2 defaults,usrquota 1 1
none /proc proc defaults 0 0
donde la palabra usrquota, es para darle a los usuarios
cuota, si queremeos darle a un grupo cuota, se pondr
grpquota, si queremos ambos se pondr:
/dev/hda2 / ext2 defaults 1 1
/dev/hda1 swap swap defaults 0 0
/dev/fd0 /mnt/floopy ext2 noauto 0 0
/dev/hda3 /users ext2 defaults,usrquota,grpquota 1 1
none /proc proc defaults 0 0
5.3 Crearemos un archivo y darle el permiso
correpondiente donde guardar los registros de los
usuarios
#touch /users/[Link]
#chmod 600 /users/[Link]
5.4 Reinicie la maquina, con ello obtenemos que lea
este archivo y empiece el comando quotaon
5.5 Despus de reiniciar la maquina podemos asignarle
el espacio al usuario con edquota:
#edquota -u login
Quotas for user login:
/dev/hda3: blocks in use: 3872, limits(soft=0, hard=0)
inodes in use: 375, limits(soft = 0, hard = 0)
Donde la informacin esta como:
i)Despus de que usuario esta dandole el espacio
correspondiente, est en que particin se lo est
asignando.
ii) El no. de bloques usados.
iii) Los limites de cuota inferiores y superiores (soft y
hard, respectivamente).
iv) El mismo formato pero ahora para los inodos.
Para asignarle el valor correspondiente se pone en
kbytes (en soft y hard). Modifica al usuario y anota el
resultado.
5.6 Ahora para comprobar el usuario quiere ver su
cuota, utilicemos el comando quota -v login para ver el
espacio ocupado del usuario:
#quota -v login
Anota el resultado.
Con lo anterior vemos que es muy fcil darle cuota a
los usuarios y mantener controlados a los usuarios, no
permitiendo llenar el disco por unos varios usuarios.
5.7 Miscelaneas.- Con el comando quota -v login vemos
a un usuario en particular, pero si quiero ver a todos
los usuarios usaremos repquota -a:
#repquota -a
Anota el resultado.
Tambin se puede actualizar el archivo
/users/[Link], cuando se da de alta un usuario con
quotacheck -a.
#quotacheck -a
Anota el resultado.
Ahora repite el comando repquota:
#repquota -a
Anota el resultado.
6.- Ultimo punto
6.1 Crea un nuevo grupo que tenga el GID 550 y el
nombre que gustes.
6.2 Registra a todos los integrantes de tu equipo,
asignandolos al grupo que creaste en el inciso anterior.
Modifica el GECOS de los usuarios, escribiendo el
nombre completo y telfono.
PRACTICA No. 4
"DEVICE FILES"
OBJETIVO: Comprender como maneja Linux todos
los dispositivos conectados a la computadora.
INTRODUCCIN:
Qu es un manejador de dispositivo ?
Todos los perifricos conectados a la computadora que
estamos usando para correr Linux son tratados como
archivos especiales (device files) por el sistema
operativo. Un perifrico o dispositivo es una terminal,
un disco duro, una impresora, un manejador de CDROM, o un modem. Todo lo que recibe o enva datos
hacia el sistema operativo es un dispositivo.
El concepto de tratar todo en el sistema como un
dispositivo es uno de los beneficios de la arquitectura
Unix. Cada dispositivo tiene un archivo especial
llamado manejador de dispositivo (device file), el cual
incluye todas las instrucciones necesarias para que
Linux se comunique con el dispositivo. Cuando un
nuevo dispositivo es desarrollado, puede ser usado por
Linux escribiendo su manejador de dispositivo, el cual
es usualmente un conjunto de instrucciones que
explican como mandar y recibir datos.
Los manejadores de dispositivos permiten al kernel de
Linux incluir solo el sistema operativo y el soporte de
software. Teniendo las instrucciones para comunicarse
hacia los dispositivos dentro de un conjunto de
archivos. Estos pueden ser buscados cuando son
necesitados (en el caso de que raramente sean usados)
o almacenados en memoria todo el tiempo cuando el
sistema operativo es reiniciado. Los refinamientos
hechos hacia un perifrico, pequeos cambios hacia el
archivo manejador del dispositivo pueden tener
informado al sistema operativo de nuevas
caractersticas y capacidades.
Cuando una aplicacin enva datos a un dispositivo, el
kernel de Linux no tiene que preocuparse por el
mecanismo. El kernel solo pasa la peticin al
manejador del dispositivo y deja que ste maneje las
comunicaciones. Similarmente, cuando estamos
tecleando, el manejador de dispositivo de la terminal
acepta la accin y la pasa al shell, filtrando cualquier
cdigo especial que el kernel no conozca, traducindolo
a un formato que el kernel pueda operar.
Por omisin y convencin Linux guarda los
manejadores de dispositivos en el directorio /dev.
Pueden guardarse los manejadores de dispositivos en
cualquier parte del sistema de archivos, pero
guardndolos en /dev hace obvio que son los
manejadores de dispositivos.
Diferencia entre dispositivos modo bloque y modo
caracter.
Cada tipo de dispositivo en el sistema Linux se
comunica con la aplicacin en una de las formas
siguientes: carcter por carcter o como un conjunto
de datos en un bloque de tamao predefinido. Las
terminales, impresoras y mdems asncronos son
dispositivos modo carcter. Cuando se usa el modo
caracter se enva uno a la vez y hace eco en la otra
terminal. Los manejadores (device drivers) de disco
duro y la mayora de manejadores, usan el modo
bloque, porque este es el camino ms rpido para
enviar o recibir grandes cantidades de informacin.
Los archivos de dispositivo (device files) son llamados
dispositivos modo carcter o dispositivos modo bloque,
basados en la forma de comunicacin.
Cabe mencionar que los dispositivos que operan a
modo carcter son distintos de los de modo bloque, en
el aspecto de como el dispositivo maneja su bfer. Los
dispositivos modo carcter hacen su propio bfer. Los
dispositivos modo bloque, usualmente se comunican en
bloques de 512 o 1024 bytes y el kernel se ocupa del
bfer.
Algunos perifricos necesitan usar archivos de
dispositivo a modo bloque y carcter al mismo tiempo.
Los manejadores de dispositivo manejan el modo
carcter y el modo bloque a travs de dos diferentes
archivos de dispositivo. El archivo de dispositivo que se
usa depende de como la aplicacin quiera escribir o
leer datos hacia el perifrico.
El archivo de dispositivo tiene todos los detalles de si el
perifrico opera a modo carcter o modo bloque. Una
manera fcil de saber que tipo de modo utiliza un
perifrico es obtener un listado largo del archivo de
dispositivo. El listado se obtiene con el comando 'ls -l'
que muestra los permisos, dueo, grupo, etc.. del
archivo. Si el primer carcter es una b, indica que el
perifrico opera en modo bloque y una c indica que el
perifrico opera en modo carcter.
Por ejemplo, para inspeccionar un dispositivo serial en
el sistema:
# ls -l /dev/cua0
crw-rw---- 1 root uucp 5, 64 Jul 17 1994 /dev/cua0
#
Los archivos de dispositivos son usualmente
nombrados indicando el tipo de dispositivo que son. La
mayora de terminales, por ejemplo, tienen un archivo
de dispositivo con el nombre tty seguido por dos o ms
letras o nmeros, tal como tty1, tty1A, o tty04. Las
letras tty identifican al archivo como una terminal (tty
es por teletype), y los nmeros o letras identifican una
terminal especfica a la que es referida. Cuando se
encuentran en el directorio llamado /dev, el nombre
completo del archivo de dispositivo se convierte en
/dev/tty01. El manejador del mouse conectado a su
computadora se accesa a travs del manejador
/dev/mouse.
Lista de nombres de varios manejadores de
dispositivos.
Dispositivo
Nombre
Primer floppy (A:)
/dev/fd0
Segundo floppy (B:)
/dev/fd1
Primer disco duro (completo)
/dev/hda
Primer disco duro, particin primaria 1
/dev/hda1
Primer disco duro, particin primaria 2
/dev/hda2
Primer disco duro, particin primaria 3
/dev/hda3
Primer disco duro, particin primaria 4
/dev/hda4
Primer disco duro, particin lgica 1
/dev/hda5
Primer disco duro, particin lgica 2
/dev/hda6
...
Segundo disco duro (completo)
/dev/hdb
Segundo disco duro, particin primaria 1
/dev/hdb1
...
Primer disco duro SCSI (completo)
/dev/sda
Primer disco duro SCSI, particin primaria 1
/dev/sda1
...
Segundo disco duro SCSI (completo)
/dev/sdb
Segundo disco duro, particin primaria 1
/dev/sdb1
...
Algunos archivos de los manejadores de dispositivos
pueden existir aunque estos no estn instalados. As
que si se tiene el archivo /dev/sda, no significa que
realmente se tenga un disco duro SCSI.
Nmero mayor y menor de dispositivo (Major and
Minor Numbers)
Linux puede usar el mismo manejador de dispositivo
para todos los dispositivos del mismo tipo. Por ejemplo,
un sistema Linux podra tener una tarjeta multipuerto
(mltiples puertos seriales) con 10 terminales Wyse 60.
Linux puede usar el mismo manejador de dispositivo
para cada terminal porque todas ellas son del mismo
tipo.
Sin embargo, el sistema operativo tiene un mtodo
para diferenciar a cada una de las 10 terminales que se
quiera direccionar. Aqu es donde los nmeros de
dispositivos son usados. Cada dispositivo es definido
por dos nmeros de dispositivo:
a) El nmero mayor, que identifica el manejador de
dispositivo que se ocupara y
b) El nmero menor, que identifica el nmero de
dispositivo.
Por ejemplo, las 10 terminales Wyse 60 sobre la tarjeta
multipuerto pueden usar un manejador de dispositivo
con el mismo nmero mayor (el cual realmente apunta
a la localizacin del archivo manejador de dispositivo
en el directorio /dev), pero cada uno tiene un nmero
menor diferente, este es utilizado por el sistema
operativo nicamente para identificar la terminal en la
tarjeta.
Cada dispositivo en el sistema operativo tiene un
nmero mayor y un nmero menor de dispositivo
asignado nico. Si dos dispositivos tuvieran el mismo
nmero, Linux no puede comunicarse propiamente con
ellos.
Los nmeros de dispositivo son creados con el
comando mknod (make node) y se borran con el
comando estndar rm.
Para el uso del mouse se necesitan los siguientes
archivos de dispositivo, si no cuenta con estos archivos
de dispositivo, deber crealos.
Interface
Logitech
Dispositivo
/dev/logibm
Mayor
Menor
10
Comando
mknod /dev/logibm c 10 0
PS/2
/dev/psaux
10
mknod /dev/psaux c 10 1
Inport
/dev/inportbm
10
mknod /dev/inportbm c 10 2
ATI-XL
/dev/atibm
10
mknod /dev/atibm c 10 3
Realizar el siguiente ejercicio para crear los diferentes
manejadores de dispositivo para el mouse:
#cd /dev Nos cambiar al directorio de manejadores de
dispositivo donde vamos a trabajar.
#
#ls -li logibm Hace un listado largo con su respectivo
nmero
de inodo del manejador de dispositivo.
12386 crw-rw-r-- 1 root root 10, 0 Dec31 1979 logibm
#
Apuntar el resultado de la pantalla.
#rm logibm Borra el manejador de dispositivo
#
#mknod /dev/logibm c 10 0 Crea un nuevo manejador
de dispositivo.
#
#ls -li logibm Lista el nuevo manejador para
comprobar
que fu creado en forma correcta.
13490 crw-r--r-- 1 root root 10, 0 Nov6 21:26 logibm
#
Apuntar el resultado de la pantalla.
#chmod 664 logibm Cambiar los permisos del archivo
para
dejarlo en su forma original.
#
#ls -li logibm Listar el manejador para ver los cambios
hechos.
13490 crw-rw-r-- 1 root root 10, 0 Nov6 21:26 logibm
#
Apuntar el resultado de la pantalla.
#ls -li psaux Hace un listado largo con su respectivo
nmero de inodo del manejador de dispositivo.
12421 crw-rw-r-- 1 root root 10, 1 Dec31 1979 psaux
#
Apuntar el resultado de la pantalla.
#rm psaux Borra el manejador de dispositivo
#
#mknod /dev/psaux c 10 1 Crea un nuevo manejador
de dispositivo.
#
#ls -li psaux Lista el nuevo manejador para
comprobar que fu creado en forma correcta.
13491 crw-r--r-- 1 root root 10, 1 Nov6 21:31 psaux
#
Apuntar el resultado de la pantalla.
#chmod 664 psaux Cambiar los permisos del archivo
para
dejarlo en su forma original.
#
#ls -li psaux Listar el manejador para ver los cambios
hechos.
13491 crw-rw-r-- 1 root root 10, 1 Nov6 21:31 psaux
#
Apuntar el resultado de la pantalla.
#ls -li inportbm Hace un listado largo con su respectivo
nmero de inodo
del manejador de dispositivo.
12383 crw-rw-r-- 1 root root 10, 2 Dec31 1979
inportbm
#
Apuntar el resultado de la pantalla.
#rm inportbm Borra el manejador de dispositivo
#
#mknod /dev/inportbm c 10 2 Crea un nuevo
manejador de dispositivo.
#
#ls -li inportbm Lista el nuevo manejador para
comprobar
que fu creado en forma correcta.
13492 crw-r--r-- 1 root root 10, 2 Nov6 21:33 inportbm
#
Apuntar el resultado de la pantalla.
#chmod 664 inportbm Cambiar los permisos del
archivo para
dejarlo en su forma original.
#
#ls -li inportbm Listar el manejador para ver los
cambios hechos.
13492 crw-rw-r-- 1 root root 10, 2 Nov6 21:33
inportbm
#
Apuntar el resultado de la pantalla.
#ls -li atibm Hace un listado largo con su respectivo
nmero de inodo del manejador de dispositivo.
12210 crw-rw-r-- 1 root root 10, 3 Dec31 1979 atibm
Apuntar el resultado de la pantalla.
#rm atibm Borra el manejador de dispositivo.
#
#mknod /dev/atibm c 10 3 Crea un nuevo manejador
de dispositivo.
#
#ls -li atibm Lista el nuevo manejador para comprobar
que
fu creado en forma correcta.
13489 crw-r--r-- 1 root root 10, 3 Nov6 21:12 atibm
#
Apuntar el resultado de la pantalla.
#chmod 664 atibm Cambiar los permisos del archivo
para
dejarlo en su forma original.
#
#ls -li atibm Listar el manejador para ver los cambios
hechos.
13489 crw-rw-r-- 1 root root 10, 3 Nov6 21:12 atibm
#
Apuntar el resultado de la pantalla.
CUESTIONARIO:
1. Defina que es un dispositivo para el sistema
operativo Linux ?
2. Mencione los beneficios que se obtienen de trabajar
con los manejadores de dispositivos.
3. Cual es la principal funcin del manejador de
dispositivo ?
4. En que directorio se guardan los manejadores de
dispositivos ?
5. De qu forma pueden comunicarse los dispositivos
con el sistema Linux y que nombre reciben estos
(mencione algunos ejemplos de cada uno) ?
6. Mencione una diferencia entre los dispositivos modo
carcter y modo bloque.
6. Un dispositivo puede tener un archivo de dispositivo
a modo bloque y modo carcter al mismo tiempo (si,no
y porque) ?
7. Diga una forma fcil para ver de que tipo de
manejador de dispositivo se trata un archivo
determinado.
8. Mencione de que forma son usualmente asignados
los nombres a los archivos de dispositivo y porqu ?
9. Necesita el sistema Linux un manejador diferente
para dispositivos del mismo tipo ?
10. Cmo puede el sistema Linux diferenciar entre los
manejadores del mismo tipo para saber sobre cual
enviar o recibir datos ?
11. Qu pasara si ms de un dispositivo tuvieran el
mismo nmero mayor y menor ?
PRACTICA #5
"CONCEPTOS DEL SISTEMA DE
ARCHIVOS"
OBJETIVO: Confirmar los conocimientos del alumno
acerca del sistema de archivos.
INTRODUCCIN:
Un sistema de archivos es la estructura que permite
organizar la informacin de LINUX.
El sistema de archivos cuenta con las siguientes
caractersticas:
Una estructura jerrquica arborescente, en donde
el nodo principal es el directorio llamado raz
(representado por "/") y cada uno de los niveles
del rbol representa directorios.
Consistencia en el manejo de archivos.
Proteccin para los datos de los archivos.
Manejo de los dispositivos perifricos como
archivos.
La estructura del sistema de archivos consiste en el
bloque de boot, el super bloque la lista de i-nodos y el
bloque de datos.
1.- El bloque de boot ocupa la parte del principio del
sistema de archivo, por lo regular el primer sector, y
puede contener el cdigo de boot o de arranque.
2.- El superbloque describe el estado de un sistema de
archivos. Contiene informacin acerca del tamao de
los sistemas de archivos, la lista de bloques libres
disponibles, ndice del siguiente bloque libre en la lista
de los mismos, el tamao, el total y la lista de los inodos, el ndice del siguiente i-nodo libre, los campos
de bloqueo de elementos de las listas de bloques libres y
de i-nodos libres. Estos campos se emplean cuando se
realiza una peticin de bloque o de i-nodo libre,
tambin contiene el flag que sirve para indicar si el
superbloque ha sido modificado o no.
3.- La lista de i-nodos, la cual se encuentra a
continuacin del superbloque. En esta lista, durante el
proceso de arranque del sistema, el kernel lee la lista
de inodos del disco y carga una copia en Memoria,
conocida como tabla de i-nodos. Las manipulaciones
que hace el subsitema de archivos involucran a dicha
tabla, pero no a la lista de i-nodos. Mediante ste
mecanismo se consigue una mayor velocidad de acceso
a los archivos, ya que la tabla se encuentra cargada
siempre en la memoria. Los campos de un i-nodo son
los siguientes:
a. Identificador del propietario del archivo.
b. Tipo de archivo.
c. Tipo de acceso al archivo.
d. Tiempos de acceso al archivo.
e. Nmero de enlaces del archivo.
f. Entradas para los bloques de direccin.
g. Tamao del archivo.
La tabla de i-nodos contiene la misma informacin que
la lista de i-nodos, adems de la siguiente informacin
adicional:
i. El estado del i-nodo, el cual indica si esta bloqueado,
si hay algn proceso esperando a que el i-nodo se
desbloquee, si la copia del i-nodo que hay en memoria
difiere de la que est en el disco, si la copia de los datos
del archivo que hay en memoria difiere de los datos
que hay en el disco.
ii. El nmero de i-nodo, como los i-nodos se almacenan
en disco en un arreglo lineal, al cargarlo en memoria,
el kernel le asigna un nmero en funcin de su posicin
en el arreglo.
iii. Apuntadores a otros i-nodos cargados en memoria,
el kernel enlaza los i-nodos sobre una cola hash (cola
de dispersin) y sobre una lista libre. Las claves de
acceso a la cola hash nos la dan el nmero de
dispositivo lgico del i-nodo y el nmero de i-nodo.
iv. Un contador que indica el nmero de copias del inodo que estn activas.
4.- El bloque de datos empieza a continuacin de la lista
i-nodos y ocupa el resto del sistema de archivos. En
esta zona es donde se encuentra situado el contenido de
los archivos a los que se hace referencia la lista de inodos. Cada uno de los bloques destinados a datos slo
puede ser asignado a un archivo, tanto si lo ocupa
totalmente como si no.
Super
Bloque
Descripcin del Bloque de
FS
Bitmap
Bitmap del
inodo
Tabla del
inodo
Bloque de
datos
Se tiene diseado e implementado 2 nuevos sistemas de
archivos y estos estn incluidos en el estandard del
kernel de Linux. Estos 2 llamados "Extended File
System [extfs]" y "Second Extended File System
[ ext2fs]" arregla las limitaciones y nuevas
caractersticas.
Presentaremos la implementacin del Sistema de
Archivo Virtual en Linux y se detallar el Second
Extended File System del cdigo del kernel y las
utileras de modo usuario.
Despus de la integracin del VFS en el kernel, un
nuevo sistema de archivos llamado "Extended File
System" fue implementado en Abril de 1992 y
agregado a Linux 0.96c. Este nuevo sistema de archivos
remueve a las 2 grandes limitaciones de Minix.
Mximo tamao fue de 2 Gigabyte y el mximo
nombre del archivo fue de 255 caracteres. Fue un
mejoramiento sobre el sistema de archivos de Minix
pero algunos problemas estn presentes. Estos no
soportan los accesos separados, modificando el inodo, y
las modificaciones de datos estn en tiempos
estampados. El sistema de archivos usan ligas de listas
a guardar track de bloques libres e inodos y estn
producen malos performances : como los sistemas de
archivos fueron usados, las listas comenzaron sin orden
y los sistemas comenzaron a fragmentar. Como una
respuestas a estos problemas, 2 nuevos sistemas de
archivos fueron soltados en la versin alfa de enero de
1993 : El sistema de archivos Xia y el Second Extended
File System. El sistema de archivos Xia fue basado en
el sistema de archivos Minix y el cdigo del kernel
nicamente agrega un poco improvisado sobre los
sistemas de archivos. Bsicamente, provisto nombre
largo en los archivos, soporta grandes particiones
desde 3 tiempos estampados. Por el otro lado, ext2fs
fue basado con el cdigo de extfs con mucha
reorganizacin y mejoramiento. Tiene que estar
diseado con evolucin en mente y contiene espacio a
futuros mejoramientos. Este ser descrito con mas
detalle en pginas posteriores.
Cuando los 2 nuevos sistemas de archivos fueron
primeros implementados, provistos esencialmente el
mismo aspecto. Estos sistema de archivos diseados,
Xiafs fue mas estable que ext2fs. Como los sistemas de
archivos fueron usados ms, los bugs fueron fijos en el
ext2fs y las mejora tiene nuevos aspectos integrados.
Ext2fs es ahora muy estable y tiene comenzando el
factor estandard del sistema de archivos de Linux.
Esta tabla contiene un sumario de los aspectos
provistos de los diferentes sistema de archivos
Minix FS
Max FS Size
64 MB
Ext FS
2 GB
Ext2 FS
4 TB
Xia FS
2 GB
Max file Size
64 MB
2 GB
2 GB
64 MB
Max file name
16/30 c
255 c
255 c
248 c
3 time support
No
No
Yes
Yes
Extensible
No
No
Yes
No
Var. Block size
No
No
Yes
No
Max FS Size
Yes
No
Yes
El Sistema de Archivos Virtual (VFS)
El kernel de Linux contiene un VFS que usado durante
la llamada al sistema accionando en archivos. El VFS
es una capa indirecta cual tiene un archivo orientado a
la llamada del sistema y llama necesariamente
funciones en el sistema de archivos fsicos codificados
en el I/O. Este mecanismo indirecto es frecuentemente
usado en los sistemas operativos UNIX, fcilmente a la
integracin y el uso de varios tipos del sistema de
archivos. Cuando un proceso saliente a un archivo
orientado a la llamada del sistema, la llamada del
kernel como funcin contiene el VFS. Esta funcin
contiene una estructura independiente manipulando y
redireccionando la llamada a una funcin contenida en
el cdigo del sistema de archivos fsicos, cual es la
responsable de la cabecera a la estructura que
dependen de operaciones. El cdigo de sistemas de
archivos usa el buffer cache correspondiendo a las
funciones de I/O a los dispositivos. El sig. esquema
ilustra este funcin :
La definicin del VFS pone las funciones como un buen
sistema de archivos que est implementado. Esta
interfase hace una puesta de operaciones asociadas a 3
grandes objetos : sistemas de archivos, inodos y
archivos abiertos. El conocido VFS acerca de los tipos
de sistema de archivos soportados en el kernel. Usa una
tabla definida durante la configuracin del kernel.
Cada entrada de esta tabla describe un tipo de sistema
de archivos : Contiene el nombre del tipo del sistema
de archivos y pone en una llamada de funcin durante
el montaje de operacin. Cuando un sistema de
archivos es montado, el apropiado montaje de la
funcin es la llamada. Esta funcin es responsable de
leer el superbloque desde el disco, inicialmente
variables internas y retornar un montaje del sistemas
de archivos describe el VFS. Despus que el sistema de
archivos es montado, las funciones del VFS puede
usarse una descripcin accesando a la rutinas fsicas
del sistemas de archivos.
Un sistema de archivos montado describe el contenido
de algunas de datos : informacin que es comn son los
tipos de sistemas de archivos, punteando funciones
provistas por los sistemas de archivos fsicos en el
cdigo del kernel, y datos privados mantenidos por el
cdigo fsico de los sistemas de archivos. La funcin
puntera contiene la descripcin del sistema de archivos
alojados en el VFS a accesar la rutinas internas del
sistemas de archivos.
The Second Extended File System
El Second Extended File System (ext2fs) ha sido
diseado e implementado a fijar algunos problemas
presentados en el primer extfs.
En el Sistema Operativo, necesitamos que el ext2fs
tuviera un excelente performance. Se necesita que
fuera un muy robusto sistema de archivos en orden a
reducir los riesgos de datos perdidos en uso intensivo.
Lo ltimo es que el ext2fs tiene que incluir provisiones
de extensiones a alojar usuarios a beneficiar desde
nuevos aspectos sin reformas al sistemas de archivos.
Reformas del "Estandard" ext2fs
Soporta el ext2fs los estandard de los tipos de archivos
UNIX : archivos regulares, Directorios, Archivos
Especiales de Dispositivos, Ligas, Sockets, etc. Ext2fs es
capaz de manejar sistemas de archivos creados en
grandes particiones. El cdigo del kernel original
restringe el mximo tamao de los sistemas de archivos
a 2 GB. Recientemente de trabajo en la capa de VFS se
tiene un limite de 4 TB. Es posible usar discos grandes
sin necesidad de crear muchas particiones.
Ext2fs proviene de la longitud de los nombres de
archivos. Usa longitud variable en la entrada de
directorios. El mximo tamao del nombre del archivo
es de 255 caracteres. Este limite puede ser extendido a
1012 si es necesario. Ext2fs reserva algunos bloques del
superusuario (root). Normalmente es del 5% los
bloques reservados. Esto aloja al administrador a
recobrar fcilmente situaciones cuando los procesos
llenan el sistema de archivos.
Reformas "Avanzadas" del ext2fs
En suma al aspecto estandard UNIX, ext2fs soporta
algunas extensiones cual no es usualmente presentado
en los sistemas de archivos UNIX. Atribuidos al
archivo aloja al usuario a modificar al kernel cuando
acciona una puesta de archivos. Uno puede poner
atributos a un archivo o a un directorio. En el ltimo
de los casos, nuevos archivos creados en el directorio
inherentes a estos atributos. BSD o System V Release 4
pueden seleccionar como tiempo de montaje. Una
opcin de montaje aloja al administrador a escoger la
semntica de la creacin de archivos. En un sistema de
archivos montados con semnticas BSD, son archivos
creados con el mismo grupo id como es el directorio
padre. System V est en su semntica son con un bit
mas complejo : Si un directorio tiene puesto un bit
setgid en nuevos archivos inherentes al grupo id del
directorio y subdirectorios inherentes al grupo id y el
setgid ; en el otro caso, archivos y subdirectorios son
creados con el grupo primario id de los llamados
procesos con el grupo primario id de los llamados
procesos.
Una opcin de montaje aloja al administrador a
solicitar este metadato (inodos, bloques de bitmap,
bloques indirectos y directos) ser descritos
sincronizados en el disco con ellos modificndolos. Esto
puede ser provechoso a mantener un estricto metadato
consistente, pero esto liderean una pobre ejecucin.
Actualmente, este aspecto no es normalmente usado,
desde entonces una suma al ejecutar una asociacin
prdida con actualizaciones usando sincronizacin de
los metadatos, puede causar corrupcin en el uso de los
datos cual no es bandera por lo cual el filesystem es
checado.
Ext2fs aloja al administrador a escoger el bloque lgico
de tamao cuando crea el sistema de archivos. El
tamao de bloques puede ser tpicamente de 1024, 2048
y 4096 bytes. Usando grandes tamaos de bloques
pueden correr arriba de I/O desde pocas I/O de
respuestas, y as pocos discos de cabeceras, la cual
necesitamos al acceder a un archivo. En la otra cabeza
grandes bloques desolados ms espacio en disco : En el
promedio, el ltimo bloque alojado a un archivo es
nicamente medio lleno, as como bloques obtenidos
grandemente, ms espacio espera en el ltimo bloque
de cada archivo. En suma, mas de la ventaja de los
tamaos de bloques lagos son obtenidos por el sistema
de archivos con tcnicas de prealojamiento.
La implementacin de ext2fs de rpidas ligas
simblicas. Una liga simblica rpida no es usada en
un bloque de datos en el sistema de archivos. El
nombre en blanco no esta almacenado en un bloque de
datos pero en el inodo. Esta poltica nos salva de algn
espacio en disco ( no a bloques de datos que
necesitamos a ser alojados) y velocidades arriba de las
operaciones ligadas ( Esto no es necesario en leer en un
bloque de datos cuando se accede mucho a una liga), el
espacio disponible en el inodo es limitado y no esta todo
ligado o puede ser implementado como una liga
simblica. El tamao mximo del nombre en blanco es
un smbolo de ligado rpido de 60 caracteres,
planeamos a extender este esquema de archivos a
pequeos archivos en un futuro cercano.
Ext2fs guarda el track en el estado de los sistemas de
archivos. Un campo especial en el superbloque, es
usado por el cdigo del kernel que indica el estado del
sistema de archivos. Cuando un sistema de archivos es
montado en modo de lectura/escritura , este estado esta
puesto indicado como "no limpio". Cuando es
desmontado o remontado en un inodo en un modo
solamente_lectura, este estado es reseteado como
"limpio". Como en el tiempo de boot, el sistema de
archivos checa usando esta informacin y decide si el
sistema de archivos es checado. El cdigo del kernel
tambin graba errores en estos campos. Cuando una
inconsistencia esta detectado por el cdigo del kernel,
el sistema de archivos es marcado como "errneo". El
sistema de archivos checa con un tets y forza el
chequeo del sistema de archivos indiferente de estos
aparentes estados "limpios".
Siempre que el sistema de archivos salta a checar en
algn tiempo si esta daado, as el ext2fs provee 2
caminos para hacer el chequeo forzado en intervalos
regulares. Un contador de montaje es mantenido en el
superbloque. Cada tiempo el filesystem es montado en
modo lectura/escritura, este contador es incrementado.
Cuando este es valuado en mximo ( tambin grabado
en el superbloque), el filesystem checa forzadamente y
hace que el filesystem este "limpio". Un ltimo
chequeo de tiempo y un mximo de chequeo de
intervalo o son tambin mantenidos en el superbloque.
Estos 2 campos alojados al administrador a solicitud
del chequeo peridicamente. Cuando el mximo
chequeo del intervalo ha sido alargado, el checador
ignora el estado del filesystem y forza el checado del
mismo. Ext2fs ofrece utileras al comportamiento del
filesystem. El programa tunefs puede ser usada a
modificar :
I El error de comportamiento. Cuando una
inconsistencia es detectada por el cdigo dl kernel, el
filesystem es marcado como "errneo" y uno de las 3
siguientes acciones puede ser acabado : continua una
normal ejecucin, remonta el filesystem en modo
solamente_lectura a evitar el filesystem corrupto,
hacer pnico en el kernel y rebotear, correr el chequeo
del filesystem.
II El contador mximo de montaje.
III. El chequeo mximo del intervalo
IV. El no. de bloques lgicos reservados para el
superusuario.
Opciones de montaje puede tambin ser usado a
cambiar el comportamiento errneo del kernel. Un
atributo alojado al usuario solicita seguridad borrado
en archivos. Cuando cada archivo es borrado, el dato
aleatorio est escrito en el bloque del disco previo
alojado en el archivo. Esta prevencin maliciosa de
gente desde la ganancia en el acceso previo al
contenido de archivo usando un editor de disco.
Ultimo, nuevos tipos de archivos inspirados desde la
versin 4.4 BSD del filesystem que est recientemente
agregado a ext2fs. Archivos inmutables pueden
nicamente ser ledos : nadie puede escribir o borrar
esto. Esto puede ser usado para proteger
configuraciones de archivos sensitivos. Archivos
nicamente agregados puede ser abiertos en modo
escritura pero los datos est siempre agregando al final
del archivo. Archivos similarmente inmutables, estos
no pueden ser borrados o renombrados. Esto es
especialmente til a los archivos, los cuales pueden
nicamente crecer.
CUESTIONARIO:
1.- Cules son las caractersticas del Sistema de
Archivos?
2.- Cul es la estructura del Sistema de Archivos?
3.- Qu informacin se encuentra en los i-nodos?
4.- Qu informacin contiene el Super Bloque?
5.- Cules son las caracteristicas del Virtual File
System (VFS)?
6.- Cules son las diferencias y semejanzas del extfs y
ext2fs?
7.- Que diferencia notable tiene ext2fs y minix?
8.- Cul es la capacidad mxima de un archivo con el
formPRACTICA # 6
"CREANDO Y USANDO EL SISTEMA
DE ARCHIVOS"
OBJETIVO: Utilizar los comandos bsicos para la
creacin y uso del sistema de archivos de Linux.
INTRODUCCIN:
La parte ms importante de cualquier sistema de
cmputo son los datos, es decir, la informacin que los
programas almacenan y manipulan. Linux tiene un
sistema de archivos cuyo trabajo es conservar toda la
informacin que se almacene en la computadora,
incluyendo programas, documentos, bases de datos,
textos, etctera.
En Linux el trmino "archivo" se refiere a cualquier
fuente de entrada o destino de salida, no slo a un
depsito de datos. El espacio visible a los usuarios se
basa en una estructura de rbol, con la raz en lo alto.
Los archivos y los directorios se colocan debajo de la
raz.
En realidad, algunos de los directorios en el rbol de
archivos estn fsicamente ubicados en diferentes
particiones del disco, sobre diferentes discos y
eventualmente en diferentes computadoras. Cuando
una de estas particiones del disco est ligado con el
rbol de archivos en el directorio conocido como punto
de montaje (mount point); al punto de montaje y a
todos los directorios inferiores nos referiremos como el
SISTEMA DE ARCHIVOS.
Linux tiene ocho tipos de archivos y hablaremos de 3:
los ordinarios, los directorios y los especiales. Los
archivos ordinarios contienen datos y se almacenan en
un disco. Un directorio se almacena en disco y contiene
informacin que se usa para organizar y permitir el
acceso a otros archivos.
Los archivos especiales o de dispositivo, son la
representacin interna de un dispositivo fsico.
1. Para poder montar el sistema de archivos en
Linux, primero debemos tener una particin fsica
en el disco, un CD-ROM, o un floppy.
Linux usa el comando 'mount' para montar el sistema
de archivos. Las formas ms utilizadas son:
/bin/mount [opciones] dispositivo punto-de-montaje
/bin/mount punto-de-montaje
/bin/mount -at nfs
Donde opciones son las banderas que soporta el
comando mount, dispositivo es el nombre del archivo
de dispositivos (device file) de modo bloque que se
desea montar y punto-de-montaje es el directorio donde
se montar el sistema de archivos. Cabe mencionar que
el punto-de-montaje es un sub-directorio que debe estar
vaco, si ste sub-directorio tiene alguna informacin;
sta quedar oculta cuando se monte el sistema de
archivos. El comando tiene varias banderas, estos son:
-f
Termina todos los procesos excepto la actual llamada al sistema.
-v
mount provee informacin adicional sobre lo que se trata de hacer.
-w
El sistema de archivos se montar con permisos de lectura y escritura.
-r
El sistema se montar con permisos de solo lectura.
-n
Se monta sin escribir las entradas en el archivo /etc/mtab
-t tipo
Especifica el tipo de sistema de archivos a instalar. Los tipos validos son:
minix,ext,ext2,xiafs,msdos,hpfs,proc,nfs,
umsdos,sysv e iso9660.
-a
Intenta montar todo el sistema de archivos, descritos en /etc/fstab
-o lista de
opciones
El argumento -o le dice a mount que aplique las opciones que son
especificadas para el sistema de archivos que se montar. Para ms detalles
ver la pgina de ayuda con el comando 'man mount'
Podemos hacer que este tipo de montajes se realicen
automticamente cuando el sistema entra a modo
multiusuario, editando el archivo de configuracin
llamado: /etc/fstab. Un archivo comn es como el
siguiente:
#
# /etc/fstab
#
# You should be using fstool (control-panel) to edit this!
#
# <device> <mountpoint> <filesystemtype> <options> <dump> <fsckorder>
/dev/hda2 / ext2 defaults 1 1
/dev/hdb1 /disco ext2 defaults 0 0
/dev/fd0 /mnt/floppy ext2 defaults,users,noauto 0 0
/dev/hda1 none msdos defaults 0 0
/proc /proc proc defaults
/dev/hda3 none swap sw
cronos:/reas /users nfs rw
brahm:/u/alum /users/alum1 nfs rw
brahm:/u2/alum /users/alum2 nfs rw
1. El proceso contrario de montar es desmontar un
sistema de archivos. Al igual que con el comando
'mount' tenemos tres distintas formas muy usuales
del comando 'umount', estas son:
#/bin/umount dispositivo | punto-de-montaje
#/bin/umount -a
#/bin/umount -t fstipo
donde dispositivo es el nombre del dispositivo fsico a
desmontar y punto-de-montaje es el nombre del
directorio donde fu montado. Solamente se necesita
especificar una u otra opcin. El comando tiene dos
parmetros adicionales: -a desmonta todo el sistema de
archivos, y -t fs-tipo acta slo en los sistemas de
archivos especificado por fs-tipo.
#/bin/umount /dev/fd0
#/bin/umount /mnt
C. Eventualmente conectaremos un nuevo disco duro a
nuestra computadora, cuando lo hacemos
necesitaremos particionar el disco a fin de poder
montar un sistema de archivos en l. La particin se
realiza con el comando 'fdisk'.
Para una referencia detallada de este comando puede
revisar el manual de Linux sobre 'fdisk'.
# fdisk drive
# fdisk /dev/hdb
las anteriores opciones son tpicos para el comando.
D. Una vez que se ha realizado una particin en el
disco con el comando 'fdisk', debemos de crear el
sistema de archivos antes de proceder a ocupar el disco
para introducir los datos. Esto lo podemos realizar con
el comando 'mkfs'. La forma de usar el comando es la
siguiente:
# mkfs [-V] [-t fs-tipo] [fs-opciones] sist_archivo
[bloques]
sist_archivo Es el nombre especial del sistema de archivos que se desea construir tal
como /dev/hda1.
-V
Especificando esta opcin inhibe ms de una ejecucin del sistema de
archivos.
-v
verbose. Informacin extra.
-t fs-tipo
Especifica el tipo de sistema de archivo a construir. Ver el manual en lnea
de: fsck(8), [Link](8), [Link](8), mkfs.ext2(8), [Link](8). El tipo
por omisin es minix.
fs-opciones Las opciones con las que se crear el actual sistema de archivos.
-c
Verifica el dispositivo para los bloques malos antes de construir el archivo.
bloques
Especifica el nmero de bloques a usar por el sistema de archivos.
D.1 Un ejercicio prctico lo podemos realizar con
nuestros discos flexibles utilizando el siguiente
comando:
# /sbin/mkfs -t ext2 /dev/fd0 1440
E. En muchas ocasiones el sistema de archivos se daa.
La causa ms comn es apagar la PC sin antes haber
desmontado los sistemas de archivos. En los sistemas
UNIX se ofrece el comando 'fsck' (que a su vez es una
liga a e2fsck)para reparar el sistema de archivos
daado. En Linux el comando tiene la siguiente
sintaxis:
# fsck [-A] [-V] [-t fs-tipo] [-a] [-l] [-r] [-s] sis_arch
-A
Va a travs del archivo /etc/fstab y trata de checar todo el sistema de archivos
en una pasada.
-V
Imprime informacin adicional acerca de lo que 'fsck' va haciendo.
-t fs-tipo Especifica el tipo de sistema de archivo a verificar.
-a
Automticamente repara cualquier problema que encuentra en el sistema de
archivos sin preguntar. Use esta opcin con cuidado
-l
Lista todos los nombres de archivos en el sistema de archivos.
-r
Pregunta la confirmacin antes de reparar el sistema de archivos.
-s
Lista el superblock antes de checar el sistema de archivos.
sis_arch Especifica el sistema de archivos a ser verificado.
El programa e2fsck est diseado para correr
rpidamente si es posible. Desde el chequeo del
filesystem tienden que ser un disco atado, esto fue
acabado para optimizar los algoritmos usando el
e2fsck as esta estructurando el filesystem no son
repetidos accesando desde el disco. En suma, el orden
en el cual los inodos y los directorios son checados,
ordenados por el nmero de bloques reducidos al
importar el tiempo de discos buscados. Algunas de
estas ideas son originalmente exploradas por [ Bina y
Emrath 1989 ] por esto tiene que ser refinados por los
autores.
En el paso1, e2fsck itera sobre todos los inodos en los
filesystem y checa sobre cada inodo con una no
conectividad de objeto en el filesystem. Esto es, los
chequeos no requieren unos sobrechequeos de los
objetos del filesystem. Los ejemplos de cada chequeo
incluye hechos seguros del archivo de modo legal, y
esto es en todos los bloques en el inodo son nmero de
bloques vlidos. Durante el paso 1, los bitmaps indica
cual bloque e inodo son en uso que estn compilados.
Si e2fsck notifica datos de bloques cual son reclamados
por mas de un inodo invoca el paso 1B por 1D que
resuelve estos conflictos, uno a otro por clonar los
bloques compartidos as esta cada inodo fue copiado el
bloque compartido por desalojados uno o ms de los
inodos.
Paso 1 toma la longitud de tiempo a ejecutar, desde
todos los inodos tienen que ser ledo dentro de la
memoria y checado. Reduce el tiempo de I/O necesario
en futuros pases, la informacin del filesystem critico
esta intercambiando en memoria. El mas importante
ejemplo de esta tcnica es la localizacin en el disco de
todos los bloques en el filesystem. Esto obviamente
necesita la re-lectura de la estructura de los inodos de
directorios durante el paso 2 que contiene esta
informacin.
El Paso 2 checa directorios como objetos sin conexin.
Desde el directorio de entrada no resuelve bloques de
disco, cada bloque de directorio puede checarse
individualmente sin referencia a otros bloques de
directorios. Esto aloja que el e2fsck ordena todos los
bloques de directorios por el nmero de bloques y
checa el directorio de bloques en orden ascendentes, as
decrece la bsqueda del disco. Los bloques de
directorios son checados a asegurar estas entradas de
directorios que son vlidos, y contiene referencia a los
nmeros de los inodos que estn en uso (como se
determinan por el paso 1).
Desde el primer directorio de bloque en cada inodo del
directorio, el "." y ".." de entrada son checados
asegurando, si este existe y este nmero del inodo de la
entrada del "." Observando en el directorio corriente
( El nmero del inodo de la entrada ".." no es checada
hasta el paso 3). El paso 2 tambin checa la
informacin concierte el directorio padre en cual cada
directorio es ligado. ( si un directorio es referente por
ms que en un directorio, la segunda referencia del
directorio es negociado como una ilegal liga dura y es
removida). Es notable notar que el fin del paso 2, casi
todos los I/O del disco el cual el comando e2fsck
necesita ejecutarse completo. Informacin de los pasos
3, 4 y 5 son intercambiados en memoria ; De aqu los
pasos quedan en e2fsck que son largamente atados al
CPU, y toma prdidas que estn al 5-10 % del tiempo
total que corre el e2fsck.
En el paso 3, la conectividad del directorio es checado.
Los trazos e2fsck del rutea de cada directorio atrasado
a la raz, usando la informacin que esta fue
intercambiada durante el paso 2. Como estos tiempos,
la entrada ".." de cada directorio es tambin checado a
hacer seguro es vlido. Algunos directorios cual no
pueden ser trazados atrs del root son ligados al
directorio /lost+found.
En el paso 4, e2fsck checa la referencia de contar todos
los inodos, por interaccin sobre todos los inodos y
compara las ligas contadas (cual fue intercambiando
en el paso 1) fue contador interno compuesto durante
el paso 2 y 3. Algunos archivos sin borrar con un
contador de liga cero es tambin ligado al directorio
/lost+found durante este paso.
Finalmente en paso 5, e2fsck checa la validacin del
sumario de la informacin del filesystem. Compara el
bloque y el bitmap del inodo cual fue construido
durante los pasos previos contra los cuales bitmaps en
el filesystem, y correctos las copias en disco si es
necesario.
la forma ms comn de usar 'fsck' es la siguiente:
# fsck /dev/hda3
DESARROLLO
1. Entre a sesin como super usuario.
2. Inserte un disco de 3.5" de alta densidad en la
unidad de disco del servidor Linux. Ejecute el siguiente
comando:
# /sbin/mkfs -t ext2 /dev/fd0 1440
3. Monte el sistema de archivos recin creado en el
disco flexible en el sub-directorio /mnt. Y verifique que
el kernel lo reconoce como parte del sistema de
archivos. Ejecute los siguientes comandos:
# /bin/mount -t ext2 /dev/fd0 /mnt
# /bin/mount
4. Copie el archivo /etc/passwd al disco flexible. Ejecute
el siguiente comando:
# cp /etc/passwd /mnt/passwd
5. Compruebe que el archivo se copi realmente.
Ejecute los siguientes comandos:
# cd /mnt
# ls -l
6. Desmonte el sistema de archivos que se esta usando
en el disco flexible. Ejecute el siguiente comando:
# umount /mnt
Una forma alternativa de hacerlo es: umount /dev/fd0
7. Verifique la integridad del sistema de archivos
creado en el disco flexible: Ejecute el siguiente
comando:
# fsck /dev/fd0
8. Monte nuevamente el sistema de archivos del disco
flexible y ejecute el comando 'fsck' sobre ste sistema
de archivos. Qu sucede ? Por qu me pregunta si estoy
seguro de continuar con la ejecucin del comando ?
CUESTIONARIO:
1. Cul es el propsito del comando 'mount'?
2. Cul es el propsito del comando 'umount'?
3. Cul es el propsito del comando 'fdisk'?
4. Cul es el propsito del comando 'mkfs'?
5. Cul es el propsito del comando 'fsck'?
6. En que situaciones es conveniente utilizar el
comando 'fsck'?. Recuerde el punto 8 del desarrollo de
la prctica. Anote sus comentarios y conclusiones al
respecto.
7. El nombre del archivo de dispositivo que se le pasa
como argumento a 'fsck', es de tipo modo bloque o
modo caracter ?
8. El nombre del archivo de dispositivo que se le pasa
como argumento a 'mount' y 'umount', es de tipo modo
bloque o modo caracter ?
9. Investigue como montar un disco flexible que tiene
formato de DOS y poder copiar archivos de UNIX a
DOS y viceversa. Escriba el comando que utiliz para
montar el disco flexible.
10. Se puede verificar una particin montada va NFS
con el comando fsck. S o no? Porque?
ato ext2fs? PRACTICA #7
"MANEJO DEL SISTEMA DE
ARCHIVOS"
OBJETIVO: Conocer los diferentes tipos de archivos y
poder manipularlos.
INTRODUCCIN:
Existen varios tipos de archivos:
1.- Archivos ordinarios. Son los ms comunes, son los
que almacenan datos, es decir, puede ser un programa,
un archivo de texto, cdigo fuente o cualquier cosa que
pueda guardarse en cualquier lugar. El kernel soporta
acceso secuencial y aleatorio en todos estos archivos.
2.- Directorios tienen en comn con los archivos
ordinarios en que tambin contienen datos, slo que en
este caso el dato es una lista de otros archivos.
3.- Archivos especiales se identifican porque cada uno
tiene un nmero de dispositivo mayor y uno menor
(major and minor device number). El nmero mayor
identifica al manejador del dispositivo que necesita el
kernel para acceder al dispositivo. El nmero menor
significa un parmetro dependiente del manejador del
dispositivo usado tpicamente para diferenciar entre
diversos tipos de dispositivos soportados por el
manejador, o distintos modos de operacin. Utilizan un
i-nodo pero no bloques de datos. Representan
dispositivos en los que se pueden leer o escribir
cantidades arbitrarias de datos. Incluyen sistemas de
archivos, puertos seriales, puertos paralelos, terminales
y cintas. Tambin se les conoce como "raw devices"
debido a que no manipulan la I/O. Los discos duros y
flexibles pueden ser accedidos de esta manera.
Podemos ver archivos de este tipo en el directorio /dev.
4.- Entubamientos (FIFO [First In First Out]). Son
aquellos que permiten la comunicacin entre dos
procesos ejecutndose en el mismo nodo. Los
entubamientos pueden ser creados con el comando
mknod y eliminados con el comando rm.
5.- Ligas Duras, en realidad una liga no es un archivo,
es un nombre adicional para otro archivo. Cada
archivo tiene al menos una liga, usualmente el nombre
bajo el cual fue originalmente creado. Cuando se hace
una nueva liga hacia un archivo, un alias para este
archivo es creado. Una liga es indistinguible del
archivo al cual est ligado; LINUX mantiene el conteo
de la cantidad de ligas que apuntan hacia un archivo
en particular y no libera el espacio que ocupa el
archivo hasta que la ltima liga es eliminada. La liga
dura es una conexin directa entre archivos, por lo que
sta no puede existir a travs de distintos sistemas de
archivos.
6.- Ligas Simblicas son archivos que simplemente
contienen el nombre de otro archivo. Cuando el kernel
trata de abrir o pasar a travs de la liga, su atencin es
directamente hacia el archivo que la liga simblica
apunta en vez de abrir la liga simblica en s. La
diferencia entre las ligas, es que las duras son una
referencia directa, mientras las simblicas son una
referencia a travs de un archivo, las simblicas son el
archivo en s, por lo tanto, tienen un propio dueo y
permisos.
7.- Sockets son conexiones entre procesos que les
permiten comunicarse de una manera ms rpida y
fcil. Existen varios tipos de sockets en UNIX, muchos
de los cuales involucran el uso de la red. Los sockets
son locales a un modo en particular y son referenciados
a travs de un objeto en el file system en vez de un
puerto en la red. Los archivos de sockets son visibles a
los dems procesos como entradas en el directorio,
estas entradas no pueden ser ledas o escritas por
procesos que no estn involucrados en la conexin del
socket.
Los sockets en UNIX son creados con la llamada al
sistema socket()y pueden ser eliminados con el
comando rm con la llamada al sistema unlink ().
La llamada para abrir un canal bidireccional de
comunicaciones es socket y se declara como sigue:
#include <sys/typesh.h>
#include <sys/socket.h>
int socket(af,type,protocol)
int af,type, protocol;
Socket crea un punto terminal para conectarse a un
canal y devuelve un descriptor. El descriptor de socket
devuelto se usar en llamadas posteriores a funciones
de la interfaz.
Af (address family) especifica la familia de sockets o
familia de direcciones que se desea emplear. Las
distintas familias estn definidas en el archivo de
cabecera <sys/socket.h> y dependern del fabricante
del sistema y de la configuracin del hardware. Las 2
familias siguientes suelen estar presentes en todos los
sistemas:
AF_UNIX Protocolos internos UNIX. Es la familia de
sockets empleada para comunicar procesos que se
ejecutan en una misma mquina. Esta familia no
requiere que est presente un hardware especial de
red, puesto que en realidad no realiza acceso a ninguna
red.
AF_INET Protocolos Internet. Es la familia de sockets
que se comunican mediante protocolos, tales como
TCP (Transmission Control Protocol), desarrollado por
la Universidad de California en Berkeley para DARPA
(Defense Advance Research Projects Agency) UDP
(User Datagram Protocol).
AF_CCINT Norma X.25 del CCITT.
AF_NS Protocolo NS de Xerox..
El argumento type indica la semntica de la
comunicacin para el socket. Puede ser:
SOCK_STREAM Socket con un protocolo orientado a
conexin. Esto es lo que hemos estudiado como circuito
virtual.
SOCK_DGRAM Socket con un protocolo no orientado
a conexin o datagrama.
Protocol especifica el protocolo particular que se va
usar en el socket. Normalmente, cada tipo de socket
tienen slo un protocolo, pero si hubiera ms de uno, se
especificara mediante un argumento. Protocol puede
vale cero, en cuyo caso la eleccin del protocolo se deja
en manos del sistema. Si la llamada se ejecuta
satisfactoriamente, devolver un descriptor de fichero
vlido. En caso contrario, devolver -1 y el errno estar
codificado al error producido.
Los Permisos de Archivos son el conjunto de nueve bits
de permisos asociados a ellos, que controlan quien
puede leerlos, escribirlos o ejecutarlos. Y junto con
otros tres bits que afectan la forma de ejecutarlos,
constituyen los llamados bits de modo, que son los
permisos totales del archivo. Los doce bits de modo son
guardados con otros 4 bits tipo de archivo son fijados
cuando el archivo es creado y no pueden ser
modificados, pero los otros 12 bits pueden ser alterados
por el dueo o por el superusuario usando el comando
chmod. El comando /bin/ls -l es utilizado para
examinar el valor de estos bits.
Los bits correspondientes son el setuid, setgid y sticky
bit y estos valores octales son 4000, 2000 y 1000
respectivamente.
Fijando el bit SUID (Set User ID) en un archivo,
permite que los usuarios ejecuten los permisos del
dueo del archivo.
Fijando el bit SGID (Set Group ID) en un archivo,
permite que los usuarios ejecuten los permisos del
grupo del archivo.
El Sticky bit (bit pegajoso). Es el bit con valor octal de
1000. Cuando ste bit es fijado a un archivo ejecutable,
el bit le dice al sistema operativo que el archivo se
ejecutar con mucha frecuencia y por lo tanto deber
ser retenido en la memoria principal an cuando no
sea ejecutado. Esto desperdicia memoria principal,
pero reduce el tiempo de ejecucin del programa
significativamente.
Codificacin de tipo de archivo usado por ls
Tipo de archivo
Smbolo
Creado por
Eliminado por
Archivo regular
"-"
editores, cp , etc.
rm
Directorio
"d"
mdkir
rmdir, rm -r
Dispositivo de modo carcter
"c"
mknod
rm
Dispositivo de modo bloque
"b"
mknod
rm
Socket
"s"
socket(2)
rm
Named pipe
"P"
mknod
rm
Liga simblica
"l"
ln -s
rm
DESARROLLO:
Veremos la diferencia del concepto del liga suave o
dura. Compararemos estos archivos:
1) Crea un archivo llamado [Link], escribe lo que
gustes y posteriormente crearemos una liga
#ln [Link] [Link]
#ls -li
Escribe la salida de este resultado
Comenta el resultado obtenido.
2) Ahora borraremos el archivo llamado [Link] y
veremos que pasa con el archivo [Link]
#rm [Link]
#cat [Link]
#ls -li
Escribe el resultado
Que paso con la informacin de [Link] y que concluyes
con ello.
3)Ahora veremos la diferencia de la liga dura. Creemos
otro archivo llamado [Link] y haremos la liga suave
#ln -s [Link] [Link]
#ls -li
Escribe el resultado
Comenta la salida y que concluyes.
4)Ahora borremos el archivo [Link] y veremos la
informacin que contiene.
#rm [Link]
#cat [Link]
#ls -li
Obten el resultado
Da tus conclusiones y que vez al respecto.
5) Ve otra aplicacin de liga simblica. Dirgete a tu
directorio de casa y crearemos una liga suave :
#cd
#ln -s /tmp temporal
#cd temporal
#ls -la
#cd /tmp
# ls -l
Compara los resultado y escribe tus conclusiones.
CUESTIONARIO:
1.- Cuntos tipos de archivos existen?
2.- Qu es un archivo FIFO? Cmo funciona?
3.- Qu es una Liga Dura?
4.- Qu es una Liga Simblica?
5.- Qu es un Entubamientos?
6.- Qu se conoce como los Permisos de archivos?
7.- Qu se conoce como el Sticky bit?
PRACTICA #8
"MANEJO DEL AREA DE SWAP"
OBJETIVO: Aprender las bases del manejo del rea
de swap.
INTRODUCCION:
El rea de swap tambin es conocida con el nombre de
espacio de intercambio, sta rea se utiliza cuando la
memoria RAM es limitada, por lo que es necesario
utilizar memoria virtual o rea de swap.
Linux soporta dos tipos de rea de swap: particiones
de swap (device swap) y archivos de swap (file system
swap). Una particin de swap es una particin fsica de
disco, la cual tiene un ID de sistema de archivos
establecida con el nmero 82, que es el nmero que
identifica al rea de swap de Linux. Un archivo de
swap es grande en un sistema de archivos, que se
emplea como rea de swap.
Memoria Virtual
El manejo de memoria comienza con una emisin
compleja de sistemas multiusuarios debido a el total de
requerimientos de los usuarios y el sistema operativo,
generalmente se exceden de la memoria disponible del
sistema. Incluso la rpida reduccin de precios de
chips de memoria y consecuentemente el crecimiento
en la memoria principal no tiene la capacidad de
vencer las necesidades de mayores requerimiento de
memoria requerida. El tema comienza con todas las
soluciones de mas memoria en el uso de una parte del
disco comn a una extensin de la memoria principal.
Llamada memoria virtual, este almacenamiento de
memoria provee espacio para todos los usuarios y
puede ser expandida como la necesites si el nmero de
usuarios del sistema este configurado para crecer.
Desde entonces el CPU puede usar nicamente la
memoria principal para ejecutar el cdigo y datos de
acceso. El cdigo y datos de componentes de un
proceso tiene que ser copiado en la memoria principal
a ejecucin. Entre los esquemas usados de manejo
estn los sig.:
1.- Swapping
2.- Demand Paging
3.- Demand Paging y Swapping
I. El sistema Swapping, intercambian, procesos
completos (textos, datos, pilas y otras tablas de sistema
necesita la administracin de un proceso de tiempo que
esta en la memoria principal).
Un proceso reside en disco hasta que esta listo para
correr otra vez. Cuando hiciste un swap en la memoria
principal y se etiqueta basado en su prioridad. Entre
mas grande sea la memoria principal disponible, ser
mas grande el nmero de procesos que estn residentes
en memoria.
II. El sistema Demand Paging, por otro lado, no
intercambian para un proceso completo. El copiado
mnimo necesario para correr los procesos y el uso del
concepto de fallas de paginas, para indicar la necesidad
de brincar a otra pgina de los procesos desde
memoria virtual en disco a memoria fsica. Una falla de
pgina ocurre cuando la pgina requerida no esta
fsicamente en memoria, y las secciones para leerlo a
memoria fsica desde la memoria virtual son
comenzadas. Cada proceso esta parcialmente en
memoria todo el tiempo.
III. El sistema Demand Paging y Swapping por otro
lado, no solo usa nicamente "demanda de pgina"
porque tiene la capacidad de intercambiar procesos
completos, si es necesario para hacer espacio de
swapping parcial en otros procesos. Este esquema se
beneficia de ambos, tanto del primero como el segundo
esquema.
Es ms recomendable utilizar una particin de swap en
vez de un archivo, porque todo el acceso a un archivo
de este tipo se realiza por medio del sistema de
archivos de Linux. Como los bloques de disco son los
que conforman el archivo de swap, puede llegarse a
dar que no estn juntos y, por lo tanto, el rendimiento
no es tan bueno como lo sera, con una particin de
swap. La E/S a una particin de swap se ejecuta
directamente hacia el dispositivo, y los bloques de la
particin de disco estn siempre juntos, adems, al
mantener el rea de swap fuera del sistema de
archivos, reduce el riesgo de corromper el sistema de
archivos, si es que algo extrao sucede con el archivo
de swap.
El Buffer Cache
Al leer de un disco ( excepto de un disco RAM por
razones obvias ) es muy lento comparado con el acceso
a memoria ( real) . Y adems es comn leer la misma
parte de un disco varias veces durante un tiempo
relativamente corto. Por ejemplo, uno tal vez primero
lea un mensaje de un e-mail, entonces lea la carta en un
editor cuando se conteste a l. entonces se har que el
programa de correo lo lea otra vez y cuando lo copie
hacia un folder, o considere que tan seguido use el
comando ls, tal vez sea corrido en un sistema con
muchos usuarios. Leyendo la informacin del disco una
sola vez y luego guardndola en la memoria hasta que
ya no se necesite, uno puede aumentar la velocidad
como en la primera leda. Esto es llamado buffering del
disco y la memoria usada para el propsito es llamada
el cache del buffer.
Debido a que la memoria es, desafortunadamente
finita, el cache del buffer usualmente no puede ser
suficiente (no puede contener todos los datos que uno
quiera usar). Cuando el cache se llena, la informacin
que no ha sido usada por el ms largo tiempo es
descartada y la memoria entonces es usada libremente
por la nueva informacin.
El buffering del disco trabaja para escribir tambin.
Por un lado, la informacin que es escrita es pronto
vuelta a leerse ( por ejemplo un archivo de cdigo
fuente es salvado en un archivo, entonces escrito por el
compilador ), as poniendo la informacin que es
escrita en el cach es una buena idea. Por otra parte,
solo por poner la informacin en el cache y no
escribirla en el disco de una vez, el programa que
escribe corre ms rpido. Las escrituras pueden
llevarse a cabo en background, haciendo ms despacio
los otros programas.
Muchos de los sistemas operativos tienen cach del
buffer ( aunque se llamen de otra forma ) , pero no
todos trabajan de acuerdo a los principios arriba
mencionado. Algunos son a travs de escritura: la
informacin es escrita en el disco una vez ( se mantiene
en el cach tambin, desde luego ). El cach es llamado
escritura-atrs si los escritos son hechos en un
momento ms tarde. escritura-atrs es ms eficiente
que a trves-escritura, pero tambin ms propensa a
errores : si la maquina se colisiona, o la energa es
cortada en un mal momento o el disco flexible es
removido del drive del disco antes que la informacin
de datos, los cambios en el cache se pierden. Esto tal
vez an signifique que el sistema de archivos ( si
existe ) no este en completo orden de trabajo, tal vez
por que la informacin no escrita contenga
importantes cambios a la informacin contenida en
libros.
Debido a esto nunca debe de apagar la energa sin usar
un procedimiento de apagado apropiado ( sistema de
arranque y paro) o remover un floppy del drive de
disco ( montado y desmontado ) o despus de que el
programa que est usando seale que ha terminado y
la luz del drive del disco flexible este apagado. LINUX
tiene un demonio llamado bdflush, que forza que la
informacin sea escrita a disco pero este es un tanto
imperfecto como el sync que corre en las tradicionales
UNIX, donde en estas se hace un update ( el comando
que forza la informacin a ser escrita en disco ) cada
30 segundos, por lo que el sync ya no es necesario.
Para crear un particin de swap se requiere crear
antes una particin de disco con el comando fdisk
(ste comando, tambin nos sirve para verificar el
estado actual de la particin del disco) y etiquetarla
con el ID 82, para que Linux lo reconozca como
anteriormente se mencion.
El tamao de la particin depende de la necesidad, de
que tanta memoria se requiera como memoria virtual,
se tienen que crear mltiples particiones de swap,
ahora si el sistema de LINUX lo requiere, se debe crear
una particin de swap para el sistema y otra para los
archivos del usuario, una sugerencia de algunos
autores, es la que se llama "Regla del Pulgar", la cual
nos habla, de que para crear el rea de swap, tomamos
el doble de tamao de la RAM.
Para Crear la particin formal de swap, se debe de tener
la particin ordinaria del disco, despus se deben
seguir ciertos pasos para hacer la particin activa. El
primer paso, es crear la particin en forma similar a la
de un sistema de archivos, esto es por medio del
comando mkswap, cuya sintaxis es:
# /sbin/mkswap [-c] dispositivo
tamaoenbloques
donde dispositivo es el nombre de la particin de
intercambio, como /dev/hda2, y
tamaoenbloques es el tamao del sistema de
archivos de destino en bloques. Para tener una mejor
idea podemos ejemplificarlo con este ejemplo:
tenemos que el tamao de /dev/hda2 es de 19,159
bloques, ya que Linux requiere que las particiones de
rea de swap sean de 9 a 65,537 bloques. Se puede
obtener el tamao en bloques al ejecutar fdisk y
observar los datos de la tabla de particin . El
argumento de -c le dice a mkswap que revise el
sistema de archivos buscando bloques daados cuando
crea el rea de swap.
Por lo tanto quedara:
# /sbin/mkswap -c /dev/hda2 19159
El siguiente paso despus de que se haya creado y
preparado la particin, es activarla para que el kernel
de Linux la pueda utilizar. El comando para activarla
es swapon, cuya sintaxis es:
# /sbin/swapon sistemaarchivo
donde sistemaarchivo es el sistema de archivos
que se quiere tener disponible como espacio de swap.
Linux hace una llamada a swapon -a durante el
arranque, lo que monta todas las particiones de swap
disponibles que estn listadas en /etc/fstab.
Archivo de swap estos son muy tiles si se necesita
expandir el rea de swap y no es posible asignar
espacio en el disco duro para crear una particin
mayor. La configuracin de un archivo de swap es casi
idntica a la de la particin. La principal diferencia es
que se tiene que crear el archivo antes de ejecutar
mkswap y swapon.
Para crear un archivo de swap se utiliza el comando
dd. Los principales aspectos antes de crear el archivo
son el nombre del archivo y su tamao en bloques.
Para Linux un bloque tiene 1,024 bytes de tamao. Por
ejemplo, si se quisiera crear un archivo de nombre
/swap se tecleara lo siguiente:
# dd if=/dev/zero of=/swap_archivo
bs=1024 count=10240
# mkswap /swap_archivo 10240
donde of=/swap_archivo especifica el nombre del
archivo, y count =10240 bloques o 10 Megabytes.
Recuerde que se debe decirle a mkswap el tamao del
archivo. Antes de ejecutar swapon sobre el archivo,
necesita asegurarse de que el archivo est
completamente escrito en el disco. Use el comando
sync para lograrlo. Ahora si se puede activar el
archivo con el comando swapon, para activarlo, lo
puede hacer como en el siguiente ejemplo:
# sync
# swapon /swap_archivo
Si se tiene que deshacerse del archivo de intercambio,
asegrese que no est activo. Para ello use el comando
swapoff, como ejemplo:
# swapoff /swap_archivo
Entonces ya puede borrar con toda seguridad el
archivo.
CUESTIONARIO:
1. Qu es el rea de swap? Para qu sirve?
2. Cules son los tipos de rea de swap?
3. Porqu es ms recomendable usar una particin de
swap?
4. Cules son los pasos para crear una particin de
swap? Descrbelos detalladamente.
5. Cules son los pasos para crear un archivo de swap?
Descrbelos detalladamente.
6. Para qu se utiliza el comando swapoff?
7. Que hace el comando dd?
8. Que funcin tiene el comando sync?
PRACTICA No. 9
"COMPILACIN DEL KERNEL"
OBJETIVO: Que el alumno aprenda a compilar el
Kernel de Linux para poder actualizarlo o activar
perifricos que el Kernel no reconozca.
INTRODUCCIN:
Actualizar, remplazar o agregar nuevo cdigo al
Kernel es usualmente un proceso simple:
1) Obtener el cdigo fuente del Kernel
2) Hacer cualquier cambio a la configuracin
3) Compilar el Kernel
4) Instalacin y manejo de Modulos
5) Colocar este en el lugar apropiado sobre el sistema
de archivos para que el sistema pueda correrlo en
forma adecuada.
Los cdigos del Kernel con nuevas caractersticas de
Linux estn disponibles en CD, sitios FTP, grupos de
usuarios, etc.
La mayora de las versiones del Kernel estn
numeradas con una versin y el nivel del parche, si
tecleamos el comando:
#uname -r - Nos permite ver la versin del Kernel.
2.0.18
#
Donde el "2" es la caracterstica mayor, "0" es la
caracterstica menor de la versin del Kernel, y "18" es
el numero de parche.
Los parches algunas veces estn numerados en forma
diferente, y no requerimos el cdigo entero del Kernel
para instalarlo. Nosotros solo requeriremos el cdigo
del parche. En la mayora de los casos, el parche se
sobrepone en la seccin del Kernel ya existente del
cdigo fuente y una simple recompilacin es todo lo
que necesitamos para instalar el parche, en su mayora
los parches son modificaciones pequeas del Kernel.
Debemos tener una versin del compilador gcc o g++
(compiladores GNU) actualizada, porque
ocasionalmente las nuevas caractersticas del Kernel no
sern soportadas por versiones antiguas de gcc o g++.
DESARROLLO:
1. Configuracin del Kernel.
Tecleamos:
# cd /usr/src - En este directorio se encuentra el cdigo
fuente del Kernel.
# ls -l - Checamos que se encuentre el directorio Linux2.0.18
# cd Linux-2.0.18 - Nos colocamos en el directorio
donde se encuentra el cdigo fuente y es donde vamos a
trabajar.
Tenemos que checar que el archivo /usr/scr/Linux2.0.18/Makefile contenga la linea ROOT_DEV =
CURRENT. El cual es el dispositivo que es usado por
la raz del sistema de archivos cuando booteamos
Linux.
Tecleamos:
# vi Makefile - Con el editor vi checaremos el archivo.
a. Con la tecla flecha nos movemos a travs del
archivo.
b. Localizar la linea ROOT_DEV=CURRENT
Esc
:q! - Salimos del archivo sin hacer modificacin
alguna.
#
El proceso de compilacin empieza cuando tecleamos
el comando.
# make config - Aparecern una gran cantidad de
modificaciones que podemos hacerle al Kernel.
Tambin tenemos otras opciones:
#make menuconfig -Aparece las mismas opciones pero
con un men mas amigable.
#make xconfig -Si tenemos sesin grfica.
Como por ejemplo:
Las respuestas que daremos con las respuestas sern
"y" (s) "n" de (no). Otros dispositivos tipicos tienen
opcin de "m" (modulo), ya que estos no se podrn
dentro del kernel, pero como sern un modulo
cargable. Tambin si tenemos dudas esta la opcin "?".
Estas opciones son para agregar, remover drivers,
protocolos, filesystems, etc. veremos menus
principales:
- Emulador matematico en el kernel.
- Discos y CDROM IDE soportados.
- Soprte para RED (TCP/IP, PPP, SLIP, Firewall)
- System V IPC
- Tipo de Procesador (386, 486, Pentium, Ppro)
- Soprte para SCSI (CDROM, Discos, Cintas, etc.)
- Dispositivo de red soportado (Tarjeta de red, PLIP)
- Sistema de Archivos (minix, etxfs, etx2fs, msdos,
umsdos, proc, iso9660, hpfs, nfs, etc.)
- Dispositivos tipo caracter (impresoras, busmouse,
PS/2 mouse, etc.)
- Tarjeta de sonido
- Otras configuraciones
#
# Using defaults found in arch/i386/defconfig
#
*
* Code maturity level options
*
Prompt for development and/or incomplete
code/drivers (CONFIG_EXPERIMENTAL) [N/y/?]
*
* Loadable module support
*
Enable loadable module support
(CONFIG_MODULES) [Y/n/?]
Set version information on all symbols for modules
(CONFIG_MODVERSIONS) [Y/n/?]
Kernel daemon support (e.g. autoload of modules)
(CONFIG_KERNELD) [Y/n/?] ?
Tenemos que encontrar tres lineas que son las
importantes para desactivar el puerto paralelo lp1.
Teclearemos una "n" para desactivar esa opcin.
Nota: Si tecleamos ? aparecer en la pantalla
informacin de ayuda referente a esa opcin. Para
movernos con rapidez para localizar estas opciones
basta con teclear enter () despus de cada peticin.
PLIP (parallel port) support (CONFIG_PLIP)
[M/n/y/?] N
IOMEGA Parallel Port ZIP drive SCSI support
(CONFIG_SCSI_PPA)[M/n/y/?] N
Parallel printer support (CONFIG_PRINTER)
[M/n/y/?] N
Con esto se finaliza la parte de configurar el kernel.
1. Limpieza y Dependencias.
Tecleamos los comandos:
# make dep ; make clean
'make dep' - Asegura que todas las dependencias, tales
como los archivos include, estn en su lugar.
'make clean' - Este comando remueve todos los
archivos objeto y algunas otras cosas de la versin
anterior.
3. Compilacin del Kernel.
Tecleamos el comando:
# make zImage - Crea una imagen compactada del
nuevo Kernel.
Podemos crear los kernel: zImage, zlilo, bzImage,
zdisk. Estos kernel estn comprimidos y se
descomprimirn automaticamente cuando se ejecuten.
Esta es la parte mas tardada del proceso y depende de
la maquina que ocupemos. En una maquina pentium a
66 MHz toma aproximadamente 40 minutos y una
Pentium a 233 Mhz y 32 Mb en Ram se tarda
aproximadamente 9 minutos.
4. Instalacin del nuevo Kernel.
# pwd
/usr/src/linux
# cd arch/i386/boot - Movernos al directorio boot.
# cp zImage /boot/zImage - Copia el nuevo kernel al
directorio de arranque.
# cd /etc - Nos cambiamos de directorio para modificar
el archivo de arranque LILO (Linux Loader).
# vi [Link] - Editamos el archivo [Link] con el
editor vi.
a. Tecleamos i - nos permite modificar el archivo.
El archivo es el siguiente:
map=/boot/map
install=/boot/boot.b
prompt
timeout= 50
image=/boot/vmlinuz
label=linux
root=/dev/hda2
read_only
b. Agregar las siguientes lineas al final del archivo.
image=/boot/zImage
label=linux2
root=/dev/hda2
read_only
El archivo [Link] nos queda de la siguiente forma:
map=/boot/map
install=/boot/boot.b
prompt
timeout= 50
image=/boot/vmlinuz
label=linux
root=/dev/hda2
read_only
image=/boot/zImage
label=linux2
root=/dev/hda2
read_only
c. Tecleamos:
Esc
:wq - Salimos del editor vi guardando los cambios
hechos a el archivo.
# lilo - Actualiza el archivo lilo para tener una nueva
forma de arranque.
Con estas modificaciones tenemos dos kernels para
arrancar el sistema Linux. El anterior con el puerto
paralelo lp1 activado (linux) y el nuevo con el puerto
paralelo lp1 desactivado (linux2).
4. Comprobacin de la practica.
Salir del sistema con el comando:
# shutdown -h 0
-Nos salimos de forma total de Linux.
Apagar la computadora y volverla a encender.
Cuando aparezca
LILO
Tecleamos:
TAB () - Aparecern los nombres de los dos kernels
con los que se puede activar el sistema Linux.
LILO: linux2 - Arrancara con el nuevo Kernel.
Con el comando 'dmesg' checamos que no aparezca el
puerto lp1.
# dmesg | more - Nos permite ver el despliegue del
comando por partes.
Checamos que no se encuentre la linea siguiente:
lp1 at 0x0378, (polling)
Si no se encuentra, la practica tuvo xito, si se
encuentra tenemos que checar que punto nos salio mal,
y en el peor de los casos volver a empezar.
Volver a repetir el punto 4 pero en vez de cargar
'linux2'. Arrancar con el Kernel anterior 'linux' y
teclear el comando 'dmesg' para ver que se encuentre
la linea lp1 at 0x0378, (polling).
MODULOS
Al cargar los modulos en el kernel puede "salvar"
memoria y una fcil configuracin. Estos modulos
incluye filesystems, drivers para tarjeta ethernet,
drivers para impresora y mas. Hay varios programas
que tenemos para manejar los modulos como:
insmod, rmmod, ksyms, lsmod, genksyms, modprobe y
depmod.
El comando insmod inserta un modulo dentro del
kernel corriendo. Estos modulos tienen extensin .o,
por ejemplo:
#insmod drv_hola.o
Con ello cargamos es driver, ademas si queremos ver
los modulos cargados ser con el comando lsmod:
#lsmod
Module: #pages: Used by:
drv_hola 1
Ahora si quiero remover el modulo usaremos el
comando rmmod:
#rmmod drv_hola
Despus de configurar el kernel ya sea cuando se
reinicia el sistema o acabando la opcin de "make
config" (o similares) dentro del directorio
/usr/src/linux, teclear:
#make modules
-Preparar los modulos que se ejecutarn
Despus de compilar todos los modulos y estos se
encontrar en el archivo /usr/src/linux/modules, los
modulos que se ejecutarn. Ahora para que estos se
ejecuten cada vez que se reinicie la computadora se
ejecutar
#make modules_install
lo cual instalarn los modulos en el directorio
/lib/modules/x.y.z donde x.y.z es la versin del kernel.
PRACTICA #10
"MANEJO DE TERMINALES"
OBJETIVO: Aprender a conectar y configurar una
terminal tonta.
INTRODUCCIN:
Los dispositivos correspondientes a los cuatro puertos
seriales son:
/dev/cua0, /dev/ttyS0 (COM1) direccin 0x3f8 IRQ 4
/dev/cua1, /dev/ttyS1 (COM2) direccin 0x2f8 IRQ 3
/dev/cua2, /dev/ttyS2 (COM3) direccin 0x3e8 IRQ 4
/dev/cua3, /dev/ttyS3 (COM4) direccin 0x2e8 IRQ 3
Los nmeros mayor y menor de los dispositivos seriales
en /dev son:
/dev/ttyS0 mayor 4, menor 64 /dev/cua0 mayor 5,
menor 64
/dev/ttyS1 mayor 4, menor 65 /dev/cua1 mayor 5,
menor 65
/dev/ttyS2 mayor 4, menor 66 /dev/cua2 mayor 5,
menor 66
/dev/ttyS3 mayor 4, menor 67 /dev/cua3 mayor 5,
menor 67
'getty' es un programa que maneja el proceso de login
cuando accedamos a una caja de Unix. Hay tres
versiones que son comnmente usadas en Linux:
'agetty', 'getty_ps' y 'mgetty'.
'getty_ps' es una versin de 'getty' y fue escrita por
Paul Sutcliffe Jr., Kris Gleason. El paquete de
'getty_ps' contiene dos getties. El 'getty' es usado para
las consolas y dispositivos de terminal - y 'uugetty' es
usado para modems.
'mgetty' es una versin de 'getty' escrita por Gert
Doering. Adems de manejar el proceso de login,
'mgetty' provee soporte para fax a travs de 'sendfax',
el cual acompaa al 'mgetty'. mgetty+sendfax 0.22 son
la ultima versin de este paquete.
'agetty' es la tercer variacin de 'getty'. Este fue escrito
por W.Z. Venema. Este es una simple implementacin
de 'getty'.
DESARROLLO:
Requerimientos de Hardware
Dependiendo del tipo de puerto serial vamos a
necesitar conectores DB25 o DB9 hembra, la forma de
configurar los conectores es la siguiente:
Para dos conectores DB25:
TxD Transmite Dato 2 - 3 RxD Recibe Dato
RxD Recibe Dato 3 - 2 TxD Transmite Dato
SG Seal de Tierra 7 - 7 SG Seal de Tierra
Para dos conectores DB9:
RxD Recibe Dato 2 - 3 TxD Transmite Dato
TxD Transmite Dato 3 - 2 RxD Recibe Dato
SG Seal de Tierra 5 - 5 SG Seal de Tierra
Para un conector DB9 y un conector DB25:
RxD Recibe Dato 2 - 2 TxD Transmite Dato
TxD Transmite Dato 3 - 3 RxD Recibe Dato
SG Seal de Tierra 5 - 7 SG Seal de Tierra
Como cada computadora tiene dos puertos seriales se
pueden dar las siguientes combinaciones de conexin:
Servidor Terminal
COM1 COM1
COM1 COM2
COM2 COM1
COM2 COM2
NOTA: Esta practica fue realizada tomando en cuenta
la primera combinacin COM1 - COM1, si se utiliza
una combinacin de puertos diferente se deben realizar
los cambios pertinentes.
1. Arrancar el Servidor de Linux.
2. En la computadora que va a quedar como
terminal cargar el programa que emula una PC
como terminal tonta. Tener copiado el programa
en un disco de 3.5" de DD. Este programa se
encuentra en el servidor linux1 va ftp anonimo y
se encuentran en la sig. ruta de Internet
[Link] .
A:\>st240
a. Seleccionar la opcin 1:Serial1 para aceptar la
conexin a travs del puerto serial 1, o
b. Seleccionar la opcin 2:Serial2 para aceptar la
conexin a travs del puerto serial 2.
La computadora estar en espera de datos.
1. En la computadora que se encuentra como
servidor teclear el siguiente comando para
comprobar que existe comunicacin.
# cat /etc/issue > /dev/ttyS0
NOTA: Se asume que el servidor se comunicara con la
terminal a travs del puerto serial 1 (COM1), que
Linux lo conoce como /dev/ttyS0
Si esta bien configurado el cable y el programa
emulador de terminal esta aceptando datos por el
puerto que tiene conectado el cable, en la terminal debe
de aparecer un mensaje similar a este:
Red Hat Linux release 4.0 (Colgate)
kernel 2.0.18 on an i586
4. Para dar de alta una terminal en el servidor se
modifican los siguientes archivos.
a. /etc/gettydefs las modificaciones son las siguientes:
# 38400 bps Dumb Terminal entry
DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL
#@S @L login: #DT3840
# 19200 bps Dumb Terminal entry
DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL
#@S @L login: #DT1920
# 9600 bps Dumb Terminal entry
DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S
@L login: #DT9600
Nota: Si no existen stas lneas habr que capturarlas.
b. /etc/inittab las modificaciones son las siguientes:
S0:23456:respawn:/sbin/getty ttyS0 DT9600 vt100
5. Una vez que se han hecho modificaciones en el
/etc/inittab es necesario que init lea nuevamente su
archivo de configuracin. Teclear el siguiente
comando:
# init q
o bien:
# telinit q
6. Comprobar que el comando 'getty' este corriendo.
Debe encontrarse una linea similar. Tecleamos el
siguiente comando:
# ps -ax | grep ttyS0
519 S0 S 0:00 /sbin/getty ttyS0 DT9600 vt100
Si el proceso ha sido creado por init, se obtendr la
salida anterior con lo que se concluye que el proceso de
la terminal que acabamos de dar de alta se encuentra
operando,
NOTA: El PID puede ser distinto.
7. La terminal se encuentra en espera del login y
password del usuario, teclear uno o dos enter's para
establecer la comunicacin. En la pantalla debe
aparecer algo similar a lo siguiente:
Red Hat Linux release 4.0 (Colgate)
kernel 2.0.18 on an i585
Sol
8. Probar que la configuracin y conexin es correcta
entrando a sesin como usuario normal. Por ejemplo:
sol apollo
Password:
Last login: Tue Nov 26 [Link] on ttyS0
apollo@sol apollo$
9. Para entrar como root agregar al archivo
/etc/securetty la siguiente lnea:
ttyS0
10. Desde la terminal entrar como super usuario.
Configuracin de un terminal con plataforma
Windows.
Despus de haber logrado con xito la conexin bajo
terminales, ahora se har con una tarjeta de red y bajo
Windows 3.11. Ahora la sig. cuestin es saber que
tarjeta tiene la maquina:
En esta sala hay 2 tipos:
Data Link 220
Data Link 250
Posteriormente necesitaremos un disco para esta
practica, adems de la direccin IP asignada se
tendrn que conectar al servidor [Link] (o
si ya tiene los drivers de las data link), haciendo
un ftp annimo, la sintaxis cuando este dentro de
la maquina es la sig. :
#ftp [Link]
Connected to [Link]
Luego le pedir el nombre del usuario:
Name ([Link] : mena):
El usuario que se aparece es el que se conecta,
pero se usara el login anonymous (annimo)
Name ([Link]: mena): anonymous
passwd: # Login de una cuenta de su maquina
Ahora cambimonos al directorio pub/dos/win
ftp> cd pub/dos/win
250 CWD command successful
ftp>
Ahora con un ls veremos los archivos que se
encuentran
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for
/bin/ls.
total 452
drwxrwxr-x 2 root ftp 1024 Jul 3 17:04 .
drwxr-xr-x 4 root ftp 1024 Jul 3 17:10 ..
-rw-rw-r-- 1 root ftp 4768 Jul 3 17:04 [Link]
-rw-rw-r-- 1 root ftp 4951 Jul 3 17:04 [Link]
-rw-rw-r-- 1 root ftp 4768 Jul 3 17:04 [Link]
-rw-rw-r-- 1 root ftp 4951 Jul 3 17:04 [Link]
-rw-rw-r-- 1 root ftp 144384 Jul 3 16:58 [Link]
-rw-rw-r-- 1 root ftp 71168 Jul 3 16:58 [Link]
-rw-rw-r-- 1 root ftp 65280 Jul 3 16:58
[Link]
-rw-rw-r-- 1 root ftp 935 Jul 3 16:58 [Link]
-rw-rw-r-- 1 root ftp 3516 Jul 3 17:04 [Link]
-rw-rw-r-- 1 root ftp 159744 Jul 3 17:04 [Link]
226 Transfer complete.
ftp>
Ahora traeremos los archivos
ftp> bin
200 Type set to Y. # Transferencia en modo binario
ftp> hash
Hash mark printing on (1024 bytes/hash mark)
seal para que cada 1024 bytes imprima un "#"
ftp> prompt
Interactive mode off. Modo de interaccin
desactivado
ftp> mget *
#########
Despus de que la transferencia de archivos ha
sido completada, nos salimos con el comando
exit
ftp>exit
221 Goodbye
Despus en la maquina cliente creamos un
directorio llamado terminal
C:\> mkdir terminal
C:\>
Copiar los archivos a ese directorio :
C:\> cd terminal
C:\terminal> copy a:\*.* .
Ahora entremos a Windows y configuremos el
[Link]. En el administrador de
programas, en la barra del men en la opcin
archivo, buscamos la opcin ejecutar , luego
encontramos la opcin examinar y en el
directorio que creamos (llamado terminal)
busquemos el archivo [Link] , despus
aceptar
Lo que se har posteriormente es configurar este
programa con lo que debemos saber:
- La direccin IP de la maquina
- Dominio de la red
Cuando abrimos el archivo nos vamos al men y
buscamos la opcin file y posteriormente la
opcin setup y ah se har la configuracin, en
la primera fig. es un aproximacin de lo que sale,
y en la otra figura es como debe quedar.
Despus de darle OK, nos pedir que cerremos el
programa para que lo pueda configurar, pero
adems saldremos de Windows para cargar los
sig., paquetes:
C:\terminal>de2#0pd 0x69 Es el manejador de la
tarjeta y el signo " # " es el tipo de tarjeta que
tiene esa maquina.
C:\terminal>set ip=[Link] Es la
direccin IP de la maquina en que estas
trabajando.
C:\terminal>winpkt 0x69 Es la conexin con
sockets para Windows
Despus entremos otra vez a Windows y abramos
el archivo [Link], posteriormente se ver la
configuracin que se hizo antes de salir, y
posteriormente se abrir el archivo trmptel, que se
encuentra en el mismo lugar que tcpman, con los
que nos aparecer una ventana que nos dice :
Con ello le daremos la direccin del sevidor
correspondiente y cuando haga la conexin con el
servidor se dar por terminada la practica de
como conectarse al servidor en una terminal de
Windows.
CUESTIONARIO:
NOTA: Usar la ayuda en lnea para resolver
dudas sobre las opciones de los comandos.
1.- Cuales son los nombres (device files) de los
puertos seriales ?
2.- Cuales son los nmeros mayor y menor de los
dispositivos seriales ?
3.- Qu es 'getty' ?
4.- Escriba la configuracin del cable serial que
utilizo para la prctica.
5.- Para la realizacin de esta prctica indique que
puerto serial utilizo tanto para el servidor como
para la terminal.
6.- Qu es y para que sirve el programa ST240 ?
7.- Cul es el propsito de agregar la etiqueta
"S0" en el archivo '/etc/inittab' ?
8.- Cul es el propsito de ejecutar el comando
'telinit q' despus de modificar el archivo
'/etc/inittab' ?
9.- Cul es el propsito de agregar la etiqueta
'DT9600' en el archivo '/etc/gettydefs' ?
10.- Cul es el propsito de agregar la opcin
'vt100' en el comando '/sbin/getty ttyS0 DT9600
vt100' de la etiqueta 'S0' en el archivo '/etc/inittab'
?
PRACTICA # 11
"RESPALDO Y RECUPERACIN DE DATOS"
OBJETIVO: Aprender las distintas tcnicas para
respaldar y recuperar archivos.
INTRODUCCIN:
Diferentes tipos de problemas pueden originar la
prdida de datos: eliminacin accidental de archivos,
una falla de hardware, etc. Por lo que es importante el
conocer las formas de respaldar o recuperar dicha
informacin.
Respaldos completos o incrementales, son los que
copian todos los archivos. Los comandos relativamente
simples para la creacin de respaldos son : tar y cpio.
Desde el punto de vista del administrador, el sistema de
archivo debe respaldarse de acuerdo con algn proceso
automatizado, de preferencia cuando el sistema no se
encuentre en uso, y con la menor intervencin posible
de los operadores. Adems debe tener un plan de
respaldo que satisfaga sus necesidades y que haga
posible la restauracin de copias recientes de archivos,
utilizando una combinacin de respaldos completos e
incrementales.
Un respaldo completo es como se dijo inicialmente, el
que contiene todos los archivos del sistema. Y el
respaldo incrementado es el que contiene archivos que
han cambiado desde el ltimo respaldo . Estos puede
realizarse a diferentes niveles:
Nivel 0 Respaldo completo.
Nivel 1 Incrementado con respecto al ltimo respaldo
completo.
Nivel 2 Incrementado con respecto al ltimo respaldo
del nivel 1.
DESARROLLO :
Realiza respaldos de datos con el comando 'tar'
siguiendo la siguiente secuencia:
1. Copia el directorio /home a la unidad de disco
flexible /dev/fd0 utilizando la siguiente
sintaxis, no olvides instalar un disco vaco en
la unidad de discos:
#tar cvf /dev/fd0 /home
Nota: la c indica la creacin de un archivo, y la f
especifica el archivo destino, en este caso es la unidad
de disco y v verbose.
1. Archiva nuevamente el directorio /home, solo
que ahora realizalo en modo extendido (v),
comprimiendolo (z) y creando un respaldo
multivolmen (M), para lo cual teclea lo
siguiente:
#tar cvfzM /dev/fd0 /home | tee /root/indice
Nota: De sta forma, un listado de los archivos
copiados se dirige a /root/indice. Para continuar con la
prctica ejecuta de nueva cuenta el comando del inciso
1.a.
c. Restaura (x) el archivo /home/ftp/bin/cpio desde la
unidad de disco usando los siguientes comandos:
# rm /home/ftp/bin/cpio Borrar el archivo para
restaurarlo posteriormente
# cd /
# tar xvzf /dev/fd0 /home/ftp/bin/cpio
Si lograste restaurar el archivo cpio con xito, entonces
borra todo el directorio /home y despus restauralo. Si
no lograste restaurar el archivo cpio NO PROCEDAS.
Repite los incisos 1.a, 1.b y 1.c tanto como sea
necesario.
# cd /
# ls -l Apunta la fecha de creacin del directorio /home
# rm -rf /home Borrar el sub-directorio
# tar xvzf /dev/fd0 Restaurar el directorio borrado
accidentalmente
# ls -l Compara la fecha de creacin actual con la
anterior
d. Crea el archivo /root/[Link] que contenga un
respaldo del directorio /home y todos sus directorios y
subdirectorios.
# cd /root
# tar cvf [Link] /home
# ls -l Comprobar que se cre [Link], apunta el
tamao en bytes
Veamos las ventajas de comprimir la informacin
despus de respaldarla.
# gzip [Link]
# ls -l Comprobar que se cre [Link]
Un mtodo alterno es:
# tar cvzf [Link] /home
# ls -l Compara el tamao en bytes de los archivos
[Link], [Link] y [Link]
e. Tenemos un directorio bajo el directorio llamado
prctica y ste contiene varios archivos. Entonces, crea
un archivo tar en /home/red que contenga solo el
contenido de prctica sin un registro para el directorio,
tecleando lo siguiente:
#pwd <enter>
/home/red
#cd prctica <enter>
/home/red/prctica
#tar cvf ../[Link] * <enter>
i. Observa lo que sucede con los archivos del directorio
y anota tus conclusiones.
ii. Crea otro archivo tar comenzando desde el
directorio padre de prctica y especifica el nombre del
directorio donde se va a guardar, para ello sigue la
siguiente sintaxis:
#pwd <enter>
/home/red
#tar cvf [Link] practica <enter>
iii. Nuevamente observa y registra lo sucedido con los
archivos del directorio prctica que se crearon.
f. Para ver el contenido de un respaldo se usa la opcin
(t), veamos el contenido de los respaldos que ya
efectuamos.
# cd /root
# tar tvzf [Link] | more
# tar tvf /dev/fd0 | more
1. Realiza respaldos de datos con el comando 'cpio'
siguiendo la siguiente secuencia:
1. Copia los archivos del directorio /home al
dispositivo /dev/fd0 usando el comando cpio:
#ls | cpio -oc > /dev/fd0
Nota: El comando cpio toma la entrada estndar y la
copia a la salida estndar. En este ejemplo el comando
ls enva a la salida estndar los nombres de los
archivos. cpio los toma con entrada y los copia a la
salida estndar, solo que sta se encuentra
redireccionada al dispositivo /dev/fd0. cpio con la
opcin -o hace una copia de un archivo en la salida
estndar.
La forma ms comn de usar cpio es en conjuncin del
comando find. Ambos forman la mancuerna infalible y
son los comandos ms portables entre sistemas UNIX.
b. Copiemos todo el directorio /home a un archivo
llamado /tmp/[Link]
# find /home -depth -print | cpio -ocv -O/tmp/[Link]
Explicacin: find procesar todos los archivos y
despus los directorios (-depth) y los enviar a la salida
estndar (-print). El comando cpio tomar los nombres
de los archivos, los copiar (-o) y crear los directorios
necesarios (-c) e indicar su estado (-v). La salida de
cpio se puede redireccionar como en el inciso 2.a o se
pude usar la opcin -O. El archivo de salida tendr
formato de cpio.
c. Para ver el contenido del archivo de respaldo con
formato de cpio. Ejecuta el siguiente comando:
# cpio -icvt -I/tmp/[Link]
o se pudo haber ejecutado:
# cpio -icvt < /tmp/[Link]
d Extrae (i) los archivos del dispositivo /dev/fd0 y crea
un ndice en el archivo [Link]:
#cpio -it < /dev/fd0 > [Link]
Nota: La t indica que se crea una tabla de contenido de
la entrada
e. Borra el archivo /home/ftp/bin/gzip
# rm /home/ftp/bin/gzip
rm: remove `/home/ftp/bin/gzip'? y
f. Restaura el archivo anterior. El cual fu borrado
accidentalmente.
# cpio -icvd -I/dev/fd0
g. Comprueba si el archivo fu restaurado.
# ls -l /home/ftp/bin/gzip
h. Ahora respaldemos los archivos que se modificaron
ayer del subdirectorio /home. Utilizando el comando
'find' , se saca una lista de todos los archivos /home que
se modificaron ayer y con cpio se hace el respaldo.
#find /home -mtime 1 -type f -print | cpio -ocv
-O/dev/fd0
i. Una forma muy segura de copiar toda una estructura
de directorios, preservando los permisos, dueos,
grupos, ligas y fechas de creacin es la siguiente:
# mkdir /users/newhome Crear el directorio destino.
# cd /home Colocarse en el directorio a copiar.
# find . -depth -print | cpio -pdmv /users/newhome
Copiar los archivos.
# rm -rf /home Opcional. Borrar el directorio origen,
slo si se desea mover el directorio.
CUESTIONARIO:
1. Por qu es importante para el administrador saber
hacer respaldos ?
2. Es responsabilidad del administrador hacer un
respaldo peridico de los sistemas de archivos de la
mquina que administra ?
3. Usando el comando tar, Cmo se hace un respaldo ?
4. Usando el comando tar, Cmo se restaura un
respaldo ?
5. Usando el comando tar, Cmo se muestra en
pantalla el contenido de un respaldo ?
6. Usando el comando cpio, Cmo se hace un
respaldo ?
7. Usando el comando cpio, Cmo se restaura un
respaldo ?
8. Usando el comando cpio, Cmo se muestra en
pantalla el contenido de un respaldo 9. Se puede usar el
comando tar para copiar una estructura de directorios,
preservando los permisos, dueos, grupos, fechas y
ligas ? Ilustra tu respuesta.
10. Realiza una tabla que contenga las opciones con sus
respectivas descripciones para el comando tar ( c, x, f ,
Z, z, M, t, v,u,A, k,S, G) ; y otra tabla que contenga las
opciones que se utilizan para el comando cpio ,
incluyendo sus descripciones (-o, -B, -i, -t, -H, -O, -F,
-R) .
PRACTICA # 12
"INSTALACIN Y ACTUALIZACIN"
OBJETIVO: Conocer el procedimiento de como
realizar una instalacin del sistema operativo Linux
usando la versin RedHat.
Aqui se dar la forma de realizar una instalacin del
sistema operativo Linux, debemos tener en cuenta las
necesidades que se desean, el equipo con el que se
cuenta y de esta forma realizar una instalacin
adecuada para tener un mayor desempeo.
Para esta instalacin se necesita conocer la
computadora y los perifricos que posee, dando
algunos ejemplos:
1) Saber cuanta memoria RAM se tiene en la
computadora.
2) El tipo de mouse con que cuenta (serial de bus).
3) El tipo de monitor y los rangos en frecuencia
horizontal y vertical.
4) Capacidad del disco duro.
5) Conocer la tarjeta de red: D-Link (DE200 DE250)
3com.
6) La direccin IP de la computadora (Si tiene acceso a
Internet pero que no sea por modem).
7) Tarjeta de video (En caso de necesitar sesin grfica,
lo cual requiere un mnimo en espacio en disco).
Las formas en que se realizarn ser a travs de un
floppy de instalacin, este no puede tener sectores
daados, ya que si tiene alguno el copiado aunque
parezca tener xito no hizo tal. El disco lo podemos
copiar en la maquina con direccin IP [Link]
(denominada linux1), entraremos va ftp anonimo y
estan en pub/linux/boot/ los archivos siguientes
"[Link]" y "[Link]". Si estamos en una maquina
Linux podemos teclear la siguiente sintaxis:
dd if=[Link] of=/dev/fd0 <enter>
Otra opcin si tenemos el CDROM de instalacin se
puede hacer un booteo desde el mismo.
DESARROLLO:
Comenzaremos con la instalacin para la
configuracin del kernel.
Arranquemos el sistema con el disco creado (del
archivo [Link]) de Linux. En la pantalla aparecer
la siguiente informacin:
LILO boot:
En este momento debemos teclear tan solo <enter>
Esperaremos hasta el momento de aparecer en la
pantalla:
Usa monitor a color?
En la siguiente pantalla nos da la bienvenida y se nos
dice donde encontrar el manual de instalacin. La
siguiente pantalla nos pregunta si necesitamos soporte
PCMCIA, lo cual en las Pcs que se tienen en la sala no
se cuenta, y aqu contestamos que no.
La prxima pantalla nos pregunta el mtodo de
instalacin (CD-ROM, NFS image, Disco Duro FTP),
entonces le pondremos en modo NFS (Network File
System), ya que veremos esta opcin ya que no tenemos
un CD-ROM y por va de Disco Duro FTP (File
Tranfer Protocol) necesitamos un segundo floppy, pero
es mucho ms lento. Despus nos pregunta el tipo de la
tarjeta de red que tenemos en la computadora:
1) 3com 3c509 para las tarjetas 3com.
2)NE2000 y compatible para las tarjetas DE220 y
DE250.
O buscamos la que tengamos, cuando estemos en la
posicin tecleemos <enter>.
En la prxima pantalla se especifica el mdulode
opciones donde hay 2 preguntas:
- Opciones especificas Y
- Autoprobado
Nota: En nuevas versiones de RedHat tiene una versin
de plug and play.
En las opciones especificas nos pregunta la
interrupcin (IRQ), la entrada y salida de base (I/O) y
miscelneas de opciones que no esta informacin a la
mano y es ms lento, por eso usamos el Autoprobado.
En la configuracin de TCP/IP (Transmission Control
Protocol / Internet Protocol), lo cual se pregunta:
configure TCP/IP Escribiremos lo siguiente:
IP address: (Direccin IP) : [Link] IP de la
computadora
Netmask: (Mscara) : (el valor lo coloca
automaticamente).
Network address: : (tambin los coloca .
Broadcast address: : Automaticamente).
En la otra ventana se presenta: Ejemplo
El nombre del dominio [Link]
El nombre del hosts [Link]
Default gateway [Link]
Viene la configuracin de NFS setup
Se escribir lo siguiente:
NFS server name: ____________ : [Link]
Red Hat directory: ___________ : /export/linux/redhat
En la sig. ventana se pregunta si vamos a hacer
instalacin actualizacin :
-En este caso se pide Install (instalacin).
Nota:La opcin Install destruye el contenido del
filesystem raz (/). Si se desea consevar lo anterior
escoja la opcin UPDATE.
Despus dice sin tenemos adaptadores SCSI:
En la sig. tabla es la particin del lo(s) disco(s) con lo
cual debemos elegir el dispositivo: /dev/hda, /dev/hdb,
etc. , con la tecla TAB y despus con la misma tecla se
elige la tecla del monitor que dice EDIT y teclee
<enter>:
Ah aparecer un men que en realidad es el comando
fdisk que sirve para particionar el disco duro. Para la
ayuda se hace uso del comando man por lo que
tecleamos la letra m y se desplegar:
Comando
Accin
Activar la particn boteable
Edita la etiqueta del disco BSD
Activa la bandera de compatibilidad DOS
Borrar una particin
Lista los tipos de particin conocidos
Imprime es men
Agrega una nueva particin
Imprime la tabla de particin
Salir sin salvar los cambios
Cambiar una tabla de particin
Cambia el display
Verificar la tabla de particin
Escribir en la tabla de particin
Funciones extras (expertos solamente)
Con esto podemos crear principalmente particones,
cambiar el tipo de particin, borrar, ver los cambios,
etc. En la instalacin del sistema operativo LINUX se
necesitan 2 particiones minmas ( la del espacio en
swap y la del sistema operativo). Para el rea de swap
tenemos que crear una particin del DOBLE de la
memoria RAM que se dispone en la computadora.
Para ver si hay particiones con el comando print
(teclea la letra p) y ah veremos las diferentes
particones (si las hay) de lo que tena instalado, sin no
tiene particones solamente aparecer (un ejemplo):
Disk /dev/hda: 32 heads, 63 sectors, 973 cylinders
Units = cylinders of 2016 * 512 bytes
Device Boot Begin Start End Blocks Id System
Command (m for help):
Pero si tenemos particiones aparecer (como
ejemplos):
Disk /dev/hda: 64 heads, 63 sectors, 528 cylinders
Units = cylinders of 4032 * 512 bytes
Device Boot Begin Start End Blocks Id System
/dev/hda1 * 1 1 264 532192+ 6 DOS 16-bit >=32M
/dev/hda2 265 265 273 18144 82 Linux swap
/dev/hda3 274 274 528 514080 83 Linux native
Command (m for help):
Otro ejemplo:
Disk /dev/hda: 32 heads, 63 sectors, 973 cylinders
Units = cylinders of 2016 * 512 bytes
Device Boot Begin Start End Blocks Id System
/dev/hda1 1 1 49 49360+ 82 Linux swap
/dev/hda2 50 50 557 512064 83 Linux native
/dev/hda3 558 558 973 419328 83 Linux native
Command (m for help):
Ahora para crear una particin se oprime la letra n
<enter>:
Saldr un men :
Command action
e extended
p primary partition (1-4)
Como es disco se oprime la letra p ( particin primaria)
<enter>:
Aparecer el nmero de particin (1 a 4 ), ya que solo
acepta 4 particiones "fsicas"
Partition number (1-4):
Si no tenemos particiones teclearemos el nmero 1, de
lo contrario se teclear el nmero sig. a la ltima
particin.
First cylinder (1-977):
Aqui nos pide el # de cilindro correspondiente de la
particin
Last cylinder or +size or +sizeM or +sizeK ([1]-977):
En la lnea anterior nos pide el no. de cilindro final de
la particin; o bien se puede especificar el tamao de
Kilobytes, en este caso que sea Kilo Mega y se pondr
la sintaxis +tamaoM +tamaoK, as seguir
anlogamente y al terminar de crear sus particiones
puede corroborar al ejecutar el comando print
(tecleemos la letra p). No olvidar el rea swap.
Acabando lo anterior es necesario cambiar el tipo de
particin al rea que usaremos como swap. Existen
varios tipos ( ejemplos: el rea de swap, DOS, OS/2,
etc.) Para conocer los tipos se ejecuta el comando list,
tecleemos l <enter>:
Donde aparecern sus nmeros ( cdigo hexadecimal)
y correspondientes tipos :
0 Empty
9 AIX bootable
75 PC/IX
b7 BSDI fs
1 DOS 12-bit FAT
a OS/2 Boot Manag
80 Old MINIX
b8 BSDI swap
2 XENIX root
40 Venix 80286
81 Linux/MINIX
c7 Syrinx
3 XENIX usr
51 Novell?
82 Linux swap
db CP/M
4 DOS 16-bit <32M
52 Microport
83 Linux native
e1 DOS access
5 Extended
63 GNU HURD
93 Amoeba
e3 DOS R/O
6 DOS 16-bit >=32
64 Novell Netware
94 Amoeba BBT
f2 DOS secondary
7 OS/2 HPFS
65 Novell Netware
a5 BSD/386
ff BBT
8 AIX
Command (m for help):
y para cambiar el tipo de particin ejecutamos el
comando type ( tecla t ) :
te pedir la particin que quieres cambiar:
Partition number (1-4):
Y nos pide el cdigo Hexadecimal ( el cul vimos al
ejecutar el comando List).
Por ltimo necesitamos especificar cul ser la
particin activa. La particin activa es la que busca el
BIOS para cargar el sistema operativo, la cual se activa
con el comando Active, tecleando la letra a. Pedir la
particin donde quieres que bootee y al darle <enter>
nos mostrar nada en pantalla, pero si ejecutas el
comando print, tecleando la letra p, se ver donde dice
BOOT la particin que elegiste tendr un
"*"(asterisco).
Disk /dev/hda: 64 heads, 63 sectors, 528 cylinders
Units = cylinders of 4032 * 512 bytes
Device Boot Begin Start End Blocks Id System
/dev/hda1 * 1 1 264 532192+ 6 DOS 16-bit >=32M
/dev/hda2 265 265 273 18144 82 Linux swap
/dev/hda3 274 274 528 514080 83 Linux native
Command (m for help):
NOTA: No se debe elegir 2 particiones para booteo ya
que cuando arranque el sistema por primera vez no
sabr cual elegir y no responder la computadora.
Para salvar los resultados ejecutemos el comando
write, la letra w; si no lo queremos salvar los cambios
por algn motivo ejecute el comando quit, letra q.
Despus de teclear w saldr un men en donde nos
quedamos (disco de particin) y con la tecla TAB nos
dirigiremos al botn que dice DONE <enter>.
Aqu pide la activacin del espacio de swap y elegir
automticamente la que nosotros hagamos creado. EL
cual dar TAB para accionar tal espacio.
OJO: Si no crearon la particin de espacio de swap
tendremos que regresarnos al programa de particin
de disco para crearla ya que si no esta creada, no
podremos continuar lo cual, siempre se rebotear la
computadora.
Active swap space: [] /dev/hda1
[*] /dev/hda1 y despus seleccionar Ok
Por consiguiente seleccionamos la tabla de paricin de
donde se dejar el sistema ( la particin que se
hayamos elegido) y despus de elegir saldr otra
ventana y se pide el punto de montaje ( en que
directorio se bajar y guardar la informacin, por
default se pone en la particin que tenga en el mount
point (punto de montaje) que es la diagonal "/".
[*] /dev/hda2 /
[*] check for bad blocks during format
Lo que nos pide en los corchetes anteriores, es la
confirmacin que ah se bajar la informacin y va a
ser despus el directorio raz "/" y en el sig. corchete
nos pregunta que checar los bloques malos del disco
durante el formato y con el ejemplo de unas lneas
arriba se activa con la barra espaciadora y TAB.
Despus se pide los paquetes que se desea instalar (un
ejemplo de paquetes son los sig.):
C development
Development libraries
C++ libraries
Print server
NFS server
Anonymous FTP/Gopher server
X Window system
Base
Base/kernel
Documentation (principalmente los man-pages)
Libraries
Networking
Shells (principalmente csh)
X development
Emacs
Emacs con X Windows
Estos son una muestra (pero se quiere trabajar en
modo texto) en disco lo mas importantes son (como
ejemplo):
Applications/Networking
Base
Base/kernel
Documentation (principalmente los man-pages)
Libraries
Networking
Shell (principalmente csh)
Abajo de este men se encuentra:
[] Select Individul packages
Y con la barra espaciadora seleccionamos los paqutes
individuales:
[*] Select Individual packages
Y aparece los sig.:
Component to install: Seleccione lo siguiente...
[*] C development
[*] select individual packages
Select group
Applications/publishing
[] texinfo
Base
[*] iBCS
[*] Kernel
[*] Kernel_
[] logrotete
[] umsdos_progs
Developments/Tools
[*] binutils
Developmet/version control
[] cvs
[] rcs
Para las opciones anteriores, si aparecen con "*"
(asterisco) se habilitan con la barra espaciadora, si no,
se desahabilitan con tal barra.
Para el caso de la instalacin de las dems opciones, en
el submenu de Base deber elegir las opciones
correspondientes para la instalacin correcta.
Ahora si escojemos correctamente los paquetes, nos
aparecer una ventana que nos dir que faltan
paquetes y el programa los bajar automaticamente,
esto est bien si tenemos espacio en disco, de lo
contrario debemos rectificar, con la opcin CANCEL,
donde nos regresar al men de opcines para cargar
los programas de instalacin. De lo contrario
aparecer otra ventana donde dice que el sistema lo
bajar a un temporal y despus lo grabar a disco, lo
cual tecleamos <enter>.
En el sig. recuadro estar creando los filesystems en el
disco duro, lo que tardar algunos minutos y despus
bajar la informacin cuando aparezcan 2 barras
azles y poco a poco empezarn a llenar (indicando la
informacin que se est grabando).
Despus de que acabo de transmitir la informacin
pregunta por el tipo de mouse (aparecer un men con
los tipos de mouse), hay 2 tipos principales de mouse;
los de bus y los que se conectan por el puerto serial, lo
cual se escogern los sig.:
Si el mouse es de tipo bus la configuracin es tipo PS/2.
Si el mouse es de tipo serial, la configuracin ser de
tipo serial.
Y abajo nos pregunta la sintaxis que si emulamos 3
botones (Esto es muy conveniente para copiar, pegar y
ejecutar, el tercer botn lo simula oprimiendo los 2
botones al mismo tiempo).
Despus nos preguntar la tarjeta de video.
Nota: La versiones de RedHat 5.0 y posteriores tiene
plug and play que reconoce gran cantidad de tarjetas
de video y aceleradores.
En la prxima ventana pregunta el tipo de monitor (la
frecuencia horizontal y vertical), o si es mas
conveniente en este men elegir la opcin custom.
En esta pantalla se pide los bits por pixel (bpp) con que
se quiere trabajar en sesin grfica (accionar todas las
opciones que prefieras). En la sig. ventana pregunta
por el clockchip el cual puede ser detectado
automticamente, pero si sabe que clockchip tiene su
computadora y si se encuentra en el men, seleccionelo,
de lo contrario teclee <enter> y lo autodetectar. En la
sig. ventana preguntar si desea cambiar su
configuracin de red ( lo cual realiz anteriormente), si
lo hizo correctamente teclee (Keep the configurator) y
guardar la configuracin.
Si no teclee reconfigurar la red de su computadora y
nos pedir el no. IP y todo lo correspondiente a la red
de instalacin que se vi pginas atrs.
Despus nos pide el tipo de zona, el cual es el tipo de la
regin geogrfica donde te encuentras, para que
trabaje el huso horario local (Mxico General).
En las sig. ventana pide la configuracin del teclado (en
que idioma lo querremos trabajar, si el idioma espaol
ser es y si ingles la opcin us).
Despus pide el passwd que necesita el superusuario
(root), para su prxima entrada (No dar contraseas
obvias ni cortas).
La prxima ventana pide el cargador para instalar el
sistema operativo (LILO BOOT), donde pide la
particin en que se guardar dicho cargador. Aparecen
varios casos:
/dev/hda Disco duro general
/dev/hdax Particin de la instalacin en Linux
/dev/fd0 Floppy
Despus de escoger la opcin deseada, aparecer por
ltimo una pantalla de felicitaciones de haber
concluido la instalacin, pide que se rebotee para
instalar este sistema y trabajar con este buen sistema
operativo.
CUESTIONARIO:
1.-Cules fueron los valores encontrados respecto a :
Memoria Ram
Tarjeta de Red
Mouse
Capacidad del Disco duro
2.-Como se llama el disco de inicio de Redhat?
3.- Que versin de Linux instal?
4.- Instalaste ms de una particin al disco duro, si
fuese cierto, Que hay en la otra particin?
5.-Cuanto espacio para el Area de Swap determin?
6.-Cuanto espacio para el Area del Sistema determin?
7.- Cual fue el mtodo de instalacin?
8.-Cuales fueron tanto el nombre como la direccin IP
de su mquina instalada?
PRACTICA No. 13
"CONFIGURACIN DE NFS"
OBJETIVO: Conocer el tipo de transmisin que ofrece
NFS, como el protocolo y la configuracin para la
exportacin del volmenes y poder compartirlo.
INTRODUCCIN:
NFS (Networking File System o Sistemas de Archivo en
Red) fue desarrollado y llevado a la mercadotecnia por
Sun MicroSystems Inc. en 1984. Sun tiene la filosofa
de distribucin y sistemas abiertos. As, desde el
comienzo NFS fue diseado para permitir la conexin
de computadoras de diferentes sistemas operativos
corriendo en ellas en redes homogneas. Sin embargo,
la realidad de NFS pudo ser usado en redes
heterogneas y fue probablemente el gran avance sobre
otros productos como el Remote File System de AT&T
(RFS) o el Andrew File System (AFS).
El NFS es el servicio mas complejo de los que ofrecen
usando RPC. Permite acceder a los archivos remotos
exactamente igual que si fueran locales. NFS ofrece
numerosas ventajas:
Los datos accedidos por todo tipo de usuarios
pueden mantenerse en un nodo central, con
clientes que montan los directorios en el momento
de arrancar, esto es transparente a los usuarios. Si
adems se instala NIS, los usuarios podran entrar
y trabajar de forma transparente en cualquiera de
las mquinas.
Los datos que consumen grandes cantidades de
espacio en disco pueden mantenerse en un solo
nodo.
Los datos de administracin tambin puede
mantenerse en un solo nodo. No ser necesario
usar el rcp para instalar el mismo archivo.
Un aspecto de la transparencia es la velocidad de
acceso de datos sobre la red, cual debe ser alta no
es notificable a diferencia del acceso a disco local.
La meta original del desarrollo de NFS es el 80%
de los datos con respecto al disco local.
El NFS de Linux principalmente fue obra de Rick
Sladkey apoyandose en programas de Mark Shand.
Donde la implementacin del cliente ser en el nuevo
VFS (Virtual File Systems) y no necesita del cdigo
biod . NFS esta basado en un protocolo acordado cual
largo corresponde al acordado definido con el modelo
OSI:
Aplicacin
mount, NFS, yp, bind
Presentacin
XDR
Sesin
RPC
Transporte
TCP, UDP
Red
IP
Liga
ETHERNET
Fsico
Llamada de Procedimiento Remoto
La llamada de procedimiento remoto (RPC) es la capa
de sesin de protocolo. La ejecucin de un RPC
consiste en los sig. pasos:
1) Activacin por el programa cliente. Los parmetros
de solicitud son empaquetados dentro de un paquete de
datos.
2)Mandando solicitudes y desempaquetamiento de los
parmetros en el programa del servidor.
3)Ejecucin de la solicitud (el procedimiento) en el
servidor.
4)Empaquetar y retornar de los resultados del cliente.
5)Desempaquetar los resultados por el cliente y
continuacin de los programas normales de ejecucin.
Port Mapper
El servicio portmapper opera semejante a un servicio,
cual esencialmente controla una tabla de mapeo de
relacin de programas RPC and/or nmeros de
versiones locales de TCP UDP de nmeros de
puertos, como cual es un servicio y disponibilidad. EL
portmapper ocupa el puerto 111 en ambos TCP y UDP.
Si este principio definido al nmero de puerto cual
tiene que ser usado por el programa RPC.
Protocolo de cabecera RPC
El protocolo RPC es el chasis de transporte solicitado
al servidor, cuando el flujo esta dentro del
procedimiento. La programacin puede definir un
nmero arbitrario de procedimiento entre el cliente y
servidor, con arbitraria opciones de parmetro y
resultados. Un funcionamiento de grupo coherente de
procedimiento es llamado un servicio de RPC. Cada
servicio es asignado un llamado del numero de
programa.
Protocolo PortMapper
Cliente y servidor ambos comunican con el
portmapper va RPC. Los procedimientos RPC define
en el protocolo portmapper. No es apropiado obtener
la descripcin exacta de los procedimientos y el
resultado de este punto.
Protocolo de NFS
El protocolo NFS consiste de un nmero de
procedimientos RPC, construye en el mismo principio
como el protocolo portmapper. La especificacin del
nmero de puerto de 2049. Cuando alguien accede a un
archivo remoto, el ncleo manda una llamada RPC al
programa nfsd (demonio de NFS) del nodo remoto.
Esta llamada incluye el descriptor de archivo, el
nombre del archivo a acceder y los identificadores de
usuario y de grupo del demandante. Estos
identificadores se usan para checar los permisos de
acceso en la maquina remota, con lo que los usuarios
de ambas maquinas deberan ser los mismos.
En varias implementaciones de UNIX, las
funcionalidades del clientes y servidor NFS, se
implementan como demonios de nivel del ncleo que se
arrancan desde el espacio de usuario al arrancar la
maquina. Se trata del programa biod (Block I/O
Daemon) en el cliente. En cuanto a Linux el programa
biod no se utiliza porque este se implementa en el VFS.
Demonios de NFS
Si se desea proporcionar un servicio NFS a otras
maquinas, deber ejecutar en el servidor los
programas nfsd y mountd. Son programas basados en
RPC, por los que no son arrancados por el demonios
inetd, sino lanzados como demonios de tiempo de
arranque y registrados en el mapeador de puertos de
RPC.
DESARROLLO:
Para esta practica necesitamos 2 maquinas Linux para
hace la interpretacin de cliente-servidor, por esto
necesitaremos las direcciones IP correspondientes, si
no las sabes usa el comando ifconfig y correlo tanto en
el cliente como en el servidor.
1) Probaremos si el cliente y el servidor tenga el
filesystem de NFS en el kernel, esto se ve a travs del
sig. archivo:
#cat /proc/filesystems
minix
ext2
msdos
nodev proc
nodev nfs
Si no tenemos la palabra de nfs entonces
recompilaremos el kernel.
Configuracin del Servidor
Aqu haremos modificaciones hacia un archivo y
manipular 2 archivos ejecutables. Para poder
compartir directorios en red, necesitamos decirles a los
demonios de NFS cuales queremos y estos demonios
leen el archivo /etc/exports.
2) El archivo exports tiene el sig. aspecto:
/directorio
nombre_de_la_maquina__dir._IP(opciones)
Ejemplo:
#cat /etc/exports
/home maquina1(rw) [Link](rw)
[Link](rw)
/tmp [Link](ro)
/usr/tmp (ro)
Cada lnea especifica un directorio, la lista de la(s)
maquina(s) que pueden acceder a el por medio de NFS.
En la lista de la maquina puede ser con el nombre
completo de la maquina o el numero de Internet
completo. Aunque se pueden usar los comodines (* y ?)
que tiene el shell. Si no lleva el nombre de la maquina
(como en el caso de /home/ftp) entonces se exportar a
todas las maquinas de Internet.
Tras el nombre de la maquina autorizada, se encerrar
entre parntesis el conjunto de opciones separadas por
comas. Dichas opciones son:
insecure Permitir acceso no autentificado desde ese
nodo.
unix-rpc Requerir autentificacin RPC del dominio
UNIX para este nodo. Se trata simplemente de que las
peticiones se originen en un puerto reservado (es decir
inferior a 1024). Esta opcin est activa por defecto.
kerberos Requerir autentificacin Kerberos. Tampoco
se ha implementado aun.
root_squash Se trata de una opcin de seguridad que
niega acceso a archivos del superusuario a las
peticiones con uid 0 o 65535 (este ltimo se le asocia al
usuario nobody).
no_root_squash Evita la restriccin anterior.
ro Monta la jerarqua de archivos en solo lectura.
rw Monta la jerarqua con permisos para leer y
escribir.
link_relative Convierte enlaces simblicos absolutos
(que comienza con un barra de directorio, "/") en
enlaces relativos colocados los prefijos ../ que sean
necesarios para hacer que apunten a la raz del
servidor. Esta opcin solo tiene sentido cuando se
monta un sistemas de archivos completo y no solo un
directorio.
link_absolute Deja los enlaces absolutos como estaban.
map_identity Esta opcin indica al servidor que asuma
que el cliente utiliza el mismo mapa de uids y gids que
el servidor.
map_daemon Esta opcin indica al servidor NFS que
no comparte el mapa de usuarios con el del cliente.
Con ello, las comparaciones de uids y gids se harn
mediante una lista de mapeado entre ambos que se
construir llamado al demonio ugidd del cliente.
3)Ahora modificamos ese archivo para que tenga el
siguiente formato:
#vi /etc/exports
/tmp direccion_IP_cliente(rw,no_root_squash)
/mnt/floppy direccion_IP_cliente(rw)
4)Salvamos el archivo /etc/exports y necesitamos que
los demonios tenga esta configuracin en el archivo lo
cual usaremos los scripts:
#/etc/rc.d/init.d/nfs stop
#/etc/rc.d/init.d/nfs start
Si no marca ningn error hemos acabado con la
configuracin del servidor y ahora continuaremos con
el cliente, pero antes necesitaremos un floppy para
montarlo en el directorio /mnt/floppy del servidor:
#mount /dev/fd0 /mnt/floopy
Configuracin del cliente
Ahora estamos en el cliente y montaremos el directorio
tmp que se encuentra en el servidor y crearemos un
directorio que sea la IP del servidor:
#mkdir /direccion_IP_del_servidor
#mkdir /direccion_IP_del_servidor/tmp
#mkdir /direccion_IP_del_servidor/floppy
#mount -t nfs nombre_servidor:/tmp \
/direccion_IP_del_servidor/tmp
si no marca error el mountaje lo podemos ver con
mount:
#mount
Anota el resultado
Si queremos que este directorio se monte cada vez que
el cliente inicie lo podemos poner las sig. lineas en el
archivo etc/fstab. Un ejemplo de este archivo es:
/dev/hda1 / ext2 defaults 1 1
/dev/hda2 swap swap defaults 0 0
servidor:/tmp /direccion_IP_servidor nfs defaults 1 1
Y con ello logramos cada vez que inicie la
computadora cliente buscar ese directorio del
servidor y cuando lo encuentre lo montar en su
directorio, el comando mount tiene opciones para
montar va NFS que son las siguientes:
rsize=n y wsize=n Especifican el tamao del datagrama
utilizado por el cliente NFS en la peticiones de lectura y
escritura, respectivamente. Por defecto, cada una de
ellas vale 1024 bytes, dados los limites del tamao del
datagrama UDP ya comentados.
timeo=n Esta opcin establece el tiempo mximo de
espera de respuesta a una peticin del cliente NFS; en
centsimas de segundo. Por defecto, este valor es de 0.7
segundos.
hard Marca el montaje del volumen como fsico. Es un
valor por defecto.
soft Hace que el montaje sea solo lgico (opuesto al
anterior).
intr Esta opcin habilita la posibilidad de que una seal
interrumpa una espera por NFS. Es til para poder
abortarla cuando el servidor no responde.
Ahora montaremos el floopy que se encuentra
montado en el servidor en el directorio /mnt/floppy al
cliente:
#mount servidor:/mnt/floppy
/direccion_IP_del_servidor/floppy
Con ello obtenemos los datos de los directorios que
queremos del servidor. Ahora para ver que maquinas
han montado nuestro directorio (el caso del servidor),
tenemos un comando llamado:
#showmount -a
Apunta el resultado y comentalo
Y con ello mostramos una forma de exportar y
compartir archivos en una red bajo NFS.
CUESTIONARIO:
1.- Que es el NFS?
2.- Que ventaja tiene el NFS?
3.- Que desventaja tiene el NFS?
4.- El servidor NFS tambin puede ser cliente? si no
Porque?
5.- En que aplicaciones y protocolos est basado NFS y
describa cada una de ellas
6.- Si tenemos una maquina "X" que exporta va NFS
el directorio "direc1" a la maquina "Y" y esta lo
monta en el directorio "/X/direc2" y la maquina "Y"
exporta el directorio "/X/direc2" a otra maquina "Z" y
esta lo monta en el directorio "/X/Y/monta". Se puede
hacer esta operacin? Si no Porque?
7.- Cuales son los productos que tienen similitud con
NFS? Hable brevemente de ellos
8.- Que es el XDR (eXternal Data Representaion)?
9.- En que puerto estn los demonios de NFS?
10.- Que comandos pertenecen a NFS y cuales usamos?
CONCLUSIONES:
anterior
siguiente
PRACTICA # 14
"CONFIGURACIN DEL
PROGRAMA NIS (NETWORKING
INFORMATION SERVICES)"
OBJETIVO: El alumno aprender a configurar las
computadoras de tal manera que pueda manipular los
archivos correspondientes al servidor (los archivos
llamados /etc/passwd, /etc/group, /etc/hosts, etc.).
INTRODUCCIN:
Mas y mas mquinas LINUX son instaladas como
parte de una red de computadoras. Para simplificar la
administracin en red, mas redes corren el Servicio de
Informacin en red (NIS). Las maquinas de LINUX
pueden tener cierto avance de la existencia de un
servicio NIS o provista por el servidor NIS. Puedes
tambin (con las libreras NYS) actuar como un cliente
NIS+.
El Portmapper RPC
Ejecutando el programa mencionado necesitaras
correr el programa "/usr/sbin/[Link]". Algunas
distribuciones LINUX tienen el cdigo en las siguientes
rutas: /etc/rc.d/inet2 (para Slackware) o
/etc/rc.d/init.d/portmap (para RedHat) e inicializan este
demonio. El RPC portmaper es un servicio que
convierte el programa RPC en programas dentro de
protocolos TCP/IP (o UDP/IP) por nmeros de
puertos. Esta corriendo las llamadas RPC, de
servidores RPC en maquinas clientes. Cuando un
cliente desea hacer una llamada RPC obtiene un
numero de programa, el primer socket portmap en el
servidor, determina el nmero de puerto por donde
manda los paquetes RPC.
Con esto podemos darnos cuenta que existe otro
protocolo llamado UDP, y para saber un poco mas de
l daremos los conceptos de dicho protocolo.
PROTOCOLOS DE DATAGRAMAS DE USUARIO
(UDP)
Recordamos que los protocolos no orientados a
conexin no proporcionan fiabilidad ni mecanismos de
control de flujo. No proporcionan procedimientos de
recuperacin de errores. UDP es un protocolo no
orientado a conexin. Se utiliza a veces como sustituto
de TCP cuando no hay que utilizar los servicios de este.
Por ejemplo, varios protocolos del nivel de aplicacin,
como el Protocolo de Transferencia de Datos Trivial
(TFTP) y la Llamada de Procedimiento Remoto (RPC)
utilizan UDP.
UDP sirve como interfaz de aplicacin simple para IP.
Como incluye mecanismo de fiabilidad, control de flujo
ni medidas de recuperacin de errores, sirve
nicamente como multiplexor/demultiplexor de envo y
recepcin del trafico de IP.
UDP hace uso del concepto de puerto para dirigir los
datagramas hacia las aplicaciones del nivel superior
apropiadas. El datagrama de UDP contiene un numero
de puerto de destino que es utilizado por el modulo de
UDP para enviar el trafico al receptor adecuado.
FORMATO DEL MENSAJE UDP
Quiz la mejor forma de explicar este protocolo sea
examinar el mensaje y los campos que lo componen.
Como muestra la fig. el formato es demasiado simple
que incluye los sig. campos :
32 BITS
Puerto de Fuente
Puerto de Destino
Longitud
Checksum
Datos
PUERTO DE FUENTE: Este valor identifica el puerto
del proceso de aplicacin remitente. Este campo es
opcional. Si no se utiliza, se pone a 0.
PUERTO DE DESTINO: Este valor identifica el
proceso de recepcin en la computadora destino.
LONGITUD: Este valor indica la longitud del
datagrama del usuario, incluyendo la cabecera y los
datos. La longitud mnima es de 8 bits.
CHECKSUM: Este valor contiene el valor del
complemento a 1 en 16 bits de la suma de la
subcabecera de IP, la cabecera de UDP y los datos. Se
realiza tambin el checksum de los campos de relleno
(si es necesario que el mensaje contiene un nmero de
octetos que sea un mltiplo de 2).
Poco mas se puede decir de UDP. Representa el nivel
de servicio mnimo que utilizan muchos sistemas de
aplicacin basados en transacciones. Es sin embargo,
muy til en los casos en los que son necesarios los
servicios de TCP.
Para saber que servicios ofrece TCP/IP y UDP, ser de
ver el archivo /etc/services para saber que programas
usan cada protocolos, ambos.
DESARROLLO
Tambin necesitas de diversos programas (ypbind,
ypcat, yppoll, ypmatch), pero el ms importante es el
ypbind, este programa deber correr todo el tiempo
(en el cliente). En el desarrollo esta practica usaremos
el servidor con direccin IP [Link] (para que no
haya problemas) con sus archivos ya configurados para
hacer la practica, donde el dominio de las pginas
amarillas se denomino Musica. Pero surge una
pregunta:
Como configurar un servidor de paginas amarillas
(ypserv)?
Esto lo que haremos en 2 partes:
i)En nuestro servidor asignado se repetir lo que se
hizo en el servidor [Link].
ii)Despus que hicimos la configuracin de tal servidor,
entonces configuraremos nuestra maquina asignada
para que sea un cliente y lea las pginas amarillas del
servidor [Link].
CONFIGURACION DEL SERVIDOR
Editaremos el archivo Makefile que se encuentra en
/var/yp y pondremos entre comentarios desde la
palabra netid y se ver de la sig. forma
(aproximadamente se encuentra en la lnea 91):
all : passwd hosts group netid networks protocols rpc
services netgrp \ mail shadow ypservers publickey ethers
# [Link] bootparams:
Como queda :
all : passwd hosts group #netid networks protocols rpc
services netgrp \ mail shadow ypservers publickey ethers
# [Link] bootparams (en esta practica usaremos los
archivos passwd hosts y grupo).
se dar de baja en el servidor el demonio de las paginas
amarillas "ypserv" con la sig. sintaxis:
#/etc/rc.d/init.d/[Link] stop
veremos que dominio tiene el servidor:
#domainname
(none)
# #domainname curso
# #domainname
curso
#
cual nos dice el dominio asignado, ahora crearemos las
paginas amarillas con make en el directorio /var/yp:
# cd /var/yp
# make
...................
#
Despus de crearlas, se hizo un directorio con ese
nombre, ahora levantemos el demonio [Link], pero
antes cambia el dominio y que sea del servidor llamado
[Link], (dominio Musica):
#domainname Musica
#
#/etc/rc.d/init.d/[Link] start
los programas que vemos que estn funcionando son
los archivos ypasswdd, portmapper y ypserv, tambin
podemos usar la sig. expresin para si esta corriendo el
demonio ypserver o unos de los antes mencionados:
#rpcinfo -u localhost ypserver
100004 version 2 ready and waiting
#
lo que nos dice que el programa listo y en espera de
datos.
CONFIGURACION DEL CLIENTE
Ahora se configurar el cliente de tal manera que lea
las pginas amarillas del servidor. Primero se crear
un archivo para que sepa de que maquina esta
exportando las "yellow pages":
#vi /etc/[Link]
ypserver [Link]
:wq
Y posteriormente se levantara el demonio ypbind con
la sig. sintaxis:
#/usr/sbin/ypbind
#
Para ver si esta levantado usaremos la sig. expresin:
#rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100005 1 udp 777 mountd
100005 1 tcp 779 mountd
100003 2 udp 2049 nfs
100003 2 tcp 2049 nfs
100004 2 udp 815 ypserv
100004 1 udp 815 ypserv
100004 2 tcp 818 ypserv
100007 2 udp 637 ypbind
100007 2 tcp 639 ypbind
100009 1 udp 824 yppasswdd
300019 1 udp 836
#
para ver si exportamos tales paginas amarillas, (las del
servidor [Link]) usaremos el comando ypcat, la
sintaxis siguiente (El comando ve las pginas amarillas
y las transforma para verlas en la Terminal ) :
#ypcat passwd | more
la sig. expresin :
#ypcat group | more
ah se vera los archivos /etc/passwd, /etc/group y
/etc/hosts del servidor192.168.2.1, ahora crearemos un
directorio en la raz:
#cd /
#mkdir users
montaremos el directorio users del servidor
[Link]:
#mount [Link]:/pub/users /users
En la maquina cliente configura los archivos
/etc/passwd y /etc/group, al final de estos debes poner un
signo mas (+):
Ejemplo:
++:*:0:0:::
ya que hicimos la configuracin del archivo /etc/passwd
/etc/group de [Link], usaremos un login del tal
servidor:
login es NIS
passwd es Redes97
con ello puedes usar el espacio en disco de ese usuario y
damos por terminado la configuracin del NIS, pero
hay una pregunta :
Podr cambiar mi password desde una terminal
usando NIS ?
La respuesta es no, pero con otro programa
llamado yppasswd, si se puede, a continuacin
daremos una explicacin y como configurar este
programa para que podamos cambiar el
password.>
En la distribucin de los sistemas linux, el
passwd, el chsh y chfn solamente puede
cambiarlo si el usuario esta dado de alta en la
maquina local, pero como esta leyendo las
paginas amarillas, del servidor no sirve entonces
esos comando, para ello tenemos el yppasswd,
ypchfn y ypchsh, estos 2 ltimos comandos
pueden ser opciones del primero con la bandera
-f y -l, respectivamente.
El yppasswd cambia el passwd del usuario que esta en
el NIS. El usuario tendr que escribir su passwd con
un menor de 6 caracteres.
El ypchsh o yppasswd -l cambia el shell del usuario
NIS, y aparecer el shell que usa por default:
Login shell [/bin/bash]: _
Si quieres ese shell, solamente le daras ENTER, si no
debers darle el shell que quieras, pero siempre con la
ruta absoluta donde se encuentra el shell.
EL ypchfn yppasswd -f Cambia los datos que tiene
registrados el usuario NIS, lo que llamamos el GECOS,
donde aparecern las sig. datos a cambiar:
Name [NIS]:
Location [ C.U.]:
Office Phone []:
Home Phone []:
Si quieres tener los mismos datos por default,
solamente teclea ENTER, si no haz las modificaciones
pertinentes.
La instalacin del yppasswd es muy sencilla, donde
hars los siguientes pasos de comandos:
#cd /usr/bin
#mv passwd [Link]
#chmod go-rwx [Link]
#ln yppasswd passwd
Esta secuencia de sintaxis es:
- Cambiarnos a /usr/bin
- Mover el comando passwd
- Quitarles permisos a ejecutarlo, tanto al grupo como
a otras personas
- Ligar el programa passwd con yppasswd, para poder
asi cambiar el passwd de la configuracin NIS. Donde
cabe sealar que el comando [Link] solamente lo
puede ejecutar el administrador Esto se hace en las
maquinas con clientes NIS).
Esto seria lo ultimo de modificaciones para tener un
buen control de maquinas clientes, para no dar de alta
y no cambiar passwd desde el servidor, y con ello
daremos por terminada la practica de NIS.
CUESTIONARIO:
1.- Cual es la ventaja de utilizar NIS?
2.- Cual es la desventaja de utilizar NIS?
3.- Que archivos exportaron al utilizar NIS?
4.- Puedes exportar otros archivos que no sean
los antes mencionados? Si no Porque?
5.- Cuales son los archivos configurados en el
servidor?
6.- Cuales son los archivos configurados en el
cliente?
7.- Que demonios activaste para empezar a
exportar los archivos?
8.- Despus de configurar NIS se puede cambiar
el password de la maquina cliente? Porque?
9.- Como se llama el comando para cambiar el
password en la yellow pages?
10.- Como se verific que los demonios estn en
los puertos respectivos?
11.- Que puertos utiliza el Networking Information
Services y el portmap?
12.- Que protocolo se utiliz para la
configuracin del NIS?
13.- Menciona algunos comandos que se
utilizaron para el NIS y su significado para el
sistema?
PRACTICA #15
"SAMBA"
OBJETIVO: Aprender la configuracin de un servidor
tipo SAMBA para exportar los recursos a las
diferentes plataformas que lo soporta, as tambin
aprender a conectarse como cliente samba y obtener
recursos de otro servidor va smb.
INTRODUCCIN: Que es SAMBA?
SAMBA es una suite de programas el cual trabaja y
aloja clientes accesando archivos e impresoras va el
protocolo SMB (Session Message Block). Inicialmente
escrito para UNIX, ahora SAMBA tambin corre en
Netware, AmigaDOS, OS/2, etc.
En la practica, se puede redireccionar discos e
impresoras UNIX y que sean clientes tales como
WFW3.11, Windows9.x, WindowsNT, Linux y OS/2.
Esto es que un cliente genrico UNIX, suple parte de la
suite que aloja a usuarios y tienen una interfaz tipo ftp
cuando se conecta una maquina UNIX a un servidor
SAMBA, accesando a sus recursos va el servicio smb.
Esto obtienen la capacidad de este servidor trabaje
mejor que un servidor Windows NT, nicamente
teniendo funcionalidad y flexibilidad como est
diseado para hacerlo mas fcil a los administradores.
Los componentes de la suite son:
Smbd, el servidor smb. Este acta con las
conexiones desde clientes, dando todos los
archivos, permisos y directorio de trabajo al
usuario.
Nmbd es el servidor de nombre de NetBIOS, el
cual ayuda a los clientes a localizar servidores,
buscando y manejando dominios.
Smbclient, el programa cliente del host-UNIX.
Testprns un programa para hacer un test al
servidor que accede a las impresoras.
Testparms, este programa hace un test a la
configuracin del archivo samba y verifica que
este correcto.
[Link] es el archivo de configuracin SAMBA.
Smbstatus muestra lo compartido (recursos)
exportado por SAMBA.
Smbfs, es un Sistema de Archivos que trabaja con
el protocolo smb. Con esto puedes montar o
compartir recursos con computadoras UNIX.
Smbmount el un comando que monta el smbfs de
un sistema UNIX.
El Protocolo SAMBA
El protocolo smb es responsable de la negociacin de
los archivos remotos y recursos como impresoras. Si
hablamos de un ejemplo mas especifico, usaremos un
cliente Windows 95 y un servidor Linux, en este
servidor tenemos un directorio mapeado a Windows 95
en el drive E. Este directorio tiene un archivo llamado
[Link]. En el sig. diagrama muestra el proceso
que ocurre, como el cliente busca y accede al archivo
desde el servidor.
Los Demonios SAMBA
El corazn de SAMBA son los programas smbd y
nmbd. Usualmente corren como demonios, cual estos
procesos corren todo el tiempo. RedHat corre estos
demonios por default.
El proceso nmbd habilita al servidor Linux a ser
explorados por otras maquinas. El demonio smbd
procede los paquetes SMB y estos arriban en la red y
negocia con el kernel de Linux a acceder estos recursos
y compartirlos. Su un archivo especifico, el recurso es
un archivo, una peticin de impresin. La forma de
exportar es:
Archivos ------ Impresoras
Linux <-->Linux ------- Linux<-->Linux
Windows <-->Linux ------- Windows <-->Linux
El archivo llamado [Link] tiene toda la
configuracin e informacin del uso smbd y nmbd.
[Link] [Archivo]
# This is the main Samba configuration file. You should read the
# [Link](5) manual page in order to understand the options listed
# here. Samba has a huge number of configurable options (perhaps too
# many!) most of which are not shown in this example
#
# Any line which starts with a ; (semi-colon) or a # (hash)
# is a comment and is ignored. In this example we will use a
#
# for commentry and a ; for parts of the config file that you# may wish to
enable
#
# NOTE: Whenever you modify this file you should run the command
"testparm"
# to check that you have not many any basic syntactic errors. #
#==================== Global Settings
=====================================
[global]
# workgroup = NT-Domain-Name or Workgroup-Name workgroup =
WORKGROUP
# server string is the equivalent of the NT Description field
server string = Samba Server
# This option is important for security. It allows you to restrict
# connections to machines which are on your local network. The
# following example restricts access to two C class networks and
# the "loopback" interface. For more examples of the syntax see
# the [Link] man page
; hosts allow = 192.168.1. 192.168.2. 127.
# if you want to automatically load your printer list rather
# than setting them up individually then you'll need this
printcap name = /etc/printcap
load printers = yes
# It should not be necessary to spell out the print system type unless
# yours is non-standard. Currently supported print systems include:
# bsd, sysv, plp, lprng, aix, hpux, qnx;
printing = bsd
# Uncomment this if you want a guest account, you must add this to
/etc/passwd
# otherwise the user "nobody" is used
; guest account = pcguest
# this tells Samba to use a separate log file for each machine
# that connects
log file = /var/log/samba/log.%m
# Put a capping on the size of the log files (in Kb).
max log size = 50
# Security mode. Most people will want user level security. See
# security_level.txt for details.
security = user
# Use password server option only with security = server
; password server = <NT-Server-Name>
# Password Level allows matching of _n_ characters of the password for
# all combinations of upper and lower case.
; password level = 8
# You may wish to use password encryption. Please read
# [Link], [Link] and [Link] in the Samba
documentation.
# Do not enable this option unless you have read those documents
; encrypt passwords = yes
; smb passwd file = /etc/smbpasswd
# Unix users can map to different SMB User names
; username map = /etc/smbusers
# Using the following line enables you to customise your configuration
# on a per machine basis. The %m gets replaced with the netbios name
# of the machine that is connecting
; include = /etc/[Link].%m
# Most people will find that this option gives better performance.
# See [Link] and the manual pages for details
socket options = TCP_NODELAY
# Configure Samba to use multiple interfaces
# If you have multiple network interfaces then you must list them
# here. See the man page for details.
; interfaces = [Link]/24 [Link]/24
# Configure remote browse list synchronisation here
# request announcement to, or browse list sync from:
# a specific host or from / to a whole subnet (see below)
; remote browse sync = [Link] [Link]
# Cause this host to announce itself to local subnets here
; remote announce = [Link] [Link]
# Browser Control Options:
# set local master to no if you don't want Samba to become a master
# browser on your network. Otherwise the normal election rules apply
; local master = no
# OS Level determines the precedence of this server in master browser
# elections. The default value should be reasonable
; os level = 33
# Domain Master specifies Samba to be the Domain Master Browser.
This
# allows Samba to collate browse lists between subnets. Don't use this
# if you already have a Windows NT domain controller doing this job
; domain master = yes
# Preferred Master causes Samba to force a local browser election on
startup
# and gives it a slightly higher chance of winning the election
; preferred master = yes
# Use only if you have an NT server on your network that has been
# configured at install time to be a primary domain controller.
; domain controller = <NT-Domain-Controller-SMBName>
# Enable this if you want Samba to be a domain logon server for
# Windows95 workstations.
; domain logons = yes
# if you enable domain logons then you may want a per-machine or
# per user logon script
# run a specific logon batch file per workstation (machine)
; logon script = %[Link]
# run a specific logon batch file per username
; logon script = %[Link]
# Where to store roving profiles (only for Win95 and WinNT)
# %L substitutes for this servers netbios name, %U is username
# You must uncomment the [Profiles] share below
; logon path = \\%L\Profiles\%U
# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable it's
WINS Server
; wins support = yes
# WINS Server - Tells the NMBD components of Samba to be a WINS
Client
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT
both
; wins server = w.x.y.z
# WINS Proxy - Tells Samba to answer name resolution queries on
# behalf of a non WINS capable client, for this to work there must be
# at least one WINS Server on the network. The default is NO.
; wins proxy = yes
# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS
names
# via DNS nslookups. The built-in default for versions 1.9.17 is yes,
# this has been changed in version 1.9.18 to no. dns proxy = no
# Case Preservation can be handy - system default is _no_
# NOTE: These can be set on a per share basis
; preserve case = no
; short preserve case = no
# Default case is normally upper case for all DOS files
; default case = lower
# Be very careful with case sensitivity - it can break things!
; case sensitive = no
#============================ Share Definitions
==============================
[homes]
comment = Home Directories
browseable = no
writable = yes
# Un-comment the following and create the netlogon directory for
Domain Logons
; [netlogon]
; comment = Network Logon Service
; path = /home/netlogon
; guest ok = yes
; writable = no
; share modes = no
# Un-comment the following to provide a specific roving profile share
# the default is to use the user's home directory;
[Profiles]
; path = /home/profiles
; browseable = no
; guest ok = yes
# NOTE: If you have a BSD-style print system there is no need to
# specifically define each individual printer
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
# Set public = yes to allow user 'guest account' to print
guest ok = no
writable = no
printable = yes
# This one is useful for people to share files
;[tmp]
; comment = Temporary file space
; path = /tmp
; read only = no
; public = yes
# A publicly accessible directory, but read only, except for people in
# the "staff" group
;[public]
; comment = Public Stuff
; path = /home/samba
; public = yes
; writable = yes
; printable = no
; write list = @staff
# Other examples.
## A private printer, usable only by fred. Spool data will be placed in
fred's
# home directory. Note that fred must have write access to the spool
directory,
# wherever it is.
;[fredsprn]
; comment = Fred's Printer
; valid users = fred
; path = /homes/fred
; printer = freds_printer
; public = no
; writable = no
; printable = yes
# A private directory, usable only by fred. Note that fred requires write
# access to the directory.
;[fredsdir]
; comment = Fred's Service
; path = /usr/somewhere/private
; valid users = fred
; public = no
; writable = yes
; printable = no
# a service which has a different directory for each machine that connects
# this allows you to tailor configurations to incoming machines. You
could
# also use the %u option to tailor it by user name.
# The %m gets replaced with the machine name that is connecting.
;[pchome]
; comment = PC Directories
; path = /usr/pc/%m
; public = no
; writable = yes
# A publicly accessible directory, read/write to all users. Note that all files
# created in the directory by users will be owned by the default user, so
# any user with access can delete any other user's files. Obviously this
# directory must be writable by the default user. Another user could of
course
# be specified, in which case all files would be owned by that user instead.
;[public]
; path = /usr/somewhere/else/public
; public = yes
; only guest = yes
; writable = yes
; printable = no
# The following two entries demonstrate how to share a directory so that
two
# users can place files there that will be owned by the specific users. In
this
# setup, the directory should be writable by both users and should have
the
# sticky bit set on it to prevent abuse. Obviously this could be extended to
# as many users as required.
;[myshare]
; comment = Mary's and Fred's stuff
; path = /usr/somewhere/shared
; valid users = mary fred
; public = no
; writable = yes
; printable = no
; create mask = 0765
El archivo [Link] tiene una estructura simple como
se lista:
El archivo esta dividido en secciones. Cada seccin
contiene parmetros, estos define que comparte
SAMBA para exporta.
Una seccin global define los parmetros que
tienen control general de las caractersticas de
SAMBA.
otra seccin que comienzan con un nombre
encerrado entre corchetes (ejemplo [home] ) y
continua hasta la sig. seccin
Especifica un parmetro con la siguiente sintaxis
Nombre = valor
El nombre puede estar hecho de una o mas palabras
separadas por espacio. El valor es booleano (falsos o
verdadero, si o no, 1 o 0); numrico o una cadena de
caracteres.
Los comentarios son precedidos de punto y coma (
; ) y debe poner en cada lnea.
Las lneas pueden ser continuadas con un slash
( \ ) y luego un <enter> y con ello podr continuar
la lnea.
Este archivo tiene 3 grandes partes:
Parmetros globales.
La seccin del directorio compartido.
La seccin de las impresoras compartidas.
Los parmetros globales, puede compartir, ponen las
normas de tu sistema. La seccin [home] y [printer]
son instancias especiales de servicio. El termino
servicios en la terminologa de SAMBA de los
directorios e impresoras son compartidas o exportar
como clientes de la red. La configuracin SAMBA usa
un nivel de seguridad de usuario y est especificado en
el /etc/[Link] por el parmetro security = user. Esta
seguridad es requerida, ya que el login y contrasea de
Windows es muy fcil de suplantar.
DESARROLLO
Veremos la configuracin del Servidor SAMBA,
exportar un directorio pblico exclusivo por SAMBA.
1) Entra a la computadora e inicia sesin con Linux.
2) Haz una copia de respaldo.
#cp /etc/[Link] /etc/[Link]
Editamos el archivo /etc/[Link] y nos colocamos en la
seccin [public]:
;[public]
; comment = Public Stuff
; path = /home/samba
; public = yes
; writable = yes
; printable = no
Removemos los comentarios y luego salvamos el
archivo y debe quedar como sigue:
[public]
comment = Public Stuff
path = /home/samba
public = yes
writable = yes
printable = no
Ahora que tenemos las modificaciones del archivo,
pero necesitamos que los servicios vean estos cambios
ya se leyendo los anteriores y los tiene cargados usados
por el puerto 139. Hay varias formas de que los
servicios lean la nueva configuracin.
i)Reiniciar la maquina (no recomendable, pero
inicialmente la usan mucho).
ii)Usando el comando kill
iii)Usando el script de los servicios para SAMBA.
3)Ahora usaremos el comando kill:
#kill -HUP `ps ax | grep smbd | awk {print $1}`
#kill -HUP `ps ax | grep nmbd | awk {print $1}`
Con ello haremos que el demonio vuelva a leer el
archivo /etc/[Link] y lee los cambios.
4) Usando el script de SAMBA ubicado en la ruta
/etc/rc.d/init.d para detener, reiniciando los servicios
SAMBA y lee las nuevas modificaciones del archivo
/etc/[Link].
#/etc/rc.d/init.d/smb stop
#/etc/rc.d/init.d/smb start
Exportar tu directorio de casa del servidor Linux y
puedes verlo en Windows 95.
5) Editar el archivo /etc/[Link] y localizar la seccin
[homes]
[homes]
comment = Home Directories
browseable = no
writable = yes
Con ello podemos darnos cuenta que exportaremos los
homes de los usuarios. Reiniciar los servicios si hubo
cambios:
#/etc/rc.d/init.d/smb stop
#/etc/rc.d/init.d/smb start
Modificar el archivo /etc/[Link] para exportar el
CDROM y puedan accesar las maquinas clientes
(Windows Linux).
6)Editar el archivo /etc/[Link] y agregar las nuevas
lneas para exportar el CDROM (formato de solo
lectura).
[cdrom]
comment = Espacio temporal dado al CDROM
path = /mnt/cdrom
read only = yes
public = yes
Despus de salvar los cambios, reiniciar los servicios y
adems de montar el CDROM en formato de lectura:
#mount -r -t iso9660 /dev/cdrom /mnt/cdrom
7) Exportando un directorio de 2 o mas usuarios. Aqui
veremos que hay una forma de agregar 2 mas
usuarios con el parametro "valid users", aqu veremos
un ejemplo que compartan el mismo directorio con 3
usuarios que esten registrados en el sistema (ejemplo:
falcon, kyo y mena).
8)Editemos el archivo /etc/[Link]
Agregemos estas lneas:
[compartir]
comment = Dir. compartido para el staff
path = /home/staff
valid users = falcon kyo mena
writable = yes
public = no
printable = no
create mask = 0765
salvamos y tendremos directorio comn para esta 3
personas. Reiniciamos servicios de SAMBA.
9)A veces podemos equivocarnos en escribir una mal
sintaxis en el archivo /etc/[Link], donde una forma
de verificarlo es editarlo y buscar error en el archivo
(algo tedioso), pero hay un comando que hace esto por
nosotros llamado [Link] el sig. comando:
#testparms
Observa y anota el resultado
10)Tambin necesitamos saber que usuarios y de
donde se estn conectando y tenemos el sig. comando:
#smbstatus (Usarlo cunado hay conexin con clientes)
Observa el resultado y anotalo
El archivo /etc/[Link] contiene macros para la
versatilidad y flexibilidad del mismo. SAMBA puede
sustituir macros de los parametros de servicios. Para
disear un macro es crear un simbolo del porcentaje
(%) como el primer caracter de alguno de los nombres
predefinidos. Mostraremos las macros:
MACRO
DESCRIPCIN
%S
Servicio comn o compartido si existe (si existe alguno)
%P
Directorio de root del servicio comn o compartido (si existe alguno)
%u
Nombre del usuario del servicio comn o compartido (si existe alguno)
%g
Grupo primario del nombre de %u
%U
Sesin del usuario de la respuesta, pero no necesariamente la primera respuesta
%G
Grupo primario del nombre del %U
%H
El directorio de casa del usuario obtenido por %u
%v
Numero de versin de SAMBA
%h
Nombre del host del servidor de SAMBA
%m
Nombre NetBIOS de la computadora cliente
%L
Nombre NetBIOS del servidor SAMBA
%M Nombre de Internet de la computadora cliente
%d
Proceso ID del servidor comn de procesos
%a
Arquitectura del servidor remoto
%I
Direccin IP de la computadora cliente
%T
Dato y tiempo comn
11) Ahora si tenemos una maquina con plataforma
Windows (3.11, 9x, NT) cliente, ademas del protocolo
NetBeui activado, usaremos las propiedades de
Windows para buscar el dominio correspondiente a la
maquina Linux y poder accesar a los recursos
compartidos (ya que veremos 4 servicios activados:
home directory, impresoras, cdrom y temporal).
Haz un resumen de que cliente utilizaste
(preferentemente Windows) y como haces la conexin
para iniciar sus recursos en el servidor SAMBA. Pero
hacemos una pregunta.
Si tengo una maquina Linux (cliente) puedo
conectarme al servidor SAMBA 8con Linux) va el
protocolo SAMBA?
La respuesta es s
Conexin del cliente (Linux) con el servidor va
SAMBA
Queremos ver la informacin que exportamos, en vez
de un cliente Windows ahora un cliente Linux, para
esto usaremos el comando smbclient que usa una breve
sintaxis:
#smbclient [opciones] servidor
Ejemplo:
#smbclient -L nombre_del_servidor
Anota el resultado
El comando smbclient tiene las sig. banderas:
-p port
Conecta al puerto especifico
-d debuglevel
El nivel de debughlevel y este tiene niveles del 0 al 5
-l logbasename
Nombrebase de los archivos logdebug
-n nebios name
Usa este nombre como mi nombre de Netbios
-P
Conecta el servicio como una impresora
-M host
Manda un mensaje winpopup al host
-L host
Obtiene una lista de objetos compartidos disponible en un host
-I dest IP
Usa esta IP para conectarse
-U username
Pone el nuevo username en la maquina destino
-W workgroup
Pone el nuevo workgroup en la maquina destino
-t codigo de terminal termina la E/S en codigo
-T <c | x>IXgbnA
Comando en lnea de tar
-D directory
Inicia desde el directorio
Queremos ver el directorio temporal que estoy
exportando (public) y es algo similar a la conexin tipo
Windows que utiliza el protocolo Netbios:
\\servidor\recurso_compartido
13) Esta conexon ser:
#smbclient \\\\servidor \\recurso_compartido
Se pone otro (\) en Linux ya que este simbolo es un
caracter especial y necesitamos que lo lea como un
caracter asi que tenemos que protegerlo (y para esto el
caracter especial es el "\").
#smbclient \\\\servidor\\public
Despues te preguntar el passwd y te dar un prompt
de este tipo:
smb\>
Podemos usar comandos mixtos tanto los de MS-DOS
(dir, copy, md, etc.) como Linux (ls, cp, mkdir, etc.),
tambin podemos hacer transferencia de archivos
como el ftp (mencionado en la introduccin) y otros
comandos mixtos, ya que nos podemos conectar bajo el
protocolo netbios a maquinas Windows y UNIX.
Otra utilera importante es la forma de montaje va
SAMBA con los directorios compartidos y la sintaxis es
la siguiente:
smbmount //servidor/servicio /punto de montaje
[opciones]
si usamos el comando smbmount -h veremos unas
opciones como:
-p puerto
Te conectas al puerto
-s nombre_del_servidor
Nombre del servidor NetBios
-c nombre_del_cliente
Nombre del cliente NetBios
-I nombre de la maquina
El hostname de la maquina
-U username
El nombre del usuario
-P password
Usa este password
-h
Imprime ayuda
#smbmount //cerbero/public /mnt -c cliente
Si no marca error por el password o porque no esta
compartido entonces veremos como resultado la
siguiente salida usando el comando mount:
/dev/hda3 on / type ext2 (rw,usrquota)
none on /proc type proc (rw)
/dev/hdb on /mnt/cdrom type iso9660 (ro)
//cerbero/public on /mnt type smbfs (0)
14)O tambin con el comando smbstatus:
#smbstatus
Anota el resultado
15) Para desmontar directorios va SAMBA se usar el
comando smbumount:
#smbumount /punto_de_montaje
CUESTIONARIO:
1.- Que es SAMBA?
2.- Que protocolo utiliza SAMBA para transferir los
archivos e impresoras?
3.- Cuales plataformas soportan el protocolo NetBIOS?
4.- Con ayuda de diagramas cliente-servidor cuales son
las opciones de transferir archivos y compartir
impresoras en plataforma Windows y Linux.
5.- Cuales y cuantos comandos son del paquete
SAMBA y cuales usamos?
6.- Un servidor SAMBA (Linux) puede ser tambin
cliente? Si no Porque?
7.-Que puerto maneja el protocolo NetBIOS?
8.- Si tenemos directorio compartido de una maquina
"x" a nuestro servidor "y" va NFS, podemos
exportarlo va SAMBA a la maquina "z"
------------ exportar -------------- exportar
Maquina -------------> Maquina -------------> Maquina
x ------ va NFS ------- y ------ va SAMBA ----- z
Se puede hacer esta transferencia Si no porque?
PRACTICA No.16
"RPM"
OBJETIVO: Aprender a instalar, actualizar,
modificar, borrar y verificar los paquetes que se
instalan en el sistema operativo Linux con el programa
RPM.
INTRODUCCIN:
Una de las grandes tareas en la administracin de
sistemas es la instalacin, actualizacin y borrado del
software, ya que necesita conocer donde se encuentran
los archivos, programas, paginas del manual y otras
documentaciones.
Ante esta situacin Linux tiene un programa que
facilitan las tareas anteriores y se llama RPM (Red hat
Package Manager manejador de paquetes de
RedHat). Este programa se usan en paquetes de
formato RPM. Un paquete rpm consiste de un
conjunto de archivos y describe la informacin del
nombre, versin y contenido. Los paquetes creados por
una funcin particular de Linux.
RPM tiene 11 modos de operacin. Donde las primeras
5 son para la administracin de los paquetes:
Instalar.- Instala un paquete con las opciones
obtenidas y la sintaxis es la siguiente:
rpm -i [opciones] [paquetes]
Actualizar.- Instala la actualizacin del paquete
con las opciones obtenidas usando la sig. sintaxis:
rpm -U [opciones] [paquetes]
Borrar.- Desinstala o borra el paquete con las
opciones obtenidas (borra todas las posibles
dependencias). Este modo tiene la sig. sintaxis:
rpm -e [opciones] [paquete]
Buscar.- Busca si el paquete esta instalado y donde
esta el paquete localizado. Tiene la sig. sintaxis:
rpm -q [opciones]
Verificar.- Compara el paquete instalado con el
original. La comparacin incluye tamao, un
checksum, permisos, tipo, dueo y grupo de cada
archivo. El modo de usarlo es:
rpm -V | --verify [opciones]
Los otros 6 modos son de distribucin de software para
crear o modificar:
Construir.- Crea el paquete RPM . Este es muy
usado por los desarrolladores de software. La
sintaxis es:
rpm -b0 [opciones] paquetes
Reconstruir la base de Datos.- Reconstruye la base
de datos con la configuracin de la informacin
del paquete. Se usa la sig. sintaxis de este modo:
rpm --rebuilddb
Checa firma.- Verifica este paquete e integra si el
original es correcto. Este modo checa la firma
digital de un paquete hecho.
Pone dueo y grupo.- Resetea el dueo y grupo
original de los archivos pertenecientes de un
paquete.
Fija permisos.- Resetea los permisos de los
archivos originales a los pertenecientes de un
paquete.
Muestra RC.- Muestra los valores del archivo
rpmrc. El archivo rpmrc es usado para poner
varios parmetros usados por RPM.
DESARROLLO
La Tabla de RPM de sus parmetros generales
(pueden usarse en algn modo):
Parmetro Funcin
-w Imprime la informacin debug .
--keep-temps No borra archivos temporales (/tmp/rpm-).
--quiet Imprime tan pequeo como es posible,
normalmente, despliega los mensajes de error.
--help Imprime la ayuda.
--version Imprime el no. de versin de RPM.
--rcfile <archivo> Especifica una posicin de archivo
diferente, estos como $HOME/rpmrc o /etc/rpmrc
--root Usa el directorio <dir> como el directorio de nivel
de top de todas las operaciones.
1)Instalacin y actualizacin.
Estos son algunas opciones
Parmetro Funcin
--force Forza el reemplazo de un paquete archivo.
-h, --hash Imprime una marca "#", cuando un paquete
se esta instalando.
--oldpackage Reemplaza un nuevo paquete con uno
viejo. Normalmente RPM impide si se pregunta si
escribe sobre un paquete nuevo.
--percent Imprime el porcentaje de terminacin durante
la instalacin.
--replacefile Forza previamente archivos instalados
desde otros paquetes para ser reemplazados.
--replacepkgs Forza previamente paquetes instalados a
ser reemplazados.
--nodeps Salta los paquetes dependientes checados antes
de la instalacin de paquete.
--noscripts Salta los scripts pre y post instalacin.
--excludedocs Salta la instalacin de documentacin.
--includedocs Instala la documentacin de archivos.
--test Una preforma de instalacin pero sin tal accin.
Esta funcin es buena porque checa si hay problemas.
-U --upgrade Instala el nuevo paquete sobre uno viejo.
Remueve el viejo paquete.
Ahora instalaremos el paquete gimp y sern 2 paquetes
(Para esto necesitamos estos paquetes si no los tienen
puedes encontrarlo va ftp en [Link]:/pub/linux/gimp/) :
#rpm -i -h -v --test [Link]
Mostrar lo que hizo (Esto fue un test)
#rpm -ihv [Link]
Anota el resultado
Ahora instalaremos el siguiente paquete:
#rpm -iv --percent [Link]
Anotar el resultado
Una de las tareas comunes es actualizar versiones de
paquetes aplicaciones mejorados, ya que con este
programa podemos hacer acciones:
Actualizaremos el paquete gimp-1.0.0-4
#rpm -Uvh --force [Link]
Muestra el resultado
2)Borrado.
La opcin de borrado, es una variante de la opcin de
instalacin con respecto a las opciones, ya que no
muestra el porcentaje de desinstalacin, pero busca
que archivos estn instalados.
Parmetro Funcin
--noscripts Salta los scripts de pre y post desinstalacin.
--nodeps Salta el chequeo dependientes antes de la
desinstalacin.
--test Ejecuta los pasos de desinstalacin sin borrar algo.
Desintalaremos el programa gimp-1.0.0-4:
#rpm -e gimp-1.0.0-4
Anota el resultado
3)Query
Usando la opcin "query" determinamos que paquetes
tenemos instalados en nuestro sistema, cuantos
paquetes e informacin de cada uno de ellos ya que si
tenemos uno no deseado lo desinstalaremos.
Parmetro Funcin
-a Busca todos los paquetes instalados.
--whatrequieres capabilty Paquetes colocados estos
requieren una capacidad particular.
--whatprovides virtual Paquetes colocados, estos
requieren una capacidad virtual.
-f <archivo> Localiza el paquete del cual proviene el
archivo preguntado.
-i Muestra informacin del paquete.
--provides Muestra de que paquete proviene.
-l Lista los archivos del paquetes.
-s Muestra el edo. los archivos en el paquete (implica -l),
el edo. de cada archivo en termino si es normal, no
instalado o reemplazado.
-d Lista nicamente los archivos de documentacin.
-c Lista nicamente los archivos de configuracin.
--scripts Lista los shells scripts para la desinstalacin e
instalacin.
--dump Lista los archivos con la siguiente informacin:
path size mtime md5sum mode owner group lsconfig
isdoc rdev symlink. Estos parmetros deben de ser
usado, con las banderas de -l, -c, -d.
Veremos todos los paquetes instalados en nuestro
sistema:
#rpm -q -a
Tambin deseamos ver los archivos de configuracin
del producto samba (por ejemplo).
#rpm -q -c samba
Anota el resultado
No conocemos de que paquete viene el archivo
/etc/securetty y quiero saberlo:
#rpm -qf /etc/securetty
Anota el resultado
Quiero conocer todos los archivos del paquete nfsserver
Da la sintaxis:
Anota el resultado
En unos ejemplos anteriores vimos como mostrar los
archivos de configuracin de SAMBA, pero necesito un
poco de informacin de los paquetes tecleamos:
#rpm -qi samba
Anota el resultado
4)Verificar
Esta opcin verifica checa los archivos que por
alguna razn fueron alterados, este tipo de verificacin
es con respecto al tamao, MD5sum (checksum),
permisos, dueo, grupo, etc.
Si modificamos el archivo /etc/exports podemos saberlo
si corremos la sig. opcin:
#rpm -V nfs-server
Veremos algo similar:
S.5....T c /etc/exports
Donde la parte importante es la "c" donde nos dice que
cambio y los otros caracteres que cambio, en este caso
fue el tamao, MD5 y la fecha respectivamente en el
/etc/exports.
Ahora para ver con mas detalles usaremos un archivo,
ser el /etc/aliases:
5)Primero checaremos que atributos tiene:
#ls -l /etc/aliases
#rpm -qf /etc/aliases
#rpm -V sendmail-8.x.y-z
6)Posteriormente le cambiamos al dueo "nobody" y
comparamos con el comando rpm:
#chown nobody /etc/aliases
#rpm -V sendmail-8.x.y-z
Viendo lo que pasa cambiaremos el dueo del archivo
/etc/aliases con los datos que escribiste anteriormente.
Ahora veremos que significa los caracteres de los
archivos cuando usamos rpm:
Carcter
Atributo
Descripcin
MD5 sum
Hace un checksum al archivo
Tamao del archivo
Cambio del archivo en bytes.
Liga
Liga simblica.
T.
Mtime
Modificacin de fecha al archivo
Dispositivo
Especificando que es un archivo de
dispositivo.
Usuario
El archivo cambio de dueo
Grupo
El archivo cambio de dueo..
Modo
Los permisos fueron modificados.
Estos son los 8 caracteres que aparecen antes que la "c"
(de cambio) y del "archivo" (Notese que archivo lo
denominados tal como archivo regular, directorio, liga,
etc.), pero si en vez que aparezcan estos caracteres que
muestran un punto (.) significan que no ha sido alterado
este atributo.
7)Para ver todos los archivos si fueron modificados o no
podemos teclear:
#rpm -Va > alterados
Y posteriormente el resultado lo veras en el archivo
alterados.
CUESTIONARIO
1.-Que significa RPM?
2.-Cuales son las funciones de RPM?
3.- Como puedo ver todos los archivos que utilizan cada
paquete?
4.-Con que opcin puedo ver un formato mas amplio los
archivos de un paquete?
5.- Que serie de comandos usara ademas de RPM para
ver exclusivamente todos los archivos alterados de los
paquetes. Nota: Recuerde que estos archivos tienen una
"c" entre los atributos y el nombre del archivo.
anterior
siguiente
CONCLUSIONES
PRACTICA No.17
"IP MASQUERADE"
OBJETIVO: La manera de construir una red con
direcciones IP reservadas conectadas al Internet
usando una maquina con Linux y que tenga 2
dispositivos de red (ya sea ethernet, dialup, etc.).
INTRODUCCIN:
En el mundo de las comunicaciones y de la
computacin tener varias plataformas (ejemplo :
Windows, Novell, Unix, Linux, OS/2, VAX, Amiga,
MacOs, etc.) en las computadoras y teniendo en cuenta
que dichos sistemas operativos son expuestos a los
ataques de intrusos y estos pueden usar recursos y/o
destruir la informacin de las mquinas atacadas. Por
otro lado, uno de los problemas que enfrenta
actualmente Internet es la escasez de direcciones IP ya
que da con da se conectan ms computadoras a la red
mundial para la conseguir informacin, comercio
electrnico, etc. por lo que una manera fcil de
resolver estos problemas es la implementacin de un IP
masquerade utilizando una computadora con sistema
operativo Linux, ya que con esto podemos conectar
redes LAN usando direccin IP reservadas sin clase y
las maquinas alojadas tengan un acceso invisible al
Internet y no estn expuestas contra los intrusos,
adems se ahorra un nmero considerable de
direcciones IP, ya que solamente se usar la IP oficial
la maquina que se utilizar como gateway.
DESARROLLO:
Nuestra computadora con Linux har su funcin de
gateway y su respectiva labor de filtrado de paquetes
provenientes de Internet. Para entender un poco de
donde se puede usar direcciones IP reservadas sin
clase, veremos como estn distribuidas estas mismas.
Cada host y enrutador de Internet tiene una direccin
IP, que codifica sin nmero de red y su nmero de
host. La combinacin es nica ; no hay 2 mquinas que
tengan la misma direccin IP. Todas las direcciones de
IP son de 32 bits de longitud y se usan en los campos de
direccin origen y de direccin destino. Donde hay 3
clases principales de direccin : A, B, C y D.
En una direccin de clase A, el primer byte representa
la porcin de red y los otros 3 identifican al host. Esto
significan que la red puede tener millones de hosts,
debido a que se dispone de 24 bits para identificar la
direccin del host. De hecho, la direccin [Link]
(conocido como el ruteo por default) y [Link] (la red
de retorno de lazo) tiene un especial significado y no
estn disponibles para su identificacin de la red. As
estas son nicamente de la direccin 126 que esta
disponible a la clase A.
La direccin de clase B tiene 16 bits para la red y otros
16 para el host. El rango de la clase B va de la 128 a la
191, cada red contiene arriba de 32766 posibles
interfases.
La clase C tiene 24 bits para la red y 8 para el host, la
cual tiene un rango de 192 a 254. Estas as son
4,194,303 disponibles nmeros de red de la clase C,
cada red contiene 254 interfases.
Tambin existen unas direcciones especiales que estn
reservadas para la "no conexin" en la Internet, esta
direcciones son :
1. Una red Clase A :
[Link]
2. 16 redes Clase B :
[Link] - [Link]
3. 256 redes Clase C :
[Link] - [Link]
x.x.x.0 Que identifica a toda la red.
x.x.x.255 Identifica a todos los host de la red
especificada.
Todas las direcciones de difusin de host para
todas las redes actuales.
Tambin existe la mscara de red, con ellas se
puede hacer saber si es una red de tipo A, B, C o si
queremos que una clase tipo C se divida en
subredes, con el movimiento de bits en la mscara
de red podemos dividirlo.
La mscara de red standard es todos los bits de
red en una direccin puesta a 1 y todos los bits del
host puesta a 0. Estos son los standard de las
mscara de red de las 3 clases :
Clase A mscara de red : [Link]
Clase B mscara de red : [Link]
Clase C mscara de red : [Link]
Clase D mscara de red : [Link]
Ahora veremos la aplicacin de las subredes con
movimiento de los bits en la mscara de red y se
tiene un ejemplo :
No. de Subred
2
4
8
16
32
64
No. de host en la red
126
Mscara de red
[Link]
62
30
14
6
2
[Link]
[Link]
[Link]
[Link]
[Link]
Otra manera de ver la divisin de la subred
es las siguiente :
Mscara de Red subred Red Broadcast min. IP Mx. IP Host Total Host
128
2
0
127
1
126
126
128
192
224
255
129
254
126
63
62
62
64
127
65
126
62
128
191
129
190
62
192
255
193
254
62
31
30
30
32
63
33
62
30
64
95
65
94
30
96
127
97
126
30
128
159
129
158
30
160
191
161
190
30
192
223
193
222
30
224
255
225
254
30
252
248
240
Ahora daremos un ejemplo de la forma de
conexin que se pretende hacer. Aqu se abarca
que se tiene una red interna con una variedad de
sistemas operativos y que todas esas
computadoras quieren usar Navegadores WEB,
ftp, telnet, Real Audio, IRC, etc.
Como se puede observar tenemos una red interna
y que puede tener cualquier sistema operativo
(Windows9x/NT, Windows 3.11, Novell, Unix,
Macintosh MacTCP, Linux, etc.) donde se ve que
se usa una red clase tipo C ([Link]) y el host
con Linux tiene una direccin con la direccin
[Link] y tiene otra direccin que si est
reconocida por la red mundial, adems est
maquina tiene un sistema masq-gateway que
convierte toda estas conexiones y tiene la
capacidad de pasar la informacin para las
maquinas de la Internet con la red interna y la
distribucin de la informacin. Como se puede
observar el kernel de Linux tiene un mecanismo
del uso de un firewall : masquerade de paquetes
IP. As, la direccin IP fuente es reemplazada por
la direccin IP local y el puerto fuente es
reemplazado por un puerto local. Comenzando
una administracin es guardada de sesiones
enmascaradas (masqueraded), despus los
paquetes que regresan de los puertos ser
automticamente sern "desenmascarados" y
mandados al sistema que originalmente hizo la
peticin :
Una forma ms clara es usando una tabla con los
sig. valores :
Queremos hacer una conexin telnet ( puerto 23),
de la maquina [Link] ( maquina Interna ), a
la maquina [Link] (maquina Externa),
pasando por un sistema Linux enmascarado
(masquerading) con IP [Link]
Fuente
paquete original
enmascarar
paquete retornado
desenmascarar
Direccin IP
[Link]
[Link]
[Link]
[Link]
Destino
puerto
1027
60005
23
23
Direccin IP
[Link]
[Link]
[Link]
[Link]
Aqu hay un detalle muy importante, como est
haciendo el intercambio de paquetes una maquina
que tiene como direccin IP una de las reservadas
para no tener conexin y se la pueda mandar a
otra que si tiene conexin al exterior. Esto se ve
muy simple si recordamos que en una maquina
con Linux se tienen que poner 2 tarjeta de red 2
conexiones con modem o la combinacin de
ambos, una de esta conexin estar con la red
interna y la otra con la externa, mientras que el
kernel de Linux tiene programas que hace el
intercambio de paquetes entre las 2 tarjetas y todo
es transparente, claro que se tienen que hacer una
serie de pasos para obtener la configuracin
deseada, pero con ello logramos 3 cosas muy
importantes :
I. Proteger de Intrusos a la red interna.
[Link] direcciones IP y distribuirlas a otras
redes de mayor importancia implementar otros
masquerade.
Puerto
23
23
60005
1027
III. Administrar y monitorear las conexiones de
los usuarios, ya que con esto saben de que
maquina se conecta, que protocolo y cuanto dura
su conexin.
1)Configurar las 2 tarjetas de red, o conexin por
modem (en este caso manejaremos 2 tarjetas, para
la congruencia del texto).
2)Recompilar el kernel con las opciones de soporte
para:
#make menuconfig
*Buscar las 2 tarjetas correspondientes para tener
sus drivers.
*Prompt for development and/or incomplete
code/drivers
CONFIG_EXPERIMENTAL
-this will allow you select experimental ip_masq
code compiled into the kernel.
*Enable loadable module support
CONFIG_MODULES
-allows you to load modules
*Networking support
CONFIG_NET
*Network firewalls
CONFIG_NET
*TCP/IP networking
CONFIG_INET
*IP: forwarding/gatewaying
CONFIG_IP_FORWARD
*IP: firewalling
CONFIG_IP_FIREWALL
*IP: masqueradinf (EXPERIMENTAL)
CONFIG_IP_MASQUERADE
-although it is experimental, it is a "MUST"
*IP: always defragment
CONFIG_IP_ALWAYS_DEFRAG
-highly recommended
*Dummy net driver support
CONFIG_DUMMY
-recommended
Despus de compilar el kernel, tambin
compilaremos e instalaremos los mdulos:
#make modules ; make modules_install
Mientras compila el kernel y mdulos podemos
configurar la nueva interfaz, copiando el
archivo /etc/sysconfig/network-scripts/ifcfg-eth0:
#cp /etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth1
Ahora lo modificaremos para soportar la red
interna, quedando de esta manera:
#vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
IPADDR=[Link]
NETWORK=[Link]
NETMASK=[Link]
BROADCAST=[Link]
ONBOOT=yes
BOOTPROTO=none
Tambin cargaremos los mdulos cada vez que
inicie la maquina los paquetes del conocido ipv4
(ejemplos : ip_masq_ftp, ip_masq_raudio,
ip_masq_irc, etc.). Para que podamos usar esos
servicios en forma transparente, podemos poner
estas lneas en el archivo /etc/rc.d/[Link] y se
ejecutar cada vez que se inicie la maquina:
#vi /etc/rc.d/[Link]
/sbin/depmod -a
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_raudio
/sbin/modprobe ip_masq_irc
Salvamos el archivo.
Acabando de recompilar el kernel, reiniciar la
computadora, se tendr que reconocer las 2
tarjetas, los mdulos y posteriormente se dir a
una de ellas que va estar en una red interna y la
otra a la red mundial.
Nota: Para ver si reconoce las tarjetas use el
comando dmesg, para la configuracin de las
tarjetas de red use ifconfig, para los mdulos
lsmod o ver el archivo /var/log/messages
#dmesg
.
.
.
.
PPP Dynamic channel allocation code copyright 1995 Caldera,
[Link] line discipline registered.
tulip.c:v0.88 4/7/98 becker@[Link]
eth0: Digital DS21142/3 Tulip at 0x6100, 00 48 54 00 24 61, IRQ 11.
eth0: EEPROM default media type Autosense.
eth0: Index #0 - Media 10baseT (#0) described by a 21142 Serial
PHY (2) block.
eth0: Index #1 - Media 10baseT-FD (#4) described by a 21142
Serial PHY (2) block.
eth0: Index #2 - Media 100baseTx (#3) described by a 21143 SYM
PHY (4) block.
eth0: Index #3 - Media 100baseTx-FD (#5) described by a 21143
SYM PHY (4) block.
eth1: 3c509 at 0x300 tag 1, BNC port, address 00 a0 24 2f 30 69,
IRQ 10
3c509.c:1.07 6/15/95 becker@[Link]
#ifconfig
lo Link encap:Local Loopback
inet addr:[Link] Bcast:[Link] Mask:[Link]
UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric: 1
RX packets:307 errors:0 dropped:0 overruns:0
TX packets:7 errors:0 dropped:0 overruns:0
eth0 Link encap:Ethernet Hwaddr [Link]
inet addr:[Link] Bcast:[Link] Mask:[Link]
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric: 1
RX packets:1546 errors:2 dropped:0 overruns:0
TX packets:2347 errors:0 dropped:0 overruns:0
Interrupt:11 Base Address: 0x6100
eth1 Link encap:Ethernet Hwaddr [Link]
inet addr:[Link] Bcast:[Link] Mask:[Link]
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric: 1
RX packets:2034 errors:2 dropped:0 overruns:0
TX packets:12247 errors:0 dropped:0 overruns:0
Interrupt:10 Base Address:0x300
#lsmod
Module Pages Used by
ip_masq_raudio 1 0
ip_masq_ftp 1 0
ip_masq_irc 1 0
sb 6 0
uart401 2 [sb] 0
sound 16 [sb uart401] 0
Ahora se har la configuracin de las maquinas
dentro de la red virtual de los siguientes sistemas
operativos :
Windows9x.- Despus de instalar la tarjeta y que
la reconociera, ir al "panel de control/red",
agregando el "protocolo de TCP/IP".
En "TCP/IP propiedades", colocar en "IP
Address" y poner la direccin IP del rango
192.168.2.x (1<x<255) y la mscara de subred de
[Link]. Agregando [Link] como tu
gateway en la opcin de "gateway".
Despus se agregar en la "Configuracin del
DNS/DNS Server search order" poner un DNS
conocido.
Acabando de configurar estos cambios reiniciar la
maquina correspondiente y podemos checar si tu
maquina ve al servidor Linux, usando el comando
ping en la parte de "Ejecutar" pondremos : ping
[Link]. Si responde nuestra maquina
llevamos una gran parte de la configuracin.
Windows for Workgroup 3.11.- Aqu se hay 2
formas de configurar:
o
Instalar el paquete de TCP/IP 32b,
posteriormente en "Main/Windows
setup/Network setup", dar un click en
"Drivers". Poner la direccin IP 192.168.2.x
(1<x<255), tambin la sured de [Link]
y default gateway [Link].
Vemos que los drivers de la tarjetas y
emuladores estn configurados (winpkt),
posteriormente en el [Link] se pondr
la sintaxis set ip= 192.168.2.x. (1<x<255)
Ahora en el programa Trumpet Winsock en
el setup se pondrn los siguientes valores :
IP Address 192.168.2.x (1<x<255)
Netmask [Link]
Domain Name Server
Default Gateway [Link]
Reinicie el Trumpet y estar los nuevos valores de
configuracin.
Windows NT 4.0.- Nos vamos al panel de control,
seleccionamos red, posteriormente vemos el
modulo de protocolos y seleccionamos la
configuracin de TCP/IP e introducimos los
valores :
direccin IP 192.168.2.x (1<x<255)
netmask [Link].
Gateway [Link]
Configuracin de Sistemas UNIX.- Si no tienes
una tarjeta de red, tienes que configurarla
recompilando el kernel, posteriormente instalas
las utileras de TCP/IP. direccin IP 192.168.2.x
(1<x<255), Gateway [Link] y netsmak
[Link] como tambin el BROADCAST
[Link]. Un ejemplo de Linux redhat est en
el archivo /etc/sysconfig/network-scripts/ifcfg-eth0.
Agregas el DNS en el archivo /etc/[Link],
actualiza el archivo /etc/networks, restaura tus
servicios o simplemente restaura tu computadora.
Usa el comando ping : ping [Link] y observa
si tu gateway est funcionando.
Nuestra maquina Linux usar el programa de
ruteo entre las 2 tarjetas para que haga una
funcin de gateway, llamado este programa en
Linux ipfwadm (ip-firewall-administrator).
Las polticas de IP Forwarding de la opcin
ipfwadm y teniendo en orden tanto el kernel, las
tarjetas y mdulos. Ahora necesitamos el gateway
real, DNS, para la maquina Linux.
Ahora, las opciones de ipfwadm para mandar los
paquetes apropiados en la maquina gateway :
#ipfwadm -F -p deny
#ipfwadm -F -a m -S [Link]/x -D [Link]/0
Donde x es uno de los siguientes nmeros de
acuerdo a la clase de subred y la direccin de la
red es [Link] :
Mscara de red
[Link]
[Link]
[Link]
[Link]
x
8
16
24
32
Subred
Clase Tipo A
Clase Tipo B
Clase Tipo C
Punto a Punto
Un ejemplo a esta aplicacin ser (el que
usaremos para est practica):
#ipfwadm -F -p deny
#ipfwadm -F -a m -S [Link]/24 -D [Link]/0
En el ejemplo se observa que rutea la red tipo C
([Link]) y no le importa a que puerto se
conecte a la salida de la tarjeta de red ([Link]),
para que no estemos poniendo estos comandos
cada vez que inicie la maquina, podemos ponerlo
en un archivo (ejemplo: /etc/rc.d/[Link]) para
que se inicien.
Una de las virtudes de este comando ipfwadm es la
posibilidad de rutear maquinas punto a punto (de
manera individual). En el sig. ejemplo solamente
tendr acceso a Internet las maquinas con IP
[Link] y [Link] :
#ipfwadm -F -p deny
#ipfwadm -F -a m -S [Link]/32 -D [Link]/0
#ipfwadm -F -a m -S [Link]/32 -D [Link]/0
Para observar las diferentes conexiones de las
maquinas clientes se puede utilizar la opcin de :
#ipfwadm -M -l
Mostrando algo semejante :
IP masquerading entries
prot expire source destination ports
tcp 12 :25.1 [Link] [Link] 1017 (80) ->http
tcp 14 :52.12 [Link] [Link] 1345 (6023)
->telnet
Donde est informacin se encuentra en un
pseudo-archivo que es ledo y se llama
/proc/net/ip_masquerade y que se puede leer por
la conversin del ipfwadm. Con esto podemos
conectar una red y que pueda utilizar Internet con
una direccin IP, funcionando como gateway el
host Linux.
CONCLUSIONES
anterior
pagina inicial
a en modo monousuario.