Administración de Sistemas Operativos
Administración de Sistemas Operativos
Marzo 2018
0
PLAN DE CONTENIDO DEL CURSO .................................................................................... 6
MODULO I. Introducción a la administración de los Sistemas operativos. .............. 9
1. Introducción a la administración de los sistemas operativos. ........................ 9
1.1. Concepto .................................................................................................................... 9
1.2. Etapas o Aspectos en la administración de un sistema operativo
(administración de un sistema) ........................................................................................ 9
1.2.1 Desafíos del administrador de sistemas: ............................................................ 9
1.2.2 Principios de la administración de sistemas .......................................................... 9
1.2.4 Gestión de usuarios .................................................................................................... 10
1.2.5 Gestión de red ............................................................................................................... 10
1.2.6 Configuración y mantenimiento ............................................................................... 10
1.2.7 Gestión de cambios ..................................................................................................... 10
1.2.8 Tolerancia a fallos y alta disponibilidad................................................................. 10
1.2.9 Seguridad: Objetivos ................................................................................................... 11
1.2.10 Seguridad: aspectos a estudiar ............................................................................. 11
1.3. El administrador del sistema es responsable de lo siguiente: .................. 11
1.3.1 Poner en marcha nuevos servidores: ................................................................. 11
1.3.2 Realizar backups: ..................................................................................................... 11
1.3.3 Cambiar la configuración hardware de los equipos: ...................................... 11
1.3.4 Instalar nuevo software y actualizar el existente: ........................................... 12
1.3.5 Gestión de cuentas de usuarios: ......................................................................... 12
1.3.6 Monitorizar el rendimiento del sistema: ............................................................. 12
1.3.7 Seguridad: .................................................................................................................. 12
1.3.8 Fallos y caídas del sistema: .................................................................................. 12
1.3.9 Atención usuarios:................................................................................................... 13
1.3.10 Reporte a dirección/organización: .................................................................... 13
1.3.11 Documentación del sistema: ............................................................................... 13
[Link] CONOCIMIENTOS ESENCIALES Y HABILIDADES DE UN
ADMINISTRADOR DE SERVIDORES ............................................................................. 13
[Link] REQUISITOS GENERALES ................................................................................. 14
1 . 4 . 1. 3 D E B E R E S D E U N AD M I N I S TR AD O R D E L S I S TE M A ............... 14
[Link] 12 RAZONES POR LAS QUE UN ADMINISTRADOR DE SISTEMAS
(SYSADMIN) PEREZOSO, ES EL MEJOR ADMINISTRADOR DE SISTEMAS...... 14
1 . 4 . 1. 5 M AL O S H ÁB I TO S D E U N AD M I N I S TR AD O R D E S I S TE M AS .
................................................................................................................................................. 17
1 . 4 . 1. 6 G E S TI Ó N DE P R O Y E C TO S Y SU P E R V I S I Ó N .............................. 19
1
1 . 4 . 1. 7 F U N C I O N E S D E G E S TI Ó N ...................................................................... 19
2. AD M I N I S TR AC I Ó N D E U S U AR I O S Y G R U P O S ................................ 20
TI P O S D E U S U AR I O S ................................................................................................. 20
/ E TC / P AS S W D ................................................................................................................ 21
P W C O N V Y PW U N C O N V ........................................................................................... 24
2 . 1 C R E AR , AÑ AD I R , M O DI F I C AR , E L I M I N AR U S U AR I O S ................. 25
2 . 2 C AM B I AR C O N TR AS E Ñ AS C O N P AS S W D ............................................ 28
O TR O S E N F O Q U E S P AR A C R E AC I Ó N , M O DI F I C AC I Ó N Y
E L I M I N AC I Ó N D E U S U AR I O S . .............................................................................. 31
2.3 Creación de grupos..................................................................................................... 32
Modificación de grupos .................................................................................................... 32
2.4 Asignación de permisos ............................................................................................ 33
2.5 Compartiendo archivos.............................................................................................. 38
Cambiar Grupo Propietario.............................................................................................. 38
Módulo II. Administración de Recursos, Monitorización y Mantenimiento ............ 40
3. Administración de recursos del sistema ............................................................. 40
3.1 Rendimiento del Sistema y control de la CPU ..................................................... 40
3.1.1. El comando top Linux es un programa para la supervisión del
rendimiento .......................................................................................................................... 40
3.1.2. Vmstat - estadísticas de la memoria virtual ..................................................... 41
3.1.3. lsof - Lista de archivos abiertos .......................................................................... 41
4. tcpdump - Packet Analyzer ...................................................................................... 42
5. Netstat - Estadísticas de la red ............................................................................... 42
6. Iotop - Monitor Linux disco I / O ............................................................................. 43
7. Iostat - Estadísticas Entrada / Salida .................................................................... 43
8. IPTraf - Monitoreo en tiempo real LAN IP ............................................................ 44
9. psacct or acct - Monitor de actividad del usuario ............................................. 45
10. monit - Proceso de Linux y Seguimiento de Servicios ................................ 45
11. NetHogs - Monitor por proceso Ancho de banda de red ............................. 45
12. iftop - Control de ancho de banda de red ........................................................ 46
3.2 Administración de la memoria ................................................................................. 47
COMANDOS PARA ADMINISTRAR LA MEMORIA EN LINUX. ................................ 49
3.3 Servicios de la impresión .......................................................................................... 56
3.1.1 Instalación y administración ................................................................................. 57
Instalación de CUPS:......................................................................................................... 57
Configuración de CUPS: .................................................................................................. 58
2
SERVIDOR DE IMPRESIÓN UTILIZANDO SAMBA: ................................................... 59
3.4 Administración de terminales .................................................................................. 64
Servidor de terminales con SSH. ................................................................................... 67
3.5 Administración de módems y otros dispositivos ............................................... 73
Hablando con el módem................................................................................................... 76
Notas sobre módems internos ....................................................................................... 76
Configuración del módem para llamar ......................................................................... 77
Control de flujo por hardware ......................................................................................... 78
Configuración del módem para llamar y recibir llamadas ...................................... 78
Configurando uugetty ....................................................................................................... 78
uugety a medida ................................................................................................................. 80
4. Monitorización y mantenimiento ............................................................................ 81
4.1 Gestión de almacenamiento en disco............................................................... 81
4.1.1 Discos, volúmenes, particiones ........................................................................... 81
Comandos Linux para gestión de Disco Duro y particiones.................................. 81
Fdisk ...................................................................................................................................... 82
Ver todas las particiones.................................................................................................. 83
Ver un disco específico .................................................................................................... 83
Ver todos los comandos disponibles ........................................................................... 83
Mostrar toda la tabla de particiones del Sistema ...................................................... 83
Borrar una partición .......................................................................................................... 83
Crear una partición nueva................................................................................................ 84
Formatear una partición ................................................................................................... 84
Comprobar el tamaño de una partición........................................................................ 85
Corregir la tabla de particiones ...................................................................................... 85
4.1.2 Compresión de archivos ........................................................................................ 85
Ficheros [Link] .................................................................................................................... 87
Ficheros tar.bz2 .................................................................................................................. 87
Ficheros [Link] .................................................................................................................... 88
Ficheros tar.bz2 .................................................................................................................. 88
Ficheros zip ......................................................................................................................... 88
Ficheros rar.......................................................................................................................... 89
4.2 Gestión de las comunicaciones en la red ............................................................. 89
Estructura de la Gestión de Red .................................................................................... 89
Tipos de información ........................................................................................................ 89
Necesidad ............................................................................................................................. 89
3
Elementos de la Gestión de Redes................................................................................ 90
Áreas funcionales .............................................................................................................. 90
4.2.1 Tarjetas ....................................................................................................................... 90
ifconfig .................................................................................................................................. 90
netstat.................................................................................................................................... 92
nslookup ............................................................................................................................... 97
dig ........................................................................................................................................... 98
4.2.2 Protocolos ................................................................................................................ 100
Servicio DNS ...................................................................................................................... 100
Servicio NFS ...................................................................................................................... 100
Servicio NIS ....................................................................................................................... 101
Servicio ssh ....................................................................................................................... 102
4.3 Técnicas y herramientas para gestión de redes .......................................... 104
4.3.1 Consola remota, monitoreo, órdenes del servidor.................................. 107
4.3.2 Respaldo y recuperación de datos .............................................................. 110
4.1 Sincronización........................................................................................................... 111
4.2 Copias ........................................................................................................................... 112
4.3 Bases de datos ........................................................................................................... 112
4.4 Snapshots.................................................................................................................... 112
4.5 Continuous Data Protection ................................................................................... 113
5. A tener en cuenta ......................................................................................................... 113
6. Recuperación ............................................................................................................ 113
7. Conclusiones ................................................................................................................ 114
5. Software de aplicación............................................................................................ 114
5.1 Instalación de software de aplicación ............................................................ 114
5.2 Cómo instalar aplicaciones Windows en Linux usando Wine ................. 118
5.3 5.3 Instalar aplicaciones mediante apt o apt-get. ........................................ 122
5.4 Añadir repositorios .............................................................................................. 123
5.5 Diferencia entre Apt y Apt get en Linux (Ubuntu)........................................ 123
5.5 Otros detalles importantes sobre apt-get. .......................................................... 132
Módulo III. Administración de archivos y respaldos .................................................. 134
6. Introducción................................................................................................................... 134
6.1 Sistemas de gestión de archivos ......................................................................... 134
6.2 Organización y acceso archivos .......................................................................... 137
6.3 Administración de archivos en ambientes de clusters y nubes. ................ 139
7. Archivos y respaldos .................................................................................................. 144
4
7.1 Riesgo en los cuales se encuentran inmersos los Sistemas de Información
144
7.2 Clasificación de respaldos .................................................................................... 149
7.3 Dispositivos de almacenamiento ......................................................................... 152
7.4 Tecnologías: óptica y magnética u otras de almacenamiento ..................... 153
5
Índice de figuras
1.1 Concepto
6
2.5 Compartiendo archivos
Módulo II.
Administración de Recursos, Monitorización y Mantenimiento
4. Monitorización y mantenimiento
4.2.1 Tarjetas
4.2.2 Protocolos
5. Software de aplicación
Módulo III
6. Introducción
6.1 Archivos
6.2 Sistemas de gestión de archivos
6. 3 Organización y acceso archivos
7
6.4 Administración de archivos en ambientes de clusters y nubes.
7. Archivos y respaldos
8
MODULO I. Introducción a la administración de los Sistemas operativos.
9
1.2.3 Gestión de equipos
Uso de sistemas de directorio para tener los mismos usuarios en todos los
equipos. Se debe controlar el uso de usuarios locales y si se permite o no a los
usuarios gestionar sus propios equipos.
Tareas del administrador:
altas, bajas y modificaciones de la información de los usuarios; control
de permisos y niveles de acceso
soporte técnico: formación, documentación y gestión de incidencias.
10
1.2.9 Seguridad: Objetivos
1. Seguridad física.
2. Autentificaron: Criptografía y PKI.
3. Seguridad de los datos: backups.
4. Seguridad a nivel de red: firewalls.
5. Seguridad a nivel de transporte: SSH, TLS
6. Seguridad a nivel de aplicación: auditoría.
7. Monitorización : IDS de host y de red.
Con la compra de una nuevo equipo habrá que instalar y configurar todo el sistema
operativo y demás paquetes de software que sean necesarios según la funcionalidad
que vaya a tener ese equipo, configurarlo en la red y resto de tareas que veremos
también a través de los siguientes puntos. No es una tarea cotidiana, pero si es normal
mantener un entorno de prueba y analizar su funcionamiento antes de integrarlo en
producción.
Empezamos por lo que se suele dejar para lo último. Es una de las tareas primordiales
y quizás menos querida por parte de los administradores de sistemas, por lo que tiene
de mónotona y repetitiva, aunque pueda automatizarse en gran medida. Aquí la labor
del administrador es fundamental, primero diseñando una política de backups con
frecuencias y niveles (totales, parciales, incrementales, por sistemas, por bbdd, ficheros
usuarios…) que salvaguarde adecuadamente la información ante posibles fallos.
Además programar una ejecución automatizada, supervisión de los medios sobre los
que se vuelca la información, asegurar que haya copias a buen recaudo en otras
ubicaciones, etc… Dependiendo la complejidad del sistema que administra, como ya
dijimos, puede ser imprescindible tener una política de recovery bien diseñada ante
fallos graves.
11
configuración, hallar posibles incompatibilidades con determinadas versiones de
software que tenga que ser actualizado o la necesidad de buscar controladores
específicos para ese dispositivo. Con la virtualización, las ‘reglas de juego’ se pueden
complicar para que ese hardware se instale y comparta correctamente y con seguridad.
Otra tarea que requiere dedicación constante, sobre todo en lo relativo a mantener las
versiones adecuadas de software y aplicar los distintos ‘parches’ de seguridad que
protejan a los sistemas de vulnerabilidades que se vayan identificando. Para software
nuevo, lo normal es probarlos en esos entornos de prueba que comentábamos en el
primer punto antes de que entren en producción.
1.3.5 Gestión de cuentas de usuarios:
12
1.3.9 Atención usuarios:
Es algo que no se suele tener en cuenta, pero como decíamos en el anterior punto, el
administrador ha de saber moverse entre sus colegas y ‘vender’ su trabajo. Como los
porteros de fútbol, los fallos se notan más que en el resto porque una caída de un
servidor crítico puede afectar a toda la organización o una incidencia resuelta tarde
puede perjudicar mucho a un usuario. El administrador (si se han hecho razonablemente
bien las cosas) debe transmitir la visión global y frente al 1% de fallos, resaltar el 99%
de normalidad o ante un retraso considerable en resolver un problema puntual, mostrar
el volumen total atendido y la media en la respuesta. En resumen, saber fijar y medir los
indicadores adecuados de su desempeño y cómo transmitir esos resultados a la
organización.
Para finalizar, lo que siempre se deja para lo último y rara vez se hace. Uno no está solo
y sobre todo, debe poder irse de vacaciones. Si la configuración del sistema solo está
en nuestra cabeza, dado que no se ha descubierto ningún Administrador que pueda
separarse de ella y seguir llevando una vida normal, es conveniente que documentemos
todas las particularidades de nuestro sistema, procedimientos, políticas o rutinas que se
siguen, información (incluyendo passwords, ¡lógicamente manteniendo la
confidencialidad!) y cualquier otro aspecto que ayude a un compañero o sustituto a
llevar a cabo nuestras tareas. Hacerse el imprescindible porque nadie más sepa lo que
hacemos puede ser una mala política.
13
Muchas tareas para la Administración de los Servidores y Sistemas se pueden
automatizar usando Perl o Scripts de shell.
1 . 4 . 1 . 3 D E B E R E S D E U N AD M IN I S T R AD O R D E L S I S T E M A
Alguien puede pensar, ¡vaya cantidad de trabajo! Pues sí, la labor de un Administrador de
Servidores no está falta de tareas, muchas críticas e indispensables como hemos visto.
Aunque la creciente popularidad de los sistemas en la nube (Cloud Computing) está
cambiando algo el escenario, ¡la parte positiva es que es una figura muy necesaria de la que
no se puede prescindir!
14
La razón principal por la que los Administradores de sistemas perezosos son los mejores es
a causa de su actitud. Ellos ven las máquinas un poco diferente a la forma como las ven en
otros departamentos de TI. Hay una diferencia notable entre los administradores de sistemas
perezosos y otros admininistradores (ejemplo: los desarrolladores). Los desarrolladores
piensan que están para servir a las máquinas mediante el desarrollo de código. No hay nada
de malo en este enfoque, ya que los desarrolladores tienen mucha diversión allí; Sin
embargo, los administradores de sistemas hacen todo lo contrario; ellos piensan que las
máquinas están allí simplemente para servirles. Todo lo que tienes que hacer es alimentar
la máquina y mantenerla feliz, dejando que la máquina haga todo el trabajo pesado, mientras
pueda relajarse y simplemente dedicar su tiempo a ser perezoso. El primer paso para ser
un administrador de sistemas perezoso es un ligero cambio en la actitud, y dejar que la
máquina sepa que usted es quien manda.
Ser un sysadmin perezoso no significa ser holgazán, debe esforzarse inicialmente para que
todo fluya con soltura, debe escribir guiones de programación para trabajos repetitivos; en
este aspecto ser perezoso es ser inteligente. Un administrador de sistemas inteligentes es
un maestro en todos los lenguajes de scripting (bash, awk, sed, egrep, etc.) y cada vez que
se vea obligado a hacer algún trabajo, y si hay una remota posibilidad de que ese mismo
trabajo se repita en el futuro, entonces escribe un guión que repita este trabajo. De esta
manera, en el futuro cuando se le pida hacer el mismo trabajo, no tiene que pensar, sino
que simplemente tiene que ejecutar el script, y volver a ser perezoso.
Copia de seguridad de todo. Siendo sysadmins perezosos, siempre deben tener una copia
de seguridad. Un administrador de sistemas perezoso sabe que debe realizar un poco de
trabajo en la creación de procesos de copia de seguridad y escribir secuencias de comandos
de copia de seguridad para todos los sistemas y aplicaciones críticas. Cuando el espacio en
disco no es un problema, él programa la tarea de respaldo para cada aplicación, incluso
para aquellas aplicaciones que no son críticos; de esta manera, cuando algo va mal, él no
tiene ponerse a correr a recuperar cosas y sólo hay que restaurar desde la copia de
seguridad, y volver a la lectura de comics que estaba haciendo antes. Esta es también la
regla #1 en las tres reglas del administrador de sistemas que JAMÁS se debe romper.
A un Administrador de sistemas no le debería gustar correr cuando las cosas van mal (y
ciertamente no debería habituarse a ello). Cuando las cosas están funcionando sin
problemas, se debe tomar algo de tiempo para crear un DRP (Disaster-Recovery Plan); así,
cuando las cosas vayan demasiado mal, pueden seguir el plan de recuperación rápida y que
las cosas vuelvan a la normalidad, y volver a ser perezoso de nuevo!.
15
podrá trabajar en la reparación del componente roto mucho después de regresar temprano
en la mañana.
Un sysadmin perezoso nunca permite que sus sistemas funcionen a plena capacidad.
Siempre hay que disponer de espacio suficiente para el crecimiento inesperado; debe
asegurarse que los sistemas tiene un montón de CPU, RAM y disco duro disponible; así,
cuando su empresa decide volcar toneladas de información o genera inesperadamente
muchos archivos, así no sufrirá insomnio pensando si la plataforma colapsará al quedarse
sin recursos.
Ser un sysadmin perezoso no quiere decir que sólo se sientan y no hacen nada todo el
tiempo. Siendo perezosos, se dedican a adelantarse a los hechos y ser proactivo. Los
sysadmins perezosos odian ser reactivos. Se anticipan a los problemas y al crecimiento
(razones 5 y 6). Cuando tienen algún tiempo libre, se dedican a investigar cómo evitar
nuevos problemas, escribir nuevos scripts y modificar la plataforma para durante los
problemas seguir siendo perezoso.
Combinaciones de teclado, un sysadmin perezoso conoce todos los atajos de teclado para
todas sus aplicaciones favoritas. Si va a pasar mucho tiempo todos los días en una
aplicación, lo primero que hace es dominar las comnbinaciones de teclas para esa
aplicación. por eso los sysadmins perezosos aprenden a usar editores proactivos como
emacs o vim, ya que a él le gusta gastar menos tiempo en la solicitud de la información a su
máquina, para volver a ser perezoso.
A un sysadmin perezoso no le gusta cometer el mismo error dos veces. Él odia trabajar en
problemas inesperados; pero, cuando surge algún problema inesperado, trabaja en su
corrección y piensa acerca de por qué ocurrió, y de inmediato pone las cosas necesarias en
su lugar para que el mismo problema no vuelva a ocurrir. Trabajar sobre el mismo problema
16
dos veces es un pecado para un sysadmin perezoso. A un sysadmin perezoso le gusta
trabajar en el problema una sola vez, hacer las cosas para evitar el mismo error que ocurra
en el futuro, y volver a ser perezoso.
Aprende nuevas tecnologías. No hay nada malo en aprender una nueva tecnología para
conseguir un trabajo mejor o simplemente para mantenerse al día con el crecimiento de la
tecnología. Pero, nuestro sysadmin perezoso no aprende las nuevas tecnologías por este
motivo; en cambio, se entera de las nuevas tecnologías, porque a él le gusta estar en control
de los sistemas todo el tiempo. Él sabe que él es el jefe (Razón 1). Así que, cuando una
nueva tecnología aparece, este se toma el tiempo para estudiarla. Ahora tiene nuevas
herramientas que le permiten mantener el sistema activo, mientras que él sigue siendo un
perezoso. Se documenta y aprende una nueva tecnología solo para mantener su egoísta
pereza.
No todos los sysadmins perezosos lo hacen; sólo los mejores administradores de sistemas
perezosos hacen esto. Nunca a un sysadmin perezoso le gusta que le molesten cuando está
en la playa disfrutando de sus vacaciones. Entonces, ¿qué hace? documenta todo, deja
bitácoras y resoluciones para todo, así que cuando él no está cerca, otro técnico de soporte
puede hacer el trabajo de rutina y hacer avanzar las cosas simplemente leyendo la
documentación sin molestar las vacaciones del sysadmin.
Hay también otra razón más íntima para que el administrador del sistema perezoso
documente todo, porque pueden olvidarse las cosas. Puesto que él es perezoso, quizás
tiende a olvidar lo que hizo hace un mes. Dado que nunca le gusta pensar el mismo tema
dos veces (Corolario de la Razón 10), se documenta todo y cuando tiene que hacer lo mismo
en el futuro, pues busca en su documentación para comprender como se hace. Ahora, usted
considerará que ser un sysadmin perezoso no es cosa fácil, es muchísimo trabajo duro, si
usted no es un administrador de sistemas, puede que ahora aprecie al administrador vago
que ve sentado en su computadora viendo Facebook mientras todo funciona perfectamente,
recuerde que no funciona así solo.
1 . 4 . 1 . 5 M AL O S H Á B I T O S D E U N AD M I N IS T R AD O R D E S I S T E M AS .
17
Al momento que ejecutamos aplicaciones con el usuario root, las aplicaciones suben en la
memoria con privilegios y acceso a todos los rincones del sistema. Cualquier falla de
seguridad permite a un posible atacante tomar el control del sistema.
La mayoría de los SysAdmin tienen la idea que esas cosas sólo les pasan a los demás y
nunca a ellos. No te equivoques asumiendo que las historias de desastres informáticos sólo
les pasan a los SysAdmin tontos. No te creas tan listo. Las experiencias no placenteras han
demostrado que les ocurren a todos.
Este tipo de prácticas puede ocasionar todo tipo de problemas. Desde conflictos de
versiones, conflictos en manejadores, pérdida de información, daños en el sistema
operativos hasta kernel panics.
También debemos resaltar que la mayoría de los ataques de seguridad provienen de nuestra
red interna (sí, empleados disgustados). Este riesgo puede ser mitigado asignado única y
exclusivamente los privilegios mínimos necesarios a los usuarios y softwares instalados.
18
Adicionalmente, como buen SysAdmin, debes mantener un monitorio constante y tracking
de las actividades de los usuarios y su comportamiento dentro del sistema.
Recomendación: no asigne los permisos por default. Otorga permisos en base al mínimo
necesario que requiera la cuenta o software. Es mejor recibir quejas por falta de acceso que
recibir notificaciones alertando problemas de seguridad.
Saber quién hizo qué, cuándo y dónde puede ahorrar mucho tiempo y esfuerzo al momento
de buscar las causas que dieran origen a un incidente o revertir cambios realizados en las
configuraciones.
Resumen
1 . 4 . 1 . 6 G E S T I Ó N D E P R O Y E C T O S Y S U P E R V I S I ÓN
Otras funciones laborales pueden incluir la gestión de proyectos con sistemas relacionados,
la supervisión y la capacitación del personal que trabaja con computadoras, la reparación
del mal funcionamiento del servidor y las consultas sobre problemas demasiado complejos
para el soporte técnico. Esto puede implicar la interfaz con los usuarios novatos del equipo
y con el soporte técnico avanzado. Por lo tanto, aquellas personas en la administración de
servidores deben ser capaces de explicar el uso de la computadora y las funciones en un
nivel en que un laico pueda entender. También debe hacer frente a los aspectos más
técnicos de la administración de servidores.
1 . 4 . 1 . 7 F U N C I O N E S D E GE S T I Ó N
19
y muchas veces abarca a los Administradores de Redes y Especialistas de Soporte
avanzados (Nivel II o III) duchos en múltiples Sistemas Operativos privativos y libres.
2 . AD M I N IS T R AC I Ó N D E U S U AR I O S Y G R U P O S
Gestionar usuarios y grupos en Linux nos permitirá realizar una utilización óptima del
sistema multiusuario, para aquellos casos donde varias personas hagan uso de los recursos
del servidor. Cada uno de los usuarios es identificado a través de un nombre y debe tener
asignada una contraseña, con ambos datos deberá acceder al sistema para su respectiva
verificación de credenciales. Si deseas aprender sobre la gestión de usuarios y grupos, este
es el artículo ideal para ti.
T I P O S D E U S U AR I O S
Los usuarios en Unix/Linux se identifican por un número único de usuario, User ID, UID. Y
pertenecen a un grupo principal de usuario, identificado también por un número único de
grupo, Group ID, GID. El usuario puede pertenecer a más grupos además del principal.
Aunque sujeto a cierta polémica, es posible identificar tres tipos de usuarios en Linux:
Usuario root
También llamado superusuario o administrador.
Su UID (User ID) es 0 (cero).
Es la única cuenta de usuario con privilegios sobre todo el sistema.
20
Acceso total a todos los archivos y directorios con independencia de propietarios y
permisos.
Controla la administración de cuentas de usuarios.
Ejecuta tareas de mantenimiento del sistema.
Puede detener el sistema.
Instala software en el sistema.
Puede modificar o reconfigurar el kernel, controladores, etc.
Usuarios especiales
Ejemplos: bin, daemon, adm, lp, sync, shutdown, mail, operator, squid, apache, etc.
Se les llama también cuentas del sistema.
No tiene todos los privilegios del usuario root, pero dependiendo de la cuenta asumen
distintos privilegios de root.
Lo anterior para proteger al sistema de posibles formas de vulnerar la seguridad.
No tienen contraseñas pues son cuentas que no están diseñadas para iniciar sesiones
con ellas.
También se les conoce como cuentas de “no inicio de sesión” (nologin).
Se crean (generalmente) automáticamente al momento de la instalación de Linux o de
la aplicación.
Generalmente se les asigna un UID entre 1 y 100 (definifo en /etc/[Link])
Usuarios normales
/ETC/P AS SWD
Cualquiera que sea el tipo de usuario, todas las cuentas se encuentran definidas en el
archivo de configuración ‘passwd‘, ubicado dentro del directorio /etc. Este archivo es de texto
tipo ASCII, se crea al momento de la instalación con el usuario root y las cuentas especiales,
más las cuentas de usuarios normales que se hayan indicado al momento de la instalación.
El archivo /etc/passwd contiene una línea para cada usuario, similar a las siguientes:
root:x:0:0:root:/root:/bin/bash
pedro:x:501:500:Pedro Ventura:/home/pedro:/bin/bash
La información de cada usuario está dividida en 7 campos delimitados cada uno por ‘:’ dos
puntos.
21
Figura No. 2 Explicacion de los campos q ilustra informaciòn sobre cada usuario
1 root:ghy675gjuXCc12r5gt78uuu6R:1[Link]-1::
2 pedro:rfgf886DG778sDFFDRRu78asd:1[Link]-[Link]-1:-1::
La información de cada usuario está dividida en 9 campos delimitados cada uno por ‘:’ dos
22
puntos.
root:x:0:root
test:x:501:
pedro:x:502:ventas,supervisores,producción
alumno:x:503:ventas,pedro
23
El campo 2 ‘x’ indica la contraseña del grupo, que no existe, si hubiera se mostraría un
‘hash’ encriptado.
PWCON V Y P WU NCONV
Pero si por alguna bizarra y extraña situación de compatibilidad se requiriera tener las
contraseñas cifradas en el mismo archivo de /etc/passwd se usaría el comando pwunconv:
Se vuelve a crear el archivo shadow, además nótese los permisos tan restrictivos (400) que
tiene este archivo, haciendo sumamente difícil (no me gusta usar imposible, ya que en
24
informática parece ser que los imposibles ‘casi’ no existen) que cualquier usuario que no sea
root lo lea.
/etc/[Link]
En el archivo de configuración /etc/[Link] están definidas las variables que controlan los
aspectos de la creación de usuarios y de los campos de shadow usadas por defecto. Algunos
de los aspectos que controlan estas variables son:
Basta con leer este archivo para conocer el resto de las variables que son autodescriptivas
y ajustarlas al gusto. Recúerdese que se usaran principalmente al momento de crear o
modificar usuarios con los comandos useradd y usermod que en breve se explicaran.
2 . 1 C R E AR , AÑ AD I R , M OD I F IC AR , E L IM IN AR U S U AR I O S
Cuentas de usuario
Como les mencione anteriormente, para poder usar el sistema operativo Linux, es necesario
tener una cuenta de usuario. Dicha cuenta se constituya por un nombre de usuario (login) y
de una contraseña (password). Las cuentas de usuario son creadas por el administrador del
sistema, que en Linux es conocido como Usuario root. Cada usuario, debe pertenecer
obligatoriamente a algún grupo de usuario. Adicionalmente, al momento de ingresar al
sistema, el usuario deberá identificarse con su cuenta de usuario y en caso de equivocarse,
el sistema le denegara el acceso.
Posterior a identificarse satisfactoriamente, el usuario podrá hacer uso del sistema y ejecutar
todas las aplicaciones que tenga permitido, así como realizar acciones (leer, modificar o
borrar) sobre los archivos en los que tenga permiso.
Por otra parte, una cuenta de usuario, no solo provee un simple nombre, también es el punto
de partida para establecer una ruta donde se almacenan sus documentos y perfil de usuario.
En Linux, generalmente es dentro de la carpeta /home/nombre-usuario.
Al momento de que el usuario ejecuta una aplicación, el sistema la carga en memoria y luego
se ejecuta. En el ámbito informático, las aplicaciones que se encuentran en ejecución en un
momento determinado, se les denomina procesos. Entonces, en un sistema
multiusuarios, cada proceso pertenece a un usuario, el mismo sistema se encarga de
asignarlo al usuario que haya iniciado la ejecución.
Para permitir una administración flexible de los permisos de los usuarios, Linux permite
estructurar los usuarios a través de grupos y los permisos pueden ser asignados a un grupo.
Por ejemplo, tenemos una institución educativa, el grupo de profesores tiene acceso a
ciertos archivos, al momento de añadir un nuevo profesor en el sistema, solo tenemos que
asignarle a su cuenta de usuario el grupo profesor.
25
Como les mencione anteriormente, todos los usuarios deben pertenecer a un grupo principal
o primario (obligatoriamente), pero puede pertenecer a otros grupos, esos son considerados
secundarios. Todos los grupos de usuarios sólo pueden contener varios usuarios, es decir,
no pueden contener a otros grupos.
Cada grupo de usuarios en Linux, es identificado con un numero diferente. Esto es conocido
como identificador de grupo o gid = Group IDentifier. Internamente, el sistema realiza las
gestiones bajo el gid, y no con el nombre del grupo. Por lo general, al momento de crear
grupos, el sistema le asigna un gid de 1000 en adelante. Los gid menores a 100 son
reservados para uso del sistema y sus grupos especiales.
useradd o adduser es el comando que permite añadir nuevos usuarios al sistema desde la
línea de comandos. Sus opciones más comunes o importantes son las siguientes:
Ahora bien, realmente no hay prácticamente necesidad de indicar ninguna opción ya que si
hacemos lo siguiente:
# useradd juan
Las fechas de expiración de contraseña, etc. Quedan lo más amplias posibles asi que no
hay problema que la cuenta caduque, asi que prácticamente lo único que faltaría sería añadir
la contraseña del usuario y algún comentario o identificación de la cuenta. Como añadir el
26
password o contraseña se estudiara en un momento y viendo las opciones con ‘-c’ es posible
establecer el comentario, campo 5 de /etc/passwd:
Siempre el nombre del usuario es el último parámetro del comando. Asi por ejemplo, si
queremos salirnos del default, podemos establecer algo como lo siguiente:
# useradd -d /usr/juan -s /bin/csh -u 800 -c "Juan Test" juan
Con lo anterior estamos cambiando su directorio de inicio, su shell por defautl sera csh y su
UID será el 800 en vez de que el sistema tome el siguiente número disponible.
Casi seguro también cambiará el nombre del directorio de inicio o HOME en /home, pero si
no fuera así, entonces:
Lo anterior modifica el comentario de la cuenta, su shell por defecto que ahora será Korn
shell y su grupo principal de usuario quedó establecido al GID 505 y todo esto se aplicó al
usuario ‘peter’ que como se observa debe ser el último argumento del comando.
El usuario ‘peter’ salió de vacaciones y nos aseguramos de que nadie use su cuenta:
27
# usermod -L peter
Como su nombre lo indica, userdel elimina una cuenta del sistema, userdel puede ser
invocado de tres maneras:
1 # userdel pedro
Sin opciones elimina la cuenta del usuario de /etc/passwd y de /etc/shadow, pero no elimina
su directorio de trabajo ni archivos contenidos en el mismo, esta es la mejor opción, ya que
elimina la cuenta pero no la información de la misma.
1 # userdel -r pedro
Al igual que lo anterior elimina la cuenta totalmente, pero con la opción -r además elimina
su directorio de trabajo y archivos y directorios contenidos en el mismo, asi como su buzón
de correo, si es que estuvieran configuradas las opciones de correo. La cuenta no se podrá
eliminar si el usuario esta logueado o en el sistema al momento de ejecutar el comando.
1 # userdel -f pedro
La opción -f es igual que la opción -r, elimina todo lo del usuario, cuenta, directorios y
archivos del usuario, pero además lo hace sin importar si el usuario esta actualmente en el
sistema trabajando. Es una opción muy radical, además de que podría causar inestabilidad
en el sistema, asi que hay que usarla solo en casos muy extremos.
Crear al usuario con useradd es el primer paso, el segundo es asignarle una contraseña a
ese usuario. Esto se logra con el comando passwd que permitirá ingresar la contraseña y
su verificación:
# passwd pedro
1
2 Changing password for user prueba.
3 New UNIX password:
4 Retype new UNIX password:
5 passwd: all authentication tokens updated successfully.
Nótese que al ingresar ‘qwerty’ como contraseña se detectó que es una secuencia ya
conocida como contraseña y me manda la advertencia: “BAD PASSWORD: it is based on a
dictionary word”, sin embargo me permite continuar, al ingresar la verificación. Es decir,
passwd avisa de malas o débiles contraseñas pero permite establecerlas si realmente se
desea.
Resumiendo entonces, se podría decir que todo este tutorial se reduce a dos líneas de
comandos para crear y dejar listo para trabajar a un usuario en Linux:
1 # useradd alumno
2 # passwd alumno
28
Se crea el usuario ‘alumno’, useradd hace todo el trabajo de establecer el shell, directorio
de inicio, copiar archivos iniciales de configuración de la cuenta, etc. y después passwd
establece la contraseña. Así de simple.
passwd tiene varias opciones que permiten bloquear la cuenta ‘-l’, desbloquearla ‘-u’, y
varias opciones más que controlan la vigencia de la contraseña, es decir, es otro modo de
establecer los valores de la cuenta en /etc/shadow. Para más información consulta las
páginas del manual:
1 # man passwd
Archivos de configuración
Los usuarios normales y root en sus directorios de inicio tienen varios archivos que
comienzan con “.” es decir están ocultos. Varían mucho dependiendo de la distribución de
Linux que se tenga, pero seguramente se encontrarán los siguientes o similares:
1 # ls -la
2 drwx------ 2 alumno alumno 4096 jul 9 09:54 .
3 drwxr-xr-x 7 root root 4096 jul 9 09:54 ..
4 -rw-r--r-- 1 alumno alumno 24 jul 9 09:54 .bash_logout
5 -rw-r--r-- 1 alumno alumno 191 jul 9 09:54 .bash_profile
6 -rw-r--r-- 1 alumno alumno 124 jul 9 09:54 .bashrc
.bash_profile aquí podremos indicar alias, variables, configuración del entorno, etc. que
deseamos iniciar al principio de la sesión.
.bash_logout aquí podremos indicar acciones, programas, scripts, etc., que deseemos
ejecutar al salirnos de la sesión.
Además Linux permite que el usuario decida que tipo de entorno Xwindow a utilizar, ya sea
algún entorno de escritorio como KDE o Gnome o algún manejador de ventanas como Xfce
o Twm. Dentro del Home del usuario, se creará un directorio o archivo escondido “.” , por
ejemplo ‘.gnome’ o ‘.kde’ donde vendrá la configuración personalizada del usuario para ese
entorno. Dentro de este directorio suele haber varios directorios y archivos de configuración.
Estos son sumamente variados dependiendo de la distribución y del entorno. No es
recomendable modificar manualmente (aunque es perfectamente posible) estos archivos,
es mucho mas sencillo modificar vía las interfases gráficas que permiten cambiar el fondo,
protector de pantalla, estilos de ventanas, tamaños de letras, etc.
29
Figura No. 5 Comandos de administración y control de usuarios.
30
Figura No. 6 Archivos de administración y control de usuarios.
O T R OS E N F O QU E S P AR A C R E AC I Ó N , M O D I F I C AC I Ó N Y E L I M IN AC I Ó N
D E U S U AR I O S .
Creación de usuarios
31
Por ejemplo, queremos crear un usuario llamado “luis” y que su grupo principal sea
“profesores”, que demas tenga asignada como carpeta home “/home/luis” y que sus
comando sean interpretados en “/bin/bash”. El comando que debemos ejecutar sera el
siguiente:
Ahora nos queda por establecer su contraseña mediante el uso del comando passwd:
Un dato relevante es que podemos usar el comando useradd, para la creación de usuarios
en lotes mediante el uso de shell script.
Por otro lado, una recomendación a tomar en cuenta es el hecho de crear los nombres de
usuario en minúsculas y que ademas incluya números y algún signo como guion o guion
bajo. También hay que recordar que para Linux, Luis es distinto de luis, ya que distingue
entre mayúsculas y minúsculas.
Modificación de usuarios
Para realizar modificaciones sobre los usuarios, se emplea el comando usermod. Este te
permite hacer cambios sobre el nombre, la carpeta home, su interpretador de comandos,
sus grupos, entre otros.
Eliminación de usuarios
En este caso, tenemos el comando groupadd, tan solo debemos indicar el nombre del grupo
como parámetro. Por ejemplo, si quisiéramos añadir un grupo llamado “estudiantes”, la
sentencia seria:
Modificación de grupos
32
Por supuesto, los grupos también pueden ser modificados al igual que hacemos con los
usuarios. Para ello, usamos el comando groupmod. En el caso de los grupos podemos
editar su nombre o su gid.
La sintaxis para el comando es: sudo groupmod [-g nuevo-gid] [-n nuevo-nombre] nombre-
grupo, ejemplo:
Eliminación de grupos
Lo hacemos con el comando groupdel seguido del nombre del grupo, por ejemplo:
Se eliminara el grupo sólo en caso de que no tenga usuarios con el grupo asignado como
primario. Si existiera algún usuario con esta condición, el grupo no se eliminara.
Tenemos suficientes herramientas para realizar una excelente gestión de los usuarios y
grupos en Linux. Si requieres mayor información de los comandos, puedes consultar la
ayuda disponible, ejecutando man seguido del nombre por ejemplo:
man adduser
33
- Archivos que se pueden abrir y leer pero que cuando se modifican y se quieren guardar
cambios, aparecen mensajes de error diciendo que no hay permisos suficientes para
modificar el archivo.
Problemas como los anteriores son típicos, y muchas veces grandes dolores de cabeza para
los principiantes o aquellos que comienzan a trabajar en ambiente Linux. Sin embargo eso
no debe hacer pensar que Linux tiene deficiencias en este sentido, sino todo lo contrario,
pues todo esto es parte de la seguridad que ofrece un sistema tan robusto como lo es Linux.
A continuación se explicará en detalle cada uno de los pasos que se deben seguir para la
asignación de permisos para archivos y carpetas en Linux.
Lo primero es abrir una consola para escribir los comandos correspondientes. Luego se
debe ingresar como superusuario o root, mediante el comando su, y luego escribir la
contraseña. Debe notarse que el símbolo "$" es cambiado por "#", indicando que ya no se
está trabajando como simple usuario sino como superusuario or root.
El comando que sirve para la asignación de permisos en Linux es "chmod". Esta instrucción
puede usarse con letras o números. La forma más corriente es expresar los permisos
numéricamente para hacerlo de forma más corta y práctica, aunque es cuestión de
preferencia. Es común utilizar "chmod 777" para asignar todos los permisos a un archivo o
carpeta. Es necesario mencionar que asignarle todos los permisos a una carpeta no significa
que automáticamente todos los archivos y subcarpetas que estén dentro de la carpeta que
tiene todos los permisos, tendrán también permisos totales. Si una carpeta no tiene permiso
de lectura, no será posible visualizar los archivos o subcarpetas que ésta contiene. Si se le
asignan todos los permisos, es posible que en el interior de la carpeta hallan archivos con
restricciones, de modo que aunque la carpeta tenga todos los permisos, ciertos archivos o
subcarpetas pueden tener algunas restricciones. Cada carpeta y cada archivo funciona bajo
su propia asignación de permisos de manera independiente.
Linux está diseñado para ser multiusuario. En este sistema operativo se permiten tres
niveles de acceso a los archivos (los tipos de permiso de acceso que se explicarán más
adelante), para tres categorías diferentes de usuarios, que son:
34
Los permisos para archivos funcionan de esta manera:
El primer paso es entrar a la consola como superusuario, para lo cual se deberá usar el
comando "su" y luego escribir la contraseña respectiva. Luego se necesita es ubicarse en el
directorio que contiene el directorio o archivo del cual se desea conocer los permisos que
tiene. Para moverse hacia un directorio, se utiliza el comando "cd". Al escribir "cd", se llega
al "root" o directorio raíz, que para quienes están más familiarizados a Windows, sería el
equivalente de decir la unidad "C". Para conocer el directorio actual, se utiliza el comando
"pwd".
Suponiendo que se desean conocer los permisos que tiene el directorio /acpi/, que se
encuentra ubicado dentro del directorio /etc/, lo que se haría es primeramente escribir "cd"
para regresar al root o raíz. Luego escribir "cd /etc" para llegar al directorio /etc/. Para
confirmar que se ha llegado satisfactoriamente al directorio /etc/, escribir "pwd" y el resultado
deberá decir "/etc", revelando que efectivamente se ha llegado al directorio /etc/. Finalmente
escribir "ls -l" y se muestran todos los archivos y directorios que se encuentran dentro del
directorio /etc/, en orden alfabético. Debido a que en este caso se están buscando los
permisos para el directorio /acpi/, en el listado que aparece se debe buscar precisamente la
descripción para /acpi/. Debe aparecer algo parecido a lo que se muestra a continuación:
"drwxr-xr-x" revela los permisos que tiene el directorio /acpi/. Owner tiene permiso de lectura,
escritura y ejecución (wxr equivale a 7). Group tiene permiso para lectura y ejecución
(equivale a 5). Para Other se tiene permiso también de lectura y ejecución (equivale a 5).
Más adelante se explicará en detalle la manera en que esto funciona.
35
4 = lectura
2 = escritura
1 = ejecución
0 = no hay permiso para nada
3 (2+1) = escritura y ejecución
5 (4+1) = lectura y ejecución
6 (4+2) = lectura y escritura
7 (4+2+1) = lectura, escritura y ejecución
Así, un "chmod 777 [Link]" significa que owner, group y others tienen permiso de lectura,
escritura y ejecución. "chmod 766 [Link]" significa que el owner tiene permiso de lectura,
escritura y ejecución, y el group y others solamente permiso de lectura y escritura. "chmod
744 [Link]" significa que el owner tiene permisos de lectura, escritura y ejecuci{on,
mientras que group y others únicamente permisos de lectura.
Como se puede ver, son tres dígitos, de izquierda a derecha, los que designan los permisos
del owner, group y others. A continuación se tiene su equivalente en letras (que utilizaría en
total nueve dígitos en lugar de tres):
0 = - - - = sin acceso
1 = - - x = ejecución
2 = - w - = escritura
3 = - w x = escritura y ejecución
4 = r - - = lectura
5 = r - x = lectura y ejecución
6 = r w - = lectura y escritura
7 = r w x = lectura, escritura y ejecución
Debe también saberse que aunque "chmod 644 [Link]", no equivale a "chmod r w - r - -
r - - [Link]". En caso que se desee usar "chmod" con texto, se deberá respetar la
siguiente sintaxis:
Donde [u=user u owner, g=group y o=other]; [+/- activa o desactiva los atributos siguientes];
[r=read, w=write, x=execute]
Por ejemplo, "chmod go+r [Link]" significa que se asignan permisos de lectura para
group y other en el archivo [Link]. "chmod go-r [Link]" significa que se quitan
permisos de lectura para group y other en el archivo [Link]. Con "chmod ugo+rx
[Link]" se asignan permisos de lectura y ejecución para user/owner, group y other en el
archivo [Link]. "chmod uo-w [Link]" significa que se quitan permisos de escritura
36
para user/owner y para other. Nótese que al usar +/- para activar o desactivar permisos, se
cambian únicamente los atributos que se especifican, pero no se alteran otros permisos que
pudieran estar asignados anteriormente. Por ejemplo con "chmod go+r [Link]" no se
modifica la atribución anterior a group de un permiso de ejecución, entre otros permisos que
no se modifican. Si se quieren modificar también todos los otros permisos no mencionados,
en vez de +/- deberá utilizarse el signo "=", por ejemplo "chmod go=r [Link]" asigna a
group y other permiso de lectura sobre [Link] y elimina a la vez cualquier otro permiso
para ambos, y como user/owner no se menciona, se dejan los permisos que tenía tal como
estaban. Si se escribiera "chmod ugo=wr [Link]" significa que a user/owner, group y
others se les da permiso de escritura y lectura y se les quita el permiso de ejecución. No es
necesario escribir en orden "rwx" para "read, write, execute". El orden no importa en este
caso, de modo que "xw" equivale a "wx", es decir permisos para escribir y ejecutar.
Es posible también no referirse a un archivo en específico, sino a todos los archivos dentro
del directorio que sean de un tipo en especial. Por ejemplo, si se quisieran asignar todos los
permisos para todos los archivos con extensión .php en el directorio actual, en vez de escribir
"chmod 777 [Link]", se deberá escribir "chmod 777 *php". Con eso no sólo el archivo
[Link] tendrá permisos totales de lectura, escritura y ejecución para todos los usuarios,
sino que también cualquier otro archivo con extensión .php gozará de los mismos permisos.
Esto es de gran utilidad por ejemplo en el caso que dentro de un directorio se tengan muchos
archivos .php. Resultaría monótono y tedioso estar repitiendo el procedimiento para cada
archivo, mientras que es muy fácil hacerlo con una simple instrucción utilizando "chmod 777
*php". En el caso de querer hacer eso para archivos .html en vez de archivos .php,
simplemente se escribe "chmod 777 *html", y así para cualquier otro tipo de archivo que se
desee.
En el caso de querer fijar permisos para directorios, el proceso es el mismo que para
archivos, con la diferencia que no debe olvidarse escribir la correspondiente pleca ("/")
después del número, cosa que no se hace en el caso de permisos para archivos. Por
ejemplo, "chmod 777 [Link]" es un ejemplo de asignación de permisos para un archivo,
mientras que "chmod 777 /var" es un ejemplo de asignación de permisos para un directorio.
Si se escribiera simplemente "chmod 777 var", aparecería un mensaje de error como este:
Un ejemplo práctico es que se quieran asignar todos los permisos para el directorio var. Lo
primero sería entrar como root/superusuario con el comando "su" y la introducción de la
contraseña. Luego escribir el comando "pwd" y el resultado debe ser "/root", indicando que
el directorio actual es el /root. En caso de no estar en el directorio /root, escribir el comando
"cd" para llegar establecer /root como directorio actual. Luego escribir "chmod 777 /var", con
lo cual se asignan todos los permisos para todos los usuarios, tanto de lectura, como también
de escritura y ejecución. Con eso será posible guardar archivos o crear nuevos directorios
en el directorio /var. Un caso real donde se aplica esto es por ejemplo al descargar un archivo
comprimido en formato .[Link]. Supóngase que la descarga se hace automáticamente a
/home/nombre_usuario/Desktop/Descargas, pero para descomprimirse el .[Link], se moverá
el archivo hacia el directorio /var. Inicialmente al querer cortar o copiar y luego pegar en el
directorio /var, podría aparecer un mensaje de error diciendo que no es posible escribir en
el directorio /var.
Es entonces que se siguen los pasos para asignar permisos al directorio /var, de modo que
sea posible ubicar el archivo comprimido con extensión .[Link] en el directorio /var y así
poder después descomprimirlo desde ahí. Suponiendo que el nombre completo del archivo
que se ha ubicado en el directorio /var sea "OOo_2.2.1_LinuxIntel_install_wJRE_en-
37
[Link]", después se podría perfectamente descomprimir desde ahí primeramente
moviéndose hasta el directorio /var con el comando "cd", y luego escribiendo "tar xvzf
OOo_2.2.1_LinuxIntel_install_wJRE_en-[Link]" para descomprimir el archivo.
Aplicaciones prácticas como la recién descrita son posibles cuando se conoce bien la
manera de asignar permisos correctamente tanto a archivos como a directorios.
La asignación de permisos para directorios y archivos es algo elemental para los usuarios
de Linux, por lo cual será de mucho provecho tener estos conocimientos "para no ahogarse
en un vaso de agua", pues pequeños detalles como no saber asignar permisos pueden hacer
que una persona se quede atrapada sin poder seguir adelante en el uso de Linux. Esto es
parte de los conocimientos básicos y fundamentales que todo usuario de Linux debe tener.
Para cambiar el grupo propietario de un fichero te puedes valer del comando chgrp, aunque
más adelante verás que también lo puedes hacer con chown. De forma análoga a lo que
ocurre al cambiar el propietario a nivel de usuario, en este caso el grupo propietario
cambiaré, pero el usuario seguirá siendo el mismo de antes. A continuación te dejo con la
sintaxis básica:
Hay otra modalidad de funcionamiento del comando chown que sirve para cambiar el grupo
propietario de un fichero. Ello consiste en especificar un grupo, pero no indicar el usuario.
En este ultimo caso, la operación es la misma que realiza el comando chgrp. La sintaxis es
la siguiente:
Si quieres cambiar tanto el usuario como el grupo al que pertenece un determinado fichero,
la sintaxis de uso es la siguiente:
Vamos a suponer que queremos cambiar el propietario del archivo [Link] dentro de la
carpeta Documentos del usuario tom. El grupo propietario es tom, y queremos que el nuevo
sea el grupo lisa.
38
Para cambiar el grupo propietario de un fichero te puedes valer del comando chgrp, aunque
más adelante verás que también lo puedes hacer con chown. De forma análoga a lo que
ocurre al cambiar el propietario a nivel de usuario, en este caso el grupo propietario
cambiaré, pero el usuario seguirá siendo el mismo de antes. A continuación te dejo con la
sintaxis básica:
Hay otra modalidad de funcionamiento del comando chown que sirve para cambiar el grupo
propietario de un fichero. Ello consiste en especificar un grupo, pero no indicar el usuario.
En este ultimo caso, la operación es la misma que realiza el comando chgrp. La sintaxis es
la siguiente:
Si quieres cambiar tanto el usuario como el grupo al que pertenece un determinado fichero,
la sintaxis de uso es la siguiente:
Vamos a suponer que queremos cambiar el propietario del archivo [Link] dentro de la
carpeta Documentos del usuario tom. El grupo propietario es tom, y queremos que el nuevo
sea el grupo lisa.
39
Módulo II. Administración de Recursos, Monitorización y Mantenimiento
Es realmente un trabajo muy duro para todo administrador Linux supervisar y depurar los
problemas de rendimiento del sistema todos los días. Después de ser un administrador
de Linux en la industria de TI, me enteré de que lo difícil es vigilar y mantener los sistemas
en funcionamiento. Por esta razón, he compilado la lista de las 15 herramientas utilizadas
para el monitoreo del sistema desde la línea de comandos que pueden ser útiles para
cualquier administrador de sistemas Linux / Unix. Estos comandos están disponibles en
todas las versiones de Linux y puede ser útil para controlar y encontrar las causas reales
de los problemas de rendimiento. Esta lista de comandos que se muestran aquí para que
pueda escoger la que sea más adecuada para su escenario de supervisión.
El comando top Linux es un programa para la supervisión del rendimiento que utilizan con
mucha frecuencia la mayoría de los administradores de sistemas para comprobar el
rendimiento de Linux y está disponible en muchos sistemas Linux / Unix. El comando top
se utiliza para mostrar todo el funcionamiento y los procesos en tiempo realmente activos
en una lista que actualiza regularmente. Se mostrará el uso de CPU, uso de memoria, la
memoria de intercambio, Cache, Tamaño de búfer, PID de proceso, usuario,
Comandos y mucho más. También muestra la carga de memoria y de la CPU de un
proceso en ejecución. El comando top es mucho útil para el administrador de sistema para
supervisar y tomar acción correcta cuando se requiera. Vamos a ver la parte superior de
comandos en acción.
# top
40
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6832 javier 20 0 2594m 1.2g 44m S 11.0 31.9 4:09.29 firefox
6929 javier 20 0 746m 204m 23m S 5.6 5.3 0:26.26 plugin-containe
7023 javier 20 0 547m 27m 20m S 2.3 0.7 0:02.30 konsole
2840 root 20 0 141m 30m 15m S 0.7 0.8 6:42.59 X
684 root 20 0 7408 316 212 S 0.3 0.0 0:00.48 gpm
1250 mysql 20 0 539m 46m 3496 S 0.3 1.2 0:14.68 mysqld
4759 javier 20 0 2890m 32m 19m S 0.3 0.8 1:54.24 kwin
1 root 20 0 50164 4804 2056 S 0.0 0.1 0:01.24 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.31 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/u:0H
8 root RT 0 0 0 0 S 0.0 0.0 0:00.20 migration/0
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
10 root 20 0 0 0 0 S 0.0 0.0 0:03.62 rcu_sched
11 root RT 0 0 0 0 S 0.0 0.0 0:00.03 watchdog/0
12 root RT 0 0 0 0 S 0.0 0.0 0:00.04 watchdog/1
13 root 20 0 0 0 0 S 0.0 0.0 0:00.32 ksoftirqd/1
14 root RT 0 0 0 0 S 0.0 0.0 0:00.11 migration/1
16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/1:0H
17 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 cpuset
18 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 khelper
Comando vmstat de Linux se utiliza para mostrar las estadísticas de la memoria virtual,
hilos kernerl, discos, procesos de sistema, bloques de E / S, interrupciones, actividad
de la CPU y mucho más. Al comando vmstat predeterminada no está disponible en los
sistemas Linux es necesario instalar un paquete llamado sysstat que incluye un programa
vmstat. El uso común del formato del comando es.
# vmstat
Comando lsof se utiliza en muchos Linux / Unix como un sistema que se utiliza para montar
todos los archivos abiertos y los procesos que los utilizan. Los archivos abiertos incluidos
son archivos de disco, de la red, tuberías, dispositivos y procesos. Una de las
principales razones para el uso de este comando es cuando un disco no se puede desmontar
y muestra el error de que hay archivos que lo están utilizando. Con este comando puede
identificarse fácilmente qué archivos están en uso. El formato más común para este
comando es:
# lsof
41
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sd_espeak 2413 2416 javier mem REG 8,5 47664 177402 /usr/lib64/[Link]
sd_espeak 2413 2416 javier mem REG 8,5 29648 177622
/usr/lib64/[Link].0.0.1
sd_espeak 2413 2416 javier mem REG 8,5 89656 177406 /usr/lib64/libgcc_s-4.7.2-
[Link].1
sd_espeak 2413 2416 javier mem REG 8,5 109632 177410 /usr/lib64/libresolv-
[Link]
sd_espeak 2413 2416 javier mem REG 8,5 123992 177432 /usr/lib64/[Link].1.1.0
sd_espeak 2413 2416 javier mem REG 8,5 16832 177431 /usr/lib64/[Link].6.0.0
sd_espeak 2413 2416 javier mem REG 8,5 1288248 177433
/usr/lib64/[Link].6.3.0
sd_espeak 2413 2416 javier mem REG 8,5 977936 177407
/usr/lib64/libstdc++.so.6.0.17
sd_espeak 2413 2416 javier mem REG 8,5 76208 177434 /usr/lib64/[Link].6.4.0
sd_espeak 2413 2416 javier mem REG 8,5 38640 177688 /usr/lib64/[Link].4.0.0
42
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:https *:* LISTEN
tcp 0 0 *:db-lsp *:* LISTEN
tcp 0 0 localhost:atmtcp *:* LISTEN
tcp 0 0 *:40643 *:* LISTEN
tcp 0 0 *:24837 *:* LISTEN
tcp 0 0 *:mysql *:* LISTEN
tcp 0 0 *:rfb *:* LISTEN
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:http *:* LISTEN
tcp 0 0 [Link]:domain *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 localhost:ipp *:* LISTEN
tcp 0 0 *:59897 *:* LISTEN
tcp 0 0 localhost:smtp *:* LISTEN
tcp 0 0 [Link] [Link]:http ESTABLISHED
tcp 0 0 [Link] [Link]:msnp ESTABLISHED
tcp 0 0 [Link] wb-in-f125.:xmpp-client ESTABLISHED
tcp 0 0 [Link] mad01s08-in-f21.1:https ESTABLISHED
tcp 0 0 [Link] [Link]:http ESTABLISHED
tcp 0 0 [Link] ec2-23-21-236-70.c:http ESTABLISHED
tcp 0 0 [Link] ec2-23-21-236-70.c:http ESTABLISHED
tcp 0 0 [Link] ec2-23-21-236-70.c:http TIME_WAIT
tcp 0 0 [Link] [Link]:https ESTABLISHED
Iotop es también muy similar a al comando top y al programa htop, pero tiene la función
de contabilidad para monitorear y visualizar en tiempo real las E/S del
disco y procesos. Esta herramienta es muy útil para encontrar el proceso exacto y disco
utilizado alta lectura / escritura de los procesos.
# iotop
iostat es una herramienta sencilla que recoger y mostrar las estadísticas de entrada y salida
de un dispositivo de almacenamiento del sistema. Esta herramienta se utiliza a menudo para
43
rastrear problemas de rendimiento de los dispositivos de almacenamiento,
incluyendo dispositivos, discos locales, discos remotos como NFS.
# iostat
# iostat
44
9. psacct or acct - Monitor de actividad del usuario
La herramientas psacct o acct son muy útiles para el seguimiento de cada actividad de los
usuarios en el sistema. Ambos demonios se ejecutan en segundo plano y mantienen una
estrecha vigilancia sobre la actividad global de cada usuario en el sistema y también qué
recursos están siendo consumidos por ellos.
Estas herramientas son muy útiles para los administradores de sistemas para el seguimiento
de cada actividad de los usuarios, que les gusta o que están haciendo, qué comandos
ejecutan, la cantidad de recursos utilizados por ellos, el tiempo que están activos en el
sistema, etc.
Monit es una utilidad para la supervisión de procesos basado en web que monitoriza
automáticamente los procesos, programas, archivos, directorios, permisos, sumas de
control y sistemas de archivos.
Efectuará un seguimiento de los servicios como Apache, MySQL, correo, FTP, ProFTP,
Nginx, SSH, etc. El estado del sistema se puede verse desde la línea de comandos o usar
la propia interfaz web.
NetHogs es un pequeño programa agradable (similar al comando top Linux) que mantiene
una ficha en cada actividad de red de proceso en el sistema. También mantiene una pista
de ancho de banda de tráfico de red en tiempo real que utiliza cada programa o aplicación
45
Figura No. 9 Nethogs - Monitor por acceso Ancho de banda de red
iftop es otra utilidad basada en terminal para el control que muestra una lista actualizada
con frecuencia de utilización del ancho de banda de red (hosts de origen y de destino) que
pasa a través de la interfaz de red en el sistema. iftop se considera a la red, lo que 'top' hace
46
uso de la CPU. iftop es una herramienta 'top' para monitorear una interfaz seleccionada y
muestra un uso de ancho de banda actual entre dos hosts.
Linux soporta las características de Memoria Virtual (virtual memory). Esto significa usar un
disco como una extensión de la memoria RAM, de forma tal que el tamaño efectivo de
memoria utilizable crezca considerablemente. El kernel se encarga de escribir el contenido
de un bloque de memoria que no está siendo utilizado al disco rígido de forma que esta
porción de memoria quede disponible para otro propósito. Cuando los bloques originales
vuelven a ser requeridos, son leídos y colocados nuevamente en memoria. Todo esto es
realizado en forma completamente transparente para el usuario. Los programas ejecutados
bajo Linux solo ven una gran cantidad de memoria disponible y no saben que parte de ellos
reside en el disco en un momento dado. Por supuesto que leer y escribir en el disco es
mucho más lento que utilizar la memoria real (en el orden de 1000 veces más lento), Por lo
que los programas se tornan mucho más lento también. La parte del disco que es usado
como memoria virtual se llama área de swap (swap space).
Linux puede utilizar tanto un archivo normal en el sistema de archivos como una partición
separada del disco como área de swap. Una partición swap es mucho más rápida, pero es
mucho más fácil cambiar el tamaño del área de swap si este es un archivo (y no hay
necesidad de particionar el disco rígido entero, y posiblemente instalar todo desde cero).
Cuando se conoce la cantidad de espacio swap que se necesita, es más indicado optar por
una partición swap. Pero si no se está seguro de la cantidad de espacio que se necesita, se
puede crear primero un archivo swap, probar el sistema hasta que se esté seguro del tamaño
necesario, y luego construir una partición con dicho tamaño.
Cabe señalar que Linux permite también usar una o varias particiones de swap y/o archivos
de swap al mismo tiempo. Esto significa que si ocasionalmente se necesita una cantidad
adicional de espacio swap, se puede crear un archivo de swap extra para ese momento
especial, en lugar de mantener una partición con todo ese espacio necesario en forma
permanente.
Direccionamiento de la memoria virtual: Linux utiliza una tabla de página de 3 niveles, cada
tabla en particular tiene el tamaño de una página:
47
c. Tabla de páginas: Cada entrada en la tabla hace referencia a una página virtual del
proceso.
Gestión de memoria libre:Linux utiliza el sistema de colegas para asignar/liberar todos los
marcos de página:
Páginas de usuario
El kernel, como programa que es, necesita asignar y liberar memoria de forma
dinámica:
o Por ejemplo, maneja módulos, que normalmente son controladores de
dispositivos, que se cargan dinámicamente, tienen un tamaño arbitrario y se
lesdebe asignar un área de memoria de kernel contigua
Usando el sistema de colegas se asigna memoria contigua en el kernel
o Problema: se puede producir mucha fragmentación interna ya que, por
ejemplo,hay que asignar 128 marcos a un módulo que necesita sólo 65
marcos contiguos.
Para pequeñas asignaciones de memoria, Linux usa un segundo método de
asignación para evitar la fragmentación interna:
o Empleando el sistema de colegas, se reserva memoria que se divide en
fragmentos más pequeños que una página, que son administrados aparte.
48
o Los fragmentos se mantiene en un conjunto de listas enlazadas, una por
cada tamaño de fragmento (32, 64, 128, 252, 508, 2040 y 4080 bytes).
49
Figura No. 13 Comando free -k
50
Figura No. 16 Comando free -t
51
Figura No. 19 Comando proc/meminfo
52
Figura No. 20 Comando vmstat
53
Figura No. 21 Comando top.
Al igual que top, el comando htop muestra el uso de memoria, junto con otros
detalles:
54
Figura No. 22 Comando htop
Tres formas más para ver el uso de RAM por cada proceso:
3) top -a
Conclusión
Todos los comandos mencionados son para trabajar desde la terminal y no tienen
una interfaz gráfica de usuario. Cuando se traba en un escritorio con interfaz, es
mucho más facil de utilizar una herramienta con interfaz gráfica. Las herramientas
55
más comunes son gnome-system-monitor para
entornos GNOME y ksysguard para entornos KDE.
Todo sistema es capaz de gestionar una o varias impresoras, con uno o varios
usuarios, que les envían distintas clases de documentos.
56
3.1.1 Instalación y administración
Vamos a mostrar 2 formas de instalar un servidor de impresión utilizando Linux:
[Link]
Instalación de CUPS:
Para instalar CUPS en tu equipo Ubuntu, simplemente usa sudo con la orden apt-
get y proporciona como primer parámetro el nombre de los paquetes a instalar. Una
instalación completa de CUPS tiene muchas dependencias de paquetes, pero
pueden especificarse todas ellas en la misma línea de órdenes.
57
original una vez hayas resuelto tu problema, para evitar que el archivo de registro
crezca demasiado.
Configuración de CUPS:
Antes de editar el archivo de configuración debes hacer una copia del archivo original y
protegerla contra escritura, así tendrás la configuración original como referencia, y
podrás reusarla si fuera necesario.
ServerAdmin sop2@[Link]
man [Link]
58
Listen: De forma predeterminada, en Ubuntu la instalación del servidor CUPS
escucha sólo por la interfaz loopback en la dirección IP [Link]. Para hacer
que el servidor CUPS escuche en la dirección IP del verdadero adaptador de
red, debes especificar un nombre de host, una dirección IP, o bien, un par
dirección IP/puerto, y para ello debes añadir una directiva Listen. Por ejemplo,
si tu servidor CUPS reside en una red local con la dirección IP [Link] y
deseas que sea accesible para los demás sistemas de esta subred, debes editar
el archivo /etc/cups/cups.d/[Link] y añadir una directiva Listen, de esta
forma:
sudo /etc/samba/[Link]
Antes de modificarlo podemos hacer una copia de respaldo por cualquier error que
pueda ocurrir. La copia de respaldo se hace así:
cp -p /etc/samba/[Link] /etc/samba/smb_nombre_de_la_copia.conf
59
sudo gedit /etc/samba/[Link]
[global]
printing = bsd
printcap name = /etc/printcap
load printers = yes
log files = /var/log/samba-log.%m
lock directory = /var/lock/samba
[printers]
[ljet]
[archivos]
60
/etc/init.d/samba restart
Los usuarios que queremos que tengan acceso al servidor Samba deben estar
creados como usuarios en nuestro servidor linux, podemos crear un grupo
samba y agregar a ese grupo todos los usuarios que tendrán acceso al servidor
samba:
adduser nombre_usuario
Nos pedira la clave que queremos utilizar para ese usuario y algunos datos que
son opcionales, luego podemos cambiar sus privilegios.
Smbpasswd –a jose
New SMB password:
Retype new SMB password:
Added user jose
Colocamos la contraseña que queremos que tenga ese usuario para ingresar al
servidor Samba, la clave puede ser distinta a la que tiene el usuario para ingresar
a Linux.
Vamos a crear un nuevo archivo donde estarán todos los usuarios autorizados
para conectarse al Servidor de Samba, para esto ejecutamos:
61
Para editar un usuario ejecutamos:
smbpasswd -a nombre_usuario
smbpasswd -x nombre_usuario
security = user
Y la modificamos por:
;security = user
Con esto lo que estamos haciendo es decirle a Samba que vamos a autentificar
por usuario y donde está la lista de los usuarios permitidos que fue la que
creamos anteriormente.
Para darle acceso a los usuario a sus respectivos directorios home o personales,
hacemos lo siguiente:
;[homes]
;comment = Home Directories;
;browseable = no
;valid users = %S
;writable = no
62
estén correctos. Luego que testparm nos diga que todo está correcto,
ejecutamos:
/etc/init.d/samba restart
[Loquesea]
[ftp]
comment = Directorio del servidor FTP
path = /home/ftp/pub
guest ok = Yes
read only = Yes
write list = usuario01, administrador
directory mask = 0755
create mask = 0644
Luego de que termine de agregar las carpetas que desea compartir Guarde el
archivo y pruebe el archivo [Link] y reinicies el servidor de Samba:
testparm
/etc/init.d/samba restart
Compartiendo impresoras
/etc/samba/[Link]
…
# printing = cups
# printcap name = cups
63
…
Y descomentalas:
…
printing = cups
printcap name = cups
…
testparm
/etc/init.d/samba restart
Cliente Windows XP
Eso es todo, esperamos que tengas éxito instalando tu impresora para ser
compartida en un ambiente Linux.
En todos los sistemas operativos existe una consola o línea de comandos. Esta fue la
primera interfaz existente en los computadores, y sigue siendo muy importante tenerla
disponible, sobre todo para labores avanzadas de administración. En sistemas como
Windows o Mac, la consola no tiene gran utilidad ni protagonismo, salvo para labores
de rescate y recuperación del sistema.
Sin embargo, en Linux, ésta tiene un protagonismo especial incluso para los usuarios
no profesionales, ya que permite optimizar algunas labores, e incluso, automatizarlas.
No es que Linux no permita realizar estas labores mediante interfaces gráficos, más
fáciles de entender y manejar por los usuarios básicos.
64
El asunto es que la consola permite llegar a niveles de detalle en la configuración de las
mismas, que para el entorno gráfico es imposible. Además permite ejecutar acciones
que sería imposible introducir en la interfaz gráfica, por muy avanzada que esta sea.
Es evidente que las modernas GUI (Interfaces de Usuario Gráficas), son más atractivas,
“rápidas” (sólo para los usuarios poco iniciados), bonitas, e intuitivas. Sobre todo las
más actuales utilizadas en los dispositivos táctiles que admiten gestos sobre la pantalla.
Sin embargo, estas interfaces son muy complejas y es relativamente fácil que alguna de
las partes que la hacen funcionar falle. Así que cuando algo se “rompe”, hay que bajar
de nivel y acceder a interfaces en modo texto, es decir, la terminal, para poderlo arreglar.
Éste tipo de interfaz es mucho más simple y es mucho más difícil que falle, por lo que
es ideal para entornos de recuperación de sistemas. Además de que precisa de pocos
recursos y ayuda a que equipos antiguos funcionen correctamente.
65
Figura No. 23 Arbol de directorios del sistema en el sistema operativo Linux.
Debemos aclarar también, que hay varias shell disponibles, cada una con sus
particularidades, aunque la mayoría se parecen mucho y comparten los mismos
comandos para las principales tareas: sh (Bourne Shell), csh (C Shell), bash (Bourne
Again Shell), tcsh (TENEX C Shell), zsh, ksh (Korn shell), dash (Debian Almquist shell),
etc. En ésta serie seguiré siempre los principios de la Shell Bash, ya que es la más
utilizada y la configurada por defecto en la mayoría de las distribuciones.
Por otro lado, para acceder a las shell utilizamos un emulador de terminal, del cual
también hay mucho diferentes: Xterm, Gnome terminal, Konsole, LXTerminal, Tilda,
Guake, Yakuake, Nautilus Embedded Terminal, Eterm, ROXTerm… Cada uno tiene
unas características y herramientas diferentes, por lo que se amolda a unas
necesidades concretas. Mi consejo es que utilices el que más te convenga, puedes usar
66
la que tenga por defecto tu distribución, o probar diferentes hasta dar con tu terminal
perfecta.
En los sistemas Unix esto ha existido prácticamente desde siempre ya que los usuarios
se conectaban al servidor mediante <b>telnet </b>y lanzaban procesos de forma
remota. El telnet es una aplicación cliente de terminal que permite desde cualquier PC
de la red conectarse a un servidor. Para que la conexión remota sea posible, el servidor
deberá tener instalado el software de servidor de telnet que en Debian es el paquete
telnetd.
67
ventana de ms-dos o un terminal en modo texto de unix. En los años 80-90 era
impensable que múltiples usuarios pudieran conectarse a un sistema remoto con
terminales gráficos ya que requieren de una gran cantidad de memoria.
Para disfrutar de un terminal remoto en modo gráfico con X-Window, debemos disponer
en nuestro terminal remoto de un servidor grafico X. Los clientes de nuestro servidor
gráfico X serán las aplicaciones que lancemos en el servidor y que redigirán la salida
hacia nuestro servidor gráfico para que podamos visualizar en nuestro terminal las
ventanas generadas por las aplicaciones. Las aplicaciones se ejecutan en el servidor
pero las ventanas se visualizan en el terminal.
68
Figura No. . Sistema terminal-servidor en ambiente Windows.
En centros educativos, disponer de algún aula con un sistema de terminales nos ofrece
algunas ventajas:
Aula de bajo coste:</b> Con un PC moderno para el servidor con suficiente memoria
RAM (por ejemplo 8 GB) y 12 PCs obsoletos (Pentium I, Pentium II), podemos tener un
aula de informática de 12 PCs por poco más que el precio de uno. El puesto de trabajo
del profesor podría ser el propio servidor. En lugar de usar PCs obsoletos, se pueden
adquirir CPUs básicas similares a las de los netbooks, que ocupan poco y pueden
ocultarse tras el monitor, ahorrando espacio.
Como todos los PCs se conectan al servidor y ejecutan sus aplicaciones, solo es
necesario instalar y configurar aplicaciones en el servidor. Lo mismo ocurre con las
impresoras y el acceso a Internet, solo hay que configurarlo en el servidor. Solamente
hay que mantener un PC para que funcionen los 12.
A medida que pasa el tiempo, los PCs se van quedando obsoletos y es necesario ir
ampliando el disco duro, la memoria, y cuando se quedan pequeños, hay que cambiar
el PC completo. En éste caso solo será necesario aumentar las prestaciones del
servidor.
69
Al quedar todos los documentos de los usuarios almacenados en el servidor, el acceso
no autorizado a datos de otros usuarios es más dificil ya que requiere el acceso físico al
servidor. La realización de copias de seguridad es más sencilla ya que todos los
documentos de los usuarios se encuentran en el servidor.
La solución que se suele adoptar en un sistema de este tipo para el acceso físico a los
documentos, es utilizar una herramienta web tipo blog, wiki o plataforma de formación.
Los usuarios tendrían acceso a sus documentos vía web. Con una herramienta web
adecuada, los usuarios podrán subir y bajar archivos, así como crear o eliminar carpetas
de una forma sencilla. Para almacenar sus documentos en un pendrive, los usuarios
deberán ir a un terminal con puerto USB y descargar sus documentos desde la web.
Esta forma de trabajo es ventajosa ya que podremos acceder a nuestros documentos
desde cualquier PC de la intranet, y si el servidor web es accesible desde fuera, desde
cualquier PC de Internet.
El único requisito que deben cumplir los PCs que hacen de terminales es disponer de
tarjeta de red y disponer de servidor gráfico X. Todos los Linux disponen de servidor
gráfico X. Una distribución de Linux ligera apta para ser usada en los terminales es
Damn Small Linux ([Link] También existen servidores gráficos
X para sistemas operativos Microsoft Windows, algunos de pago como X-win32 y libres
como Xming o como cygwin [Link]
Uno de los problemas que nos encontramos en el centro es que tanto el profesorado
como el personal de administración pretenden utilizar el servidor como un cliente más.
Es muy frecuente que nos pregunten el motivo de tener un equipo con una contraseña
que únicamente conoce una persona y por lo tanto no puede ser utilizado ni para
imprimir un documento. El personal de administración, escaso de recursos informáticos,
considera un derroche económico tener un equipo parado.
70
Conexión remota mediante ssh
SSH es un protocolo que, entre otras cosas, permite establecer una conexión en modo
texto desde un terminal hacia un servidor, pero si en el terminal disponemos de un
servidor gráfico X, sería posible incluso ejecutar aplicaciones gráficas en el servidor y
redirigir la salida hacia el servidor gráfico de nuestro terminal, logrando una conexión
gráfica remota.
Para realizar una conexión gráfica remota mediante ssh necesitamos tan solo dos
elementos:
Como terminal gráfico X sirve un PC que tenga cualquier distribución de linux en modo
gráfico. Incluso existe la posibilidad de conectar desde sistemas operativos Microsoft
Windows si instalamos cygwin. Los pasos a realizar son dos:
El servidor ssh deberá tener activada la redirección del protocolo X (lo está por defecto),
es decir, deberá tener el siguiente parámetro en el archivo de configuración
/etc/ssh/sshd_config:
X11Forwarding yes
Nota: Para más información sobre el servicio ssh, consultar el apartado <b>Otros
servicios
Una vez dispongamos de un servidor ssh funcionando, desde el cliente podremos iniciar
sesión en el servidor mediante el comando ssh (cliente ssh) y una vez iniciada sesión
en el servidor, podemos lanzar cualquier aplicación gráfica que se visualizará en la
pantalla del cliente.
Por ejemplo, supongamos que en nuestro terminal tenemos una versión reducida de
Linux como Damn Small Linux ([Link] y deseamos
conectarnos a otro PC que tiene instalado Ubuntu y ejecutar el editor gráfico gimp, los
pasos que haremos serán:
71
[dsl]$ ssh -X pepe@[Link] // Nos
conectamos por ssh como usuario...
...pepe y añadimos la opción -X para
redirigir Xwindows.
[ubuntu]$ gimp // Ya estamos conectados.
Ejecutamos el gimp
El resultado será que desde el terminal podemos manejar la aplicación gimp que
realmente se está ejecutando en el servidor. Podemos verlo en la siguiente imagen:
72
De esta forma tendremos en nuestro terminal un escritorio gnome del servidor.
SABIAS QUE:
Para Linux todo es un archivo, incluyendo dispositivos como discos duros, cdroms,
disquetes, unidades de cinta, memorias usb, etc., asi como dispositivos de
comunicación como puertos seriales y paralelos, modems, etc, incluso también las
consolas o terminales son dispositivos asociados a un archivo. Estos dispositivos son
enlazados (linked) a un dispositivo de archivo, es decir un dispositivo físico es
representado o asociado a un archivo. Estos archivos se encuentran bajo el directorio
/dev.
Los dispositivos en Linux son identificados con un designador de dos o tres letras,
además si el dispositivo admite particiones se utiliza una progresión numérica o
alfabética para identificar la partición. En la siguiente tabla se indica el designador de
tipo dispositivo y su descripción.
73
Tipo Dispositivo
hd Discos duros IDE y dispositivos IDE como cdroms
sd Discos duros SCSI
scd Cdrom SCSI
st Unidades de cinta SCSI
ht Unidades de cinta IDE
fd Unidades de diquetes
lp Puertos paralelos
tty Terminales o consolas
pty Terminales remotas o de red, incluyendo las abiertas en Window X
ttyS Puertos seriales
cua Puertos de comunicación
eth Tarjetas o interfaces de red ethernet
Los dispositivos que admiten particiones generalmente estas se designan con letras, asi
por ejemplo las unidades IDE que son las más comunes en cualquier PC actual su
designación sería la siguiente:
El equivalente Windows es suponiendo una sola partición en el disco, ahora bien en Linux,
por ejemplo, el dispositivo /dev/hda es en si el disco duro completo, pero ya particionado se
numera secuncialmente a partir de 1 cada partición, entonces realmente nuestro sistema de
archivos suponiendo una sola partición, estaría en /dev/hda1. En los dispositivos se admiten
hasta 4 particiones primarias y una de ellas puede ser extendida, dentro de una extendida
puede haber hasta 16 particiones lógicas, en Linux las particiones lógicas comienzan a partir
de 5, esto para diferenciar claramente de la 1 a la 4 como particiones primarias.
Los dispositivos que no admiten particiones en sus sistemas de archivos tales como
disquetes o cdroms, se numeran secuncialmente a partir de 0 o simplemente se omite.
Ejemplos:
74
Disquete equivalente a: en Windows, en Linux: /dev/fd0
Disquete equivalente b: en Windows, en Linux: /dev/fd1
Unidad de cdrom en secundario maestro: /dev/hdc
/dev/cdrom
Si el modem está conectado, por ejemplo, al puerto serial ttyS0, también es común encntrar
o uno mismo crear un enlace simbólico a dicho puerto, llamado /dev/modem. (ln -s
/dev/ttyS0 /dev/modem)
Puertos paralelos se designan de la siguiente manera, incluyendo el equivalente Windows:
Los dispositivos periféricos del sistema generalmente entran en una de tres clases:
75
Dedicados
Compartidos
Virtuales
En en algunas placas madres tendrá que desconectar el puerto serie que el módem está
suplantando para evitar conflictos. Esto se puede hacer con los puentes o en la
configuración de la BIOS, dependiendo de su placa madre. Consulte el manual de su placa
madre.
Debido a un error en la placa de vídeo IBM8514, puede tener problemas si quiere poner su
módem interno en ttyS3. Si Linux no detecta su módem interno en ttyS3, puede
usar setserial y el módem funcionará bien. Los módems internos conectados en ttyS{0-
2} no deben tener ningún problema para ser detectados. Linux no efectúa ninguna
autoconfiguración en ttyS3 debido a este error en la placa de vídeo.
Use kermit o algún otro programa simple de comunicaciones para probar la configuración,
antes de meterse en programas de comunicación más complejos. (Por razones
legales, kermit no se distribuye en las distribuciones comerciales. Puede encontrar la última
versión de kermit en [Link] y servidores espejo). Por
76
ejemplo, digamos que su módem está en ttyS3, y su velocidad es 38400 bps. Puede hacer
lo siguiente:
linux# kermit
C-Kermit 5A(188), 23 Nov 92, POSIX
Type ? or HELP for help
C-Kermit>set line /dev/cua3
C-Kermit>set speed 38400
/dev/cua3, 38400 bps
C-Kermit>c
Connecting to /dev/cua3, speed 38400.
The escape character is Ctrl-\ (ASCII 28, FS)
Type the escape character followed by C to get back,
or followed by ? to see other options.
ATV1
OK
<ctrl>-\-C
(Back at linux)
C-Kermit>quit
linux#
Si su módem responde a los comandos AT, puede suponer que está funcionando
correctamente en lo que respecta a Linux. Intente llamar a otro módem.
Si su módem responde a los comandos AT, puede suponer que está funcionando
correctamente en lo que respecta a Linux. Intente llamar a otro módem.
Cuando llame con su módem, configure la velocidad a la más alta que éste soporte. Las
versiones de Linux con una versión de libc superior a 5.x tienen soporte para velocidades
de hasta 115200 bps. libcnormalmente está en /lib, así que mire allí para saber que versión
tiene. Si Linux no reconoce una velocidad de 57600 ó 115200 bps, entonces debe usar el
programa setserial para configurar el puerto serie a una velocidad mayor.
Si sólo va a hacer llamadas, puede configurar el módem como quiera. Si tiene la intención
de usar el módem para recibir llamadas, debe configurar el módem a la misma velocidad a
la que quiera que funcionegetty. Es decir, si quiere usar getty a 38400 bps, ponga la
velocidad a 38400 bps cuando configure el módem. Esto se hace para prevenir desajustes
entre el ordenador y el módem. En general, la configuración de fábrica, que activa la
corrección de errores y el control de flujo por hardware, es la mejor configuración para hacer
llamadas, consulte el manual de su módem para activar estas opciones.
77
Control de flujo por hardware
Si su módem soporta el control de flujo por hardware (RTS/CTS), le recomiendo que lo use.
Esto es particularmente importante para módems que soporten la compresión de datos.
Primero, tendrá que activar el control de flujo RTS/CTS del puerto serie. Es mejor hacerlo
en el arranque, en el fichero /etc/rc.d/[Link] o /etc/rc.d/[Link]. ¡Asegúrese de que estos
ficheros son llamados desde el fichero principal [Link]!. Necesita hacer lo siguiente para
cada puerto serie en que quiera activar el control de flujo por hardware:
Para llamar y recibir llamadas, tiene que configurar el módem de un cierto modo (de nuevo,
usando los comandos AT del módem):
Esto afecta a lo que hace su módem cuando inicia o finaliza una llamada.
Configurando uugetty
Para recibir llamadas y llamar con su módem, vamos a usar uugetty. uugetty hace
importantes comprobaciones de los ficheros de bloqueo. Actualice /etc/gettydefs para
incluir las entradas de los módems si todavía no están allí (nótese que cada entrada apunta
a otra, esto no es para velocidades fijas - las líneas en blanco son necesarias entre cada
entrada):
78
# Entradas del modem
38400# B38400 CS8 # B38400 SANE -ISTRIP HUPCL #@S @L
@B login: #19200
Si tiene un módem de 9600 bps o más rápido con compresión de datos, puede bloquear la
velocidad del puerto serie y permitir que el módem controle las transiciones a otras
velocidades. Entonces, en vez de la serie descendente de líneas listadas
antes, /etc/gettydefs sólo necesita contener una línea para el módem:
Si tiene configurado su modem con control de flujo por hardware RTS/CTS, puede
añadir CRTSCTS a las entradas:
79
@B Velocidad actual en bps (calculada en el
momento que se lee @B).
@D Fecha actual, en MM/DD/AA.
@L Linea serie a la cual está conectado getty.
@S Nombre del sistema.
@T Hora actual, en HH:MM:SS (24 horas).
@U Numero de usuarios actualmente conectados.
Esto es, el numero de entradas en el fichero
/etc/utmp que tienen un campo ut_name no nulo.
@V Valor de VERSION, dado en el fichero de
opciones por defecto.
Para que se vea el carácter '@', use '\@' o '@@'.
Después, asegúrese de que tiene un dispositivo de entrada y otro de salida para el puerto
serie en que esté el módem. Si tiene el módem en ttyS3, necesitará los
dispositivos /dev/cua3 y /dev/ttyS3.
uugety a medida
Existen un montón de parámetros que puede configurar para cada puerto. Están
implementados en distintos ficheros de configuración para cada puerto. El
fichero /etc/[Link] será usado por cadaejecución de uugetty,
y /etc/[Link] será usado solamente para ese puerto. Se pueden encontrar
ejemplos de ficheros de configuración por defecto en los ficheros fuentes de getty, que
viene con la mayoría de las distribuciones de Linux. Debido a lo que ocupan, no lo vamos
a listar aquí. Nótese que si está usando una versión antigua de getty (anterior a la 2.0.7e),
o no está usando FSSTND, entonces el fichero por defecto debe
ser /etc/default/[Link]. Mi fichero /etc/[Link].ttyS3 es como sigue:
80
# cadena de inicializacion del modem ...
# formato: <esperado> <enviado> ... (secuencia de
chat)
INIT="" AT\r OK\r\n
WAITFOR=RING
CONNECT="" ATA\r CONNECT\s\A
# esta linea configura el tiempo de espera antes de
enviar el mensaje de login
DELAY=1
#DEBUG=010
linux# init q
En el parámetro de velocidad de /etc/inittab, debe poner la velocidad en bps más alta que
soporte su módem. Ya que uugetty no soporta velocidades de 57600 ó 115200 bps, debe
usar el programa setserial para configurar el puerto serie a una velocidad superior.
Ahora Linux vigilará el puerto serie por posibles conexiones. Llame desde otro sitio y
conéctese a su sistema Linux.
uugetty tiene muchas opciones, vea la página man de getty(1m) para una descripción
completa. Además de otras cosas hay una característica de planificación y otra de
rellamada.
4. Monitorización y mantenimiento
81
funcionamiento.
Entre las diferentes tareas a realizarse, figuran las asociadas al rendimiento, estado y
espacio de los dispositivos de almacenamiento en los sistemas
operativos. Independientemente de la distro que se este utilizando, sabemos que es super
importante y vital verificar que nuestros discos discos no estén en mal estado, con sectores
dañados o sin espacio. Todo esto, para lograr el funcionamiento deseado.
Fdisk
En caso de no contar con interfaz gráfica para la gestión de Disco Duro (algo muy
común en las distribuciones dedicadas a servidores, ya que mejoran el uso de los recursos),
esta herramienta resulta la ideal, pues nos ayudara inmensamente en nuestras tareas.
Con este utilitario podremos crear, redimensionar, cambiar, eliminar, mover o cambiar
particiones usando el simple menú que brinda. Su única limitante es que está en 4
particiones primarias máximo por cada disco, y un número de particiones extendidas o
lógicas que cambiara de acuerdo al tamaño del disco duro.
A continuación mostraremos algunos de los comandos más utilizados para la gestión de
Disco duro y particiones en el sistema operativo Linux. Por supuesto, le recordamos que
82
para hacer uso de estos comandos, debemos hacerlo con usuario root o usuarios con
privilegios similares para evitar inconvenientes al momento de las ejecuciones.
1 fdisk –l /dev/sdb
1 fdisk /dev/sdb
1 m
1 p
83
Una vez ingresemos al menú de fdisk, pulsamos la opción “d”, correspondiente a ‘delete”
(eliminar) en la herramienta. tras ello, solicitara que se ingrese el numero de ha sido
asignado a la partición que nos interesa eliminar.
1d
NOTA: La eliminación de una partición conlleva la pérdida de absolutamente todos los datos
que están bajo su almacenamiento, por lo que su recuperación sería casi imposible. Por lo
cual, debemos estar seguros del listado de particiones al momento de realizar esta acción.
Una vez que estemos seguros del número de partición que vamos a eliminar, lo introducimos
y el siguiente a realizar es pulsar “w” (de write, escribir) para probar y confirmar la
acción. Los cambios se verán reflejados en el próximo inicio del sistema.
12
1w
Podemos aprovechar los espacios en desuso del disco duro, asignándolo a una nueva
partición. Es muy sencillo realizar el proceso. Nuevamente, accedemos al menú de fdisk,
con el comando y el dispositivo como parámetro.
1 fdisk /dev/sdb
Desde el menú, pulsamos “n” (nueva o new) para crear la partición nueva.
1 n
El siguiente paso sera seleccionar el tipo de partición, es decir, si sera primaria o extendida
(conocida como lógica). En caso de ser primaria, pulsamos”p” y para una extendida “e”.
A continuación, solicitara dos datos, el primero y el último cilindro que identificaran la
partición. Basta con colocar “+10000M” en “last cylinder”, o cual significa que + (suma)
10000MB. Al igual que oras opciones, debemos escribir “w” para confirmar los cambios en
la tabla de particiones y que se apliquen en el reinicio del sistema.
No podemos olvidar que luego de crear una nueva partición, debemos darle formato, ya que
no es una acción que se aplique por defecto. Para ello introducimos el siguiente comando:
84
1 mkfs.ext4 /dev/sdb5
Donde, .ext4 indica el formato de archivos para la partición y sdb5 es un valor que cambia
en cada sistema dependiendo dela configuración de particiones.
Para verificar si nuestra nueva partición ya esta creada y con formato, podemos usar fdisk
con el argumento “-s”, la cual nos mostrara los bloques de tamaño que ocupa dicha partición.
Por ejemplo:
1 fdisk -s /dev/sdb5
1 fdisk /dev/sdb
Esperamos que toda esta información les sea de utilidad, no olvides dejarnos en los
comentarios si te ha sido útil o que otras herramientas utilizas para la gestión de disco duro
y particiones en tu distribución.
Ya no es muy habitual usar el terminal para gestionar archivos. No para el usuario medio de
escritorio pero alguna vez no está de más recordar algo de teoría. Al contrario de lo que
muchos pueden pensar empaquetar, comprimir o descomprimir ficheros no es más
complicado en Linux que en el antiguo MS/DOS. ¿Acaso no hemos dejado los dedos
tecleando para comprimir con ARJ o RAR?
85
tar -cvf [Link] /dir/a/comprimir/
En cambio para poder desempaquetar los ficheros .tar, utilizamos el siguiente comando:
Ficheros gz
gzip -9 fichero
gzip -d [Link]
-d : indica descompresión
Ficheros bz2
86
bzip fichero
bzip2 -d fichero.bz2
-d : indica descompresión.
Nota: Tanto el compresor gzip como bzip2, solo comprimen ficheros, no directorios, para
comprimir directorios (carpetas), se debe de usar en combinación con tar.
Ficheros [Link]
Ficheros tar.bz2
Para comprimir en tar.bz2 usaremos un “truco”, mediante el uso del parámetro pipeline ( |
). Esto permite hacer que dos programas trabajen “juntos”.
87
Ficheros [Link]
Ficheros tar.bz2
Para comprimir en tar.bz2 usaremos un “truco”, mediante el uso del parámetro pipeline ( |
). Esto permite hacer que dos programas trabajen “juntos”.
Ficheros zip
unzip [Link]
unzip -v [Link]
88
Ficheros rar
unrar -x [Link]
unrar -v [Link]
unrar -l [Link]
La gestión de redes abarca hoy en día muchos aspectos, que pueden resumirse o
sintetizarse en tareas de “despliegue, integración y coordinación del hardware, software y
los elementos humanos para monitorizar, probar, sondear, configurar, analizar, evaluar y
controlar los recursos “de una red para conseguir niveles de trabajo y de servicio adecuados
a los objetivos de una instalación y de una organización.
Abarcarlos todos es complejo más aún cuando se precisan con prontitud profesionales
capaces de conocer tecnologías asociadas a redes y proponer servicios.
Tipos de información
Necesidad
Los sistemas de información son imprescindibles y están soportadas sobre las redes.
La información manejada tiende a ser cada día mayor y a estar más dispersa.
En la mayoría de los sistemas de redes existen productos y servicios de múltiples
fabricantes los cuales incorporan diversas tecnologías que provocan un constante
aumento de la complejidad de los recursos gestionados tanteen cantidad como una
heterogeneidad.
89
Los sistemas de información son imprescindibles y están soportados sobre las redes.
La información manejada tiende a ser cada día mayor y a estar más dispersa.
En la mayoría de los sistemas de redes existen productos y servicios de múltiples
fabricantes los cuales incorporan diversas tecnologías que provocan un constante
aumento de la complejidad de los recursos gestionados tanto en cantidad como en
heterogeneidad.
Agente
o Reporta el estado de los elementos de redes que están siendo administrados.
o Recibe comandos del NMS para realizar acciones.
o Base de datos compartida en los agentes y el NMS que provee información sobre
los elementos de redes.
Áreas funcionales
4.2.1 Tarjetas
ifconfig
# ifconfig -a
El nombre usual de la interfaz de red Ethernet primaria es eth0. Para encontrar los detalles de una
interfaz específica, por ej., eth0, puede utilizar:
90
# ifconfig eth0
Link encap: corresponde al tipo de medio de hardware físico soportado por esta interfaz
(Ethernet, en este caso)
HWaddr: es el identificador exclusivo de la tarjeta NIC. Cada tarjeta NIC tiene un
identificador exclusivo asignado por el fabricante, denominado MAC o dirección MAC.
La dirección de IP se adjunta al MAC del servidor. Si esta dirección de IP cambia, o esta
tarjeta se mueve desde este servidor a otro, el MAC continúa siendo el mismo.
Mask: corresponde a la máscara de red
inet addr: es la dirección de IP que se adjunta a la interfaz
RX packets: se refiere a la cantidad de paquetes recibidos por esta interfaz
TX packets: se refiere a la cantidad de paquetes enviados
errors: es la cantidad de errores de envío y recepción
El comando no se utiliza solamente para controlar los parámetros; también se utiliza para
configurar y administrar la interfaz. A continuación presentamos un breve listado de los
parámetros y opciones de este comando:
91
De manera similar, para conectarla (o activarla), usted debería utilizar:
# ifconfig eth0 up
media – establece el tipo de medio Ethernet como 10baseT, 10 Base 2, etc. Los valores
comunes para el parámetro de medios son 10base2, 10baseT, y AUI. Si usted desea que
Linux detecte el medio automáticamente, puede especificar “auto”, como se muestra a
continuación:
# ifconfig eth0 media auto
add – establece una dirección de IP específica para la interfaz. Para determinar una
dirección de IP [Link] para la interfaz eth0, usted debería emitir lo siguiente:
En un entorno Oracle Real Application Clusters usted debe establecer la máscara de red en
cierto modo, utilizando este comando.
<TypeOfInterface> muestra el tipo de interfaz, por ej., ether, para Ethernet. Aquí se muestra
cómo la dirección MAC ha cambiado para eth0 a [Link].90.12 (Nota: la dirección MAC
que aquí se muestra es ficticia. En caso de ser igual a otra MAC real, es pura coincidencia):
Esto es útil cuando usted agrega una nueva tarjeta (con una nueva dirección MAC) pero no
desea cambiar la configuración relacionada con Linux como por ejemplo las interfaces de
red.
netstat
El estado input y output a través de una interfaz de red se evalúa por medio del comando
netstat. Este comando puede brindar información completa sobre el desempeño de la
interfaz de red, incluso por debajo del nivel de socket. Aquí vemos un ejemplo:
92
# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 prolin1:31027 prolin1:5500 TIME_WAIT
tcp 4 0 prolin1l:1521 applin1:40205 ESTABLISHED
tcp 0 0 prolin1l:1522 prolin1:39957 ESTABLISHED
tcp 0 0 prolin1l:3938 prolin1:31017 TIME_WAIT
tcp 0 0 prolin1l:1521 prolin1:21545 ESTABLISHED
… and so on …
El output de arriba muestra todos los sockets abiertos. En términos más simples, un socket es
similar a una conexión entre dos procesos. [Por favor tenga en cuanta que, estrictamente
hablando, los conceptos “sockets” y “conexiones” son técnicamente diferentes. Un socket
podría existir sin una conexión. Naturalmente, una conexión debe tener un origen y un
destino, denominados dirección local y remota. Los puntos de destino podrían estar en el
mismo servidor o en servidores distintos.
En muchos casos, los programas se conectan al mismo servidor. Por ejemplo, si dos
procesos se comunican entre ellos, la dirección local y remota será la misma, como puede
observar en la primera línea –tanto la dirección local como la remota corresponden al
servidor “prolin1”. No obstante, los procesos se comunican a través de un puerto, que es
diferente. El puerto se muestra luego del nombre de host, después de los dos puntos “:”. El
programa del usuario envía los datos que deben remitirse a través del socket a una cola y
el receptor los lee desde la cola de destino remoto. Éstas son las columnas del output:
93
1521; de manera que el puerto de origen es 1521. En esta conexión, el servidor
envía los datos solicitados al cliente.
La columna State muestra el estado de la conexión. Aquí vemos algunos valores
comunes.
ESTABLISHED – implica que la conexión ha sido establecida. No significa que los
datos fluyen entre los puntos de destino; simplemente que se ha establecido una
comunicación entre ellos.
CLOSED – la conexión se ha cerrado, es decir, no está siendo utilizada.
TIME_WAIT – la conexión se está cerrando pero aún hay paquetes pendientes en
la red.
CLOSE_WAIT – el destino remoto ha sido cerrado y se ha solicitado el cierre de
conexión.
Pues bien, a partir de las direcciones locales (local) y externas (foreign), y especialmente a
partir de los números de puertos, probablemente podamos deducir que las conexiones son
conexiones relacionadas a Oracle, pero ¿no sería mejor estar seguros? Por supuesto. La
opción -p también muestra la información del proceso:
# netstat -p
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 prolin1:1521 prolin1:33303 ESTABLISHED 1327/oraclePROPRD1
tcp 0 0 prolin1:1521 applin1:51324 ESTABLISHED 13827/oraclePROPRD1
tcp 0 0 prolin1:1521 prolin1:33298 ESTABLISHED 32695/tnslsnr
tcp 0 0 prolin1:1521 prolin1:32544 ESTABLISHED 15251/oracle+ASM
tcp 0 0 prolin1:1521 prolin1:33331 ESTABLISHED 32695/tnslsnr
Esto muestra claramente el IP del proceso y el nombre del proceso en la última columna, la
cual confirma que corresponden a procesos del servidor de Oracle, al proceso listener, y a
los procesos del servidor ASM.
Para ver las estadísticas de red de las distintas interfaces, utilice la opción -i.
# netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 6860659 0 0 0 2055833 0 0 0 BMRU
eth8 1500 0 2345 0 0 0 833 0 0 0 BMRU
lo 6436 0 14449079 0 0 0 14449079 0 0 0 LRU
Esto muestra las distintas interfaces presentes en el servidor (eth0, eth8, etc.) y las métricas
relacionadas con la interfaz.
RX-OK muestra la cantidad de paquetes que son exitosamente enviados (para esta interfaz)
RX-ERR muestra la cantidad de errores
RX-DRP muestra los paquetes rechazados que debieron ser reenviados (ya sea con éxito o
no)
94
RX-OVR muestra un exceso de paquetes
El próximo grupo de columnas (TX-OK, TX-ERR, etc.) muestra las stats (estadísticas)
correspondientes a los datos enviados.
La columna Flg expresa un valor compuesto de la propiedad de la interfaz. Cada letra indica
una propiedad específica presente. A continuación se detalla el significado de las letras.
B – Broadcasting (Difusión)
M –Multicast (Multidifusión)
R – Running (En ejecución)
U – Up (Activado)
O – ARP Off (ARP desactivado)
P – Point to Point Connection (Conexión Punto a Punto)
L – Loopback (Circuito cerrado)
m – Master
s – Slave
Usted pude utilizar la opción --interface (nota: hay dos guiones, no uno) para desplegar una
interfaz específica.
# netstat --interface=eth0
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 277903459 0 0 0 170897632 0 0 0 BMsRU
De más está decir que, el output es amplio y un poco difícil de captar de un solo intento. Si
usted está realizando una comparación entre interfaces, sería lógico tener un output tabular.
Si desea examinar los valores en un formato más legible, utilice la opción -e para producir
un output extendido:
# netstat -i -e
Kernel Interface table
eth0 Link encap:Ethernet HWaddr [Link]
inet addr:[Link] Bcast:[Link] Mask:[Link]
inet6 addr: fe80::213:72ff:fecc:eb00/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6861068 errors:0 dropped:0 overruns:0 frame:0
TX packets:2055956 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3574788558 (3.3 GiB) TX bytes:401608995 (383.0 MiB)
Interrupt:169
¿El output le resulta conocido? Debería ser así ya que es el mismo que el output de ifconfig.
Si prefiere que el output despliegue las direcciones de IP en lugar de los nombres del host,
utilice la opción -n.
95
# netstat -s -u
Udp:
12764104 packets received
600849 packets to unknown port received.
0 packet receive errors
13455783 packets sent
Del mismo modo, para ver las stats de tcp, utilice -t y para raw, -r.
Una de las opciones realmente útiles es desplegar la tabla de ruta, utilizando la opción -r.
# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
[Link] * [Link] U 0 0 0 bond0
[Link] * [Link] U 0 0 0 eth9
[Link] * [Link] U 0 0 0 eth9
default [Link] [Link] UG 0 0 0 bond0
La cuarta columna, denominada Flags, despliega las siguientes etiquetas que describen la
ruta:
La siguientes tres columnas muestran los valores MSS, Window e irtt que se aplicarán a las
conexiones TCP establecidas por medio de esta ruta.
96
El protocolo TCP posee un control de fiabilidad incorporado. Si un paquete de datos falla
durante la transmisión, éste es retransmitido. El protocolo lleva un registro de cuánto tiempo
tardan los datos en llegar a destino y en confirmarse su recepción. Si la confirmación no
llega dentro de ese plazo de tiempo, el paquete es retransmitido. La cantidad de tiempo que
el protocolo debe esperar antes de retransmitir los datos se establece solo una vez para la
interfaz (la cual puede cambiarse) y ese valor es conocido como initial round trip time. Un
valor de 0 implica que el valor por defecto es utilizado.
Finalmente, el último campo despliega la interfaz de red que utilizará esta ruta.
nslookup
Cada host accesible en una red debería tener una dirección de IP que le permita identificarse
exclusivamente en la red. En Internet, que es una red extensa, las direcciones de IP permiten
que las conexiones lleguen a los servidores que ejecutan sitios Web, por ej.,
[Link]. Por lo tanto, cuando un host (como un cliente) desea conectarse a otro
(como un servidor de base de datos) utilizando su nombre y no su dirección de IP ¿cómo el
browser cliente sabe a qué dirección conectarse?
# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
[Link] [Link] localhost
[Link] [Link] prolin1
[Link] [Link] prolin2
Ahora bien, de todas formas, usted posiblemente no puede colocar todas las direcciones de
IP del mundo en este archivo. Por lo que debería haber otro mecanismo que establezca la
resolución del nombre. Un servidor con un propósito especial denominado nameserver
realiza esa función. Es como un directorio que provee su compañía telefónica; no su
directorio personal. Pueden existir varios nameservers disponibles dentro y fuera de la red
privada. El host contacta a uno de estos nameservers primero, obtiene la dirección de IP del
host de destino que desea contactar y luego intenta conectarse a la dirección de IP.
97
¿Y cómo el host sabe cuáles son estos nameservers? Busca en un archivo especial llamado
/etc/[Link] para obtener esa información. Aquí vemos un archivo resolv de ejemplo.
; generated by /sbin/dhclient-script
search [Link]
nameserver [Link]
nameserver [Link]
nameserver [Link]
¿Pero cómo podemos estar seguros de que la resolución del nombre está funcionando
perfectamente para un nombre de host específico? En otras palabras, usted quiere
asegurarse de que cuando el sistema de Linux intente contactarse a un host denominado
[Link], pueda encontrar la dirección de IP en el nameserver. El comando nslookup es
útil para eso. Vea a continuación cómo utilizarlo:
# nslookup [Link]
Server: [Link]
Address: [Link]#53
# nslookup [Link]
Server: [Link]
Address: [Link]#53
dig
98
# dig [Link]
;; QUESTION SECTION:
;[Link]. IN A
;; ANSWER SECTION:
[Link]. 300 IN A [Link]
;; AUTHORITY SECTION:
[Link]. 3230 IN NS [Link].
[Link]. 3230 IN NS [Link].
[Link]. 3230 IN NS [Link].
[Link]. 3230 IN NS [Link].
[Link]. 3230 IN NS [Link].
[Link]. 3230 IN NS [Link].
[Link]. 3230 IN NS [Link].
[Link]. 3230 IN NS [Link].
;; ADDITIONAL SECTION:
[Link]. 124934 IN A [Link]
[Link]. 124934 IN A [Link]
[Link]. 46043 IN A [Link]
[Link]. 46043 IN A [Link]
[Link]. 46043 IN A [Link]
[Link]. 46043 IN A [Link]
[Link]. 46043 IN A [Link]
[Link]. 46043 IN A [Link]
Desde el output mammoth, se destacan varias cosas. Muestra que el comando ha enviado
una consulta al nameserver y el host obtuvo una respuesta del nameserver. La resolución
del nombre también ha sido efectuada en otros nameservers como [Link]. Esto
demuestra que la consulta tardó 97 milisegundos en ejecutarse.
Si el tamaño del output no es el adecuado, usted puede utilizar la opción +short para eliminar
las palabras redundantes del output:
También puede utilizar la dirección de IP para realizar una búsqueda inversa del nombre de
host a partir de la dirección de IP. Para esto se utiliza la opción -x.
# dig -x [Link]
99
El parámetro +domain es útil cuando usted busca un host dentro de un dominio. Por ejemplo,
supongamos que usted está buscando el host otn en el dominio [Link], usted puede
utilizar:
4.2.2 Protocolos
Servicio DNS
DNS permite asociar nombres a direcciones IP, esto es importante para facilitarnos la
identificación de computadores en una red.
Como se describe en el RFC 1034, DNS puede verse desde 3 puntos de vista:
Usuario
Un usuario emplea nombres de dominios DNS al solicitar conexiones con máquinas cuyos
nombres describen posiciones en un árbol de nombres. Por ejemplo
[Link].
Resolvedor de nombres
Los programas emplean un resolvedor de nombres. Este resolvedor recibe nombres con la
estructura antes descrita, busca en un depósito [213] de nombres, de requerirlo trata de
conectarse con uno o más servidores de nombres que puedan responder la consulta, envia
la consulta y analiza la respuesta.
Servidor de nombres
Servicio NFS
Como se describe en el RFC 1813, el protocolo NFS permite acceder de forma transparente
sistemas de archivos compartidos que están en máquinas remotas. Hay muchas
100
posibilidades para usar este servicio, nuestra plataforma de referencia lo aprovecha para
distribuir información de usuarios (directorio /home del servidor), las colas de correo
(/var/mail) y los programas y documentos disponibles en el servidor (directorio /usr). Así
mismo permite aprovechar el espacio de sobra de cada cliente (directorio /aux).
Al igual que otros servicios, NFS cuenta con un cliente y un servidor. El servidor NFS permite
exportar directorios del computador en el que corre a computadores donde se ejecute el
cliente, mientras estos últimos tengan permiso para importar tales directorios. Los directorios
que se exportan, así como las restricciones sobre los clientes que pueden importarlos se
especifican en el archivo /etc/exports. Por ejemplo el siguiente es el archivo /etc/exports del
servidor de nuestra plataforma de referencia:
/usr *.[Link](ro,no_root_squash)
/home *.[Link](rw,no_root_squash)
/var/mail *.[Link](rw,no_root_squash)
Este archivo especifica que pueden exportarse con permiso de lectura y escritura los
directorios /home, /var/mail. Puede exportar con permiso de sólo lectura (ro) el
directorio /usr. Todos estos directorios pueden ser importados por máquinas con nombres
de la forma [Link]. La opción no_root_squash indica que los archivos de
usuario y grupo root exportados del servidor sean tratados como si fueran del usuario y
grupo root en los clientes.
Servicio NIS
NIS de forma análoga a DNS opera sobre un grupo de computadores (dominio) y mantiene
bases de datos (mapas) centralizadas en un servidor maestro, que pueden ser consultadas
por los clientes. Para disminuir carga podrían ponerse servidores esclavos que repliquen la
información del servidor maestro.
Para usar NIS debe escoger un nombre de dominio NIS (puede ser diferente al dominio
DNS) y usarlo en los computadores clientes y en el servidor.
Puede comenzar instalando el paquete nis tanto en clientes como servidor, al instalarlo
podrá dar el dominio NIS (o puede editarlo en /etc/defaultdomain). En todos los
computadores debe modificar el archivo /etc/nsswitch para cambiar el orden de búsqueda
de usuarios, grupos y shadow. También debe agregar algunas líneas al final de los archivos
/etc/passwd, /etc/group y /etc/shadow, tarea que puede hacer con los siguientes comandos:
Puede comenzar instalando el paquete nis tanto en clientes como servidor, al instalarlo
podrá dar el dominio NIS (o puede editarlo en /etc/defaultdomain). En todos los
computadores debe modificar el archivo /etc/nsswitch para cambiar el orden de búsqueda
101
de usuarios, grupos y shadow. También debe agregar algunas líneas al final de los archivos
/etc/passwd, /etc/group y /etc/shadow, tarea que puede hacer con los siguientes comandos:
Que agregan líneas con un "+" y tantos ":" como separadores hay en los respectivos
archivos. En el servidor los usuarios y grupos que estén después de estas marcas no serán
compartidos por NIS.
Una vez NIS esté funcionando en clientes y servidor, puede agregar, eliminar o modificar
usuarios y grupos con los comandos usuales (ver Administración de usuarios) y después de
cada modificación, para que el cambio sea notado por NIS, debe pasar al directorio /var/yp/
y ejecutar make.
Para centralizar la información de todos los usuarios en el servidor puede usar NFS una vez
NIS funcione bien. Para lograrlo se debe hacer la administración de usuario siempre en el
servidor (por ejemplo agregar nuevos usuarios sólo desde el servidor) para que los
directorios queden allí; por otra parte debe montar el directorio /home del servidor en todos
los clientes. Para centralizar la cola de correo en el servidor debe montar el directorio
/var/mail del servidor en los clientes. De esta forma el archivo /etc/fstab de cada cliente debe
incluir:
y el archivo /etc/exports del servidor debe tener las líneas apropiadas para exportar /home
y /var/mail.
Servicio ssh
El protocolo ssh cuenta con dos versiones, un borrador de la segunda de estas está en
proceso de desarrollo. OpenSSH es la implementación de cliente y servidor para estos
protocolos, la versión disponible para Debian permite usar tanto ssh 1 como ssh 2.
Tal como se describe en uno de los borradores de la especificación temporal "SSH Protocol
Architecture" ([Link] ssh es
un protocolo para iniciar sesiones en máquinas remotas que ofrece autenticación,
confidencialidad e integridad. Consta de tres componentes:
Este protocolo requiere que los servidores tengan "llaves", las cuales son usadas por los
clientes cada vez que se conectan a un servidor para verificar que no fue suplantado. Una
102
llave es un número codificado y encriptado en un archivo. Para la encripción de llaves,
OpenSSH ofrece los algoritmos RSA y DSA (de los cuales para la versión 2 recomendamos
DSA).
Para instalar un servidor OpenSSH, que le permita conectarse a su sistema de forma segura,
instale el paquete ssh preferiblemente tomando la versión más reciente del sitio de seguridad
de Debian: [Link] o compile las fuentes más recientes que puede obtener
en [Link] Cuando instale se generaran un par de "llaves" para su
computador, una pública y una privada. Una vez instalado podrá afinar la configuración del
servidor en el archivo /etc/ssh/[Link] que puede incluir líneas como las siguientes:
PermitRootLogin no
RSAAuthentication yes
PubkeyAuthentication yes
RhostsAuthentication no
hostsRSAAuthentication no
HostbasedAuthentication no
X11Forwarding yes
La última línea permitirá a los clientes que se conecten ejecutar aplicaciones de X-Window
y transmitir la información gráfica sobre la conexión segura.
Un usuario también puede crear un par de llaves que le faciliten su autenticación al emplear
ssh o scp. Estos programas por defecto piden clave al usuario que se conecte a un servidor
ssh. Si un usuario genera sus llaves pública y privada, puede saltarse esta autenticación
pues se hará de forma automática con las llaves. Para lograrlo su llave pública debe estar
en el computador al cual se conecta (en ~/.ssh/authorized_keys) y su llave privada en el
computador desde el cual se conecta (normalmente en ~/.ssh/id_dsa).
ssh-keygen -t dsa
Cuando mario se intente conectar desde purpura, a la cuenta pepe en amarillo ya no tendrá
que dar la clave de pepe en ese computador sino la palabra clave con la que protegio su
llave privada. Incluso esta palabra clave puede darse una sóla vez, aún cuando se realicen
diversas conexiones con:
103
purpura> ssh-agent bash
purpura> ssh-add mario
Tras lo cual mario tecleará una vez la palabra clave de su llave privada, y después en esa
sesión de bash todo ingreso que haga a la cuenta pepe en amarillo, no solicitará clave.
Alguna.
Las funciones de la monitorización de red se llevan a cabo por agentes que realizan el
seguimiento y registro de la actividad de red, la detección de eventos y la comunicación de
alertas al personal responsable del buen funcionamiento de la red.
• etc.
Además, estos agentes recogen información sobre el estado de finalización de los procesos
para un posterior análisis por el administrador.
Los procesos típicos que se suelen planificar son: copias de seguridad, búsqueda de virus,
distribución de software, impresiones masivas, etc.
104
La planificación de procesos permite también aprovechar los períodos en que la red está
más libre como las noches y los fines de semana.
Normalmente también se suelen usar scripts para programar a los agentes planificadores.
La parte servidora realiza las tareas de actualización contra nuevos virus, realiza tareas de
registro de virus, comunicación de alarmas al administrador, comunicación con otros
servidores distribuidos en la red con software antivirus, protección de los discos y ficheros
de los propios servidores, etc. Los agentes por su parte evitan la entrada de virus en los
propios puestos de trabajo comunicando al servidor la detección de los virus y eliminándolos
automáticamente siempre que sea posible.
Soporte de Impresoras
1. Las relacionadas con el manejo de las impresoras por parte del administrador.
2. Las relacionadas con la selección de impresoras e impresión por parte de los usuario
La utilización masiva de servidores de ficheros y BBDD en las redes actuales han hecho del
espacio de almacenamiento un recurso común a los usuarios y un elemento escaso que hay
que optimizar.
105
La extracción de información que realiza el agente suele ser a nivel de:
Al igual que con otras actividades de administración se suelen programar una serie de
eventos consistente en ciertos límites que cuando son sobrepasados elevan una alarma que
es comunicada al administrador a través de un mensaje en la consola, un correo electrónico
o un mensaje a un móvil por ejemplo.
ping
ping [Link]
mtr
mtr [Link]
lsof
lsof -i
fail2ban
Escanea los archivos de logs para denegar el acceso a los equipos o direcciones IP que
realizan numerosos o sospechosos intentos de conexión.
fail2ban
iftop
iftop -i wlan0
ifstat
ifstat -t -i wlan0
106
nethogs
nethogs -p wlan0
iptraf
Monitoriza en tiempo real el tráfico por una interfaz de red y lo muestra mediante una interfaz
gráfica de colores.
iptraf
Mantener un control de nuestra red es vital para evitar que ningún programa haga un uso
excesivo de ella y nos ralentice el funcionamiento general del sistema. Existen varias
herramientas de monitorización de la red para los diferentes sistemas operativos actuales.
En este apartado vamos a hablar de 10 herramientas de monitorización de red para Linux
que se ejecutarán desde un terminal, ideales para los usuarios que no utilicen interfaz gráfica
o para todos aquellos que quieran mantener un control del uso de red de un servidor a través
de ssh.
Iftop
Los usuarios de Linux están familiarizados, generalmente, con Top. Esta herramienta es un
monitor del sistema que nos permite conocer en tiempo real todos los procesos que se están
ejecutando en nuestro sistema y pudiendo administrarlos fácilmente. Iftop es una aplicación
similar a Top pero especializada en la monitorización de la red, pudiendo conocer así
multitud de detalles respecto a la red y todos los procesos que están haciendo uso de ella.
107
Figura No. . Iftop y lo que nos revela al monitorea rde nuestra red.
Vnstat
Vnstat es un monitor de red que viene incluido, por defecto, en la mayoría de las
distribuciones de Linux. Nos permite obtener un control en tiempo real sobre el tráfico
enviado y recibido en un período de tiempo, elegido por el usuario.
108
Iptraf
Es una aplicación similar a la anterior Vnstat. Dispone de una pequeña interfaz basada en
ncurses que permite configurarla fácilmente.
Nload
Una herramienta que dibuja, en modo ASCII, una gráfica con el consumo acumulado de red.
Dstat
Un monitor algo menos conocido que los anteriores pero que también suele venir por defecto
en muchas distribuciones.
Bwm-ng
TCPtrack
Aunque es una aplicación bastante desconocida, nos muestra todos los datos del consumo
de nuestra conexión.
109
Speedometer
Ipband
Las copias de seguridad de las plataformas son una parte esencial de la administración
de sistemas. Es, por lo tanto, un tema ampliamente estudiado y para el que se han creado
multitud de herramientas. Sin embargo, realizar buenos backups sigue siendo una tarea
compleja en la que interviene la definición de la política, el estudio y la elección de la(s)
herramienta(s) y su implementación.
Política de backups
Cada proyecto o plataforma tiene sus propias necesidades que es necesario definir para
establecer la política. Para ello, es útil:
110
Un aspecto importante de seguridad a la hora de establecer una política de backups es
dónde se van a guardar las copias de seguridad. Cuando se definen planes de
prevención de riesgos en cuanto a tecnología se suele considerar el vaulting para mitigar
los efectos de un posible incidente en el site donde se realizan los backups. Esta práctica
consiste en mover a otra localización periódicamente una copia completa de los datos, por
ejemplo una vez al mes. Esto es habitual cuando el soporte físico es en cinta.
Esto es distinto del archiving, que consiste en mover datos antiguos que no se están
utilizando a una localización distinta. Un backup es siempre una copia, mientras que el
archiving consta de los datos originales que son trasladados porque no se utilizan pero no
se quieren eliminar definitivamente.
Restauración
El objetivo final de un backup es poder restaurarlo en caso de pérdida de los datos. Por lo
tanto, tener presente la restauración a la hora de definir una política de backups o escoger
una herramienta es clave. Para ello, es importante haber decidido previamente (en la gestión
de riesgos) los siguientes puntos:
Es el tiempo máximo en el que se debe alcanzar un nivel de servicio mínimo tras una
caída del servicio (por ejemplo, debido a pérdida de datos) para no causar
consecuencias inaceptables en el negocio.
El tiempo de restauración de un backup en caso de pérdida de datos forma parte del tiempo
en que no hay servicio, por lo que cuanto menos tarde antes se restablecerá el proceso de
negocio.
Herramientas
4.1 Sincronización
Este tipo de backup permite que dos directorios en localizaciones distintas (en la misma
máquina o en hosts separados) contengan los mismos ficheros. Muchas de las
herramientas que permiten la sincronización se basan en rsync o en su librería.
111
Duplicity: se basa en la librería de rsync para realizar backups de ficheros
comprimidos y encriptados.
Unison: permite la sincronización de directorios aprovechando características de
distintos sistemas y herramientas.
4.2 Copias
fwbackups: herramienta con una interfaz simple pero con muchas opciones, permite
programar backups a distintos niveles.
Bacula: herramienta muy completa que permite realizar backups de varios niveles
(total, diferencial, incremental), de distintos clientes (linux, solaris, windows) y a
diversos soportes (cinta y disco). Es software libre aunque tiene opción de soporte
comercial.
Mondorescue: este software permite realizar backup de una instalación entera, y
puede dejar las copias en numerosos soportes físicos.
Las bases de datos piden un trato especial. Guardar los ficheros que contienen las bases
de datos no suele ser un buen sistema de backup, ya que una copia del fichero en un
momento cualquiera puede generar una base de datos inconsistente. Por ello, cada
servidor suele proporcionar un sistema de copias de seguridad, a menudo basadas en
volcados de datos en distintos formatos.
4.4 Snapshots
Los snapshots son “fotografías” del sistema o de una parte que permiten recuperarlo
en un estado que se sabe que es correcto. Los snapshots se pueden realizar a distintos
niveles:
112
4.5 Continuous Data Protection
AIMstor: permite definir fácilmente políticas mediante una interfaz gráfica y soporta
distintos tipus de backup, replicación y archiving.
RecoverPoint: soporta replicación remota de datos mediante protocolos síncronos
y asíncronos.
InMage DR-Scout: tiene un repositorio de capacidad optimizada y soporta diversas
plataformas (Windows, Linux, Solaris,…).
5. A tener en cuenta
6. Recuperación
Hay dos versiones de R-Linux: primera es para Linux, segunda es para Windows. Son
iguales por sus características y se diferencias sólo por el sistema operativo host.
Eliminado por una ataque de virus, corte de corriente eléctrica o fallo de sistema;
Después de haber formateado, dañado o eliminado la partición con archivos;
Cuando la estructura de particiones del disco duro ha sido cambiada o dañada. En
este caso, R-Linux puede escanear el disco intentando encontrar las particiones que
existían antes y recuperar sus archivos.
113
Desde discos con sectores dañados. En este caso, R-Linux primero puede crear una
imagen de disco o de su parte y después procesar este archivo de imagen. Es
especialmente útil cuando en el disco duro constantemente aparecen sectores
dañados y hace falta guardar inmediatamente la información que se queda.
7. Conclusiones
Aunque es recomendable ser flexible para los pequeños cambios (la política o los recursos
pueden sufrir modificaciones), realizar grandes cambios en el sistema de backups puede
ser complejo, por lo que es importante realizar un buen estudio para escoger la mejor
opción. La clave se encuentra en definir y cubrir las necesidades de cada plataforma
ajustando el sistema a los recursos disponibles.
5. Software de aplicación
5.1 Instalación de software de aplicación
1 - Lo más facil es usar el Gestor de paquetes que traen todas las distribuciones. Con él
podemos instalar muchisimos programas de forma inmediata usando los repositorios desde
Internet o desde un CD. Por ejemplo, en Ubuntu puedes instalar aplicaciones yendo al
Centro de software (o también instalando el gestor de paquetes Synaptic).
114
Las ventajas que tiene usar el sistema de paquetes es que te permite instalar,
desinstalar y actualizar los programas de forma muy sencilla, ya que cada programa
está formado por uno o varios paquetes que el gestor de paquetes controla que
funcionen bien, además si la aplicación que instalas depende de otros paquetes extra,
el gestor los añadirá automáticamente.
(Nota: Este método de instalación lleva usándose en Linux desde comienzos de los
años 2000. Su éxito ha sido tan grande que otros sistemas operativos como Android,
iOS o Windows lo han copiado, creando sus Tiendas de Aplicaciones).
2 - También puedes optar por descargar los programas desde alguna página web, para
ello lo mejor es bajarlos en un formato específico para tu distribución: En Ubuntu,
Debian y derivados se usa el formato de paquetes .deb, y tienes varias páginas
dedicadas a recopilar programas como [Link] y [Link]/ubuntu. En
el caso de otras distribuciones como Suse o Fedora se usa el formato .rpm.
Una vez descargados los paquetes puedes instalarlos haciendo click sobre ellos. Los
programas se añadirán a la lista de aplicaciones instaladas del gestor de paquetes de
tu equipo.
3 - Puedes instalar programas desde tu navegador web: Para ello, existen los llamados apt,
que son enlaces que cuando los pulsas te permiten instalar programas directamente
desde una página web. Esto funciona solamente en algunas distribuciones de Linux
como Ubuntu, y consiste en introducir la dirección programa o del archivo que quieres
instalar en tu navegador web: apt:nombre del programa (si está en los repositorios)
o apt:dirección del archivo . Con ello se abrirá el gestor de paquetes automáticamente.
Esta forma de instalar programas se usa mucho en blogs y webs de informática.
115
Para usuarios expertos, Apt también funciona desde un terminal de comandos o una
consola, introduciendo el comando sudo apt-get install [+nombre de los paquetes a
instalar]. (Solamente en Ubuntu y otras distros compatibles). Para desinstalar, usa el
comando sudo apt-get remove [paquete] Ejemplo: sudo apt-get install Firefox.
4 - Si necesitas usar algun programa creado para Windows, podrás usarlo en Linux si
antes has instalado las librerias de Wine. Con Wine puedes ejecutar aplicaciones de
Windows en Linux usando los archivos de instalación .exe o .msi e instalandolos de la
manera tradicional. Para más información lee cómo instalar en Linux programas de
Windows.
También puedes usar Play on Linux, que sirve para automatizar la instalación de
programas y juegos de Windows, de forma que simplemente escoges un programa de
la lista y se instalará de forma automática.
116
5 - Si el programa viene en un archivo ejecutable, como los formatos .bin, los .run, o
los scripts .sh, para instalarlo primero debes darle privilegios de ejecución haciendo
click con el botón derecho sobre su icono y accediendo a "Propiedades". Cuando el
archivo ya tenga permisos de ejecución puedes ejecutarlo de 2 formas: pulsando sobré
el o desde un terminal.
Si decides ejecutarlo desde un terminal sigue estos pasos: Abres una consola (Si usas
Ubuntu Unity para abrir una consola Pulsa el botón de inicio, escribe "Terminal" y dale
a intro), arrastras el icono del archivo encima de la linea de comandos y pulsas Intro.
Si no funciona lo de arrastrar y soltar, debes ejecutarlo como:
"./direccion_del_archivo.bin".
6 - Los archivos .jar son programas escritos en Java que funcionan en todos los
sistemas operativos siempre que tengas Java instalado. Para usarlos debes abrirlos
con Java Runtime, para ello te tienes que instalar previamente Sun Java Runtime,
OpenJDK Java Runtime o alguna otra herramienta análoga. (Nota: Desde 2015 cada
vez más navegadores web están prohibiendo el uso de plugins Java por ser poco
seguros).
7 - Los archivos .tar, .[Link] o .tar.bz2 son carpetas comprimidas que suelen traer el
programa en código fuente. La ventaja es que sirven para todas las distribuciones y la
desventaja que son mas dificil de instalar. Muchas veces basta con descomprimir la
carpeta y ejecutar el archivo ejecutable que trae, aunque otras veces hace falta
compilarlos desde un terminal (si eres un usuario nuevo mejor que huyas de esto).
117
Tienes programas en código fuente para descargar en [Link]/linux.
Puedes crear archivos instalables .deb a partir del codigo fuente con la aplicación Deb
Creator. También hay herramientas para crear archivos .rpm a partir de codigo fuente.
Antes de comenzar con las intrucciones, nos parece necesario hacer una breve
reflexión: una vez que instales Linux existen muchas formas de correr aplicaciones
Windows, incluso existe la posibilidad de instalar Windows en una máquina virtual, que
podrás correr directamente desde Linux.
Sin embargo, Wine NO es un emulador, como bien lo dice su nombre (Wine Is Not an
Emulator, de allí sus siglas). Esto significa que una aplicación Windows que corras con
WINE podría, de hecho hay varios casos registrados, correr mucho más ligero en Linux
que en Windows.
Por otra parte, si bien en algunos casos puede resultar conveniente crear la máquina
virtual e instalar en ella nuestra copia de Windows y luego nuestro programa, esto
también puede ser un problema. En primer lugar, por la enorme cantidad de recursos
(espacio en disco, memoria y procesador) que este proceso insumiría. En segundo
lugar, Windows no es software libre y, para instalarlo, se supone que deberías tener
una versión original. De lo contrario, no estarías escapando al problema de patentes
con Windows.
Instalar Wine
En Ubuntu:
En Fedora:
118
Una vez instalado, Wine se ejecutará al hacer doble clic sobre cualquier archivo .EXE.
Además, te permitirá instalar programas, como si estuvieras en Windows y pondrá los
accesos directos en el menú principal bajo la categoría “Wine”.
A pesar de lo que mucha gente cree, Wine sirve no sólo para correr aplicaciones
“sencillas” de Windows, sino incluso juegos complejos. Es más, está demostrado que
terribles juegazos como Sim 3, Half Life 2, Command & Conquer 3, Star Wars: Jedi
Knight, o importantes suites como Microsoft Office funcionan a la perfección.
Por defecto, todos los programas intentarán instalarse en tu disco C. La pregunta es,
¿cuál es mi disco C? ¿Dónde quedan efectivamente almacenados todos los archivos
correspondientes a las aplicaciones Windows instaladas con Wine? La respuesta es
sencilla: ~/.wine/drive_c. Esto es, en tu home hay una carpeta oculta que se llama
.wine en la que se almacenan todos los archivos de tu disco C. En realidad, como ves,
es simplemente una carpeta a la que Wine llama “Disco C”.
Recordemos que siempre podemos instalar los programas en otras ubicaciones. Esto
es especialmente útil si tienes poco espacio en el disco o partición en la que tienes
instalado Linux o tu carpeta Home.
Configurar Wine
Configurar Wine es fácil. Andá a Aplicaciones > Wine > Configurar Wine.
119
Desde esta ventana vas a poder indicarle a Wine qué versión de Windows imitar
(Windows 7, Vista, XP, etc.). Además, vas a poder indicarle con qué sistema de sonido
debe integrarse y trabajar (ALSA, OSS, Jack, etc.), lo que puede ser muy útil al trabajar
con programas de edición de Audio profesionales. También se pueden cambiar desde
aquí la ruta en la que se almacena el “disco C”, las optimizaciones gráficas y el modo
en que se realizará la integración con el escritorio.
Winetricks
A veces instalar una aplicación Windows en Linux usando Wine puede ser una tarea
difícil, sobre todo porque algunas de ellas precisan de librerías externas.
¿Cómo se instala?
wget [Link]
¿Cómo lo ejecuto?
Una vez que hayas obtenido Winetricks podrás usarlo escribiendo en el terminal:
sh winetricks
Si lo corres sin parametros, una pantalla de winetricks muestra un GUI con una lista
de paquetes disponibles. Si sabes el nombre del paquete(s) que quieres instalar,
puedes agregar el(los) nombre (s) a la línea de comandos de Winetricks e
inmediatamente iniciar el proceso de instalación. Por ejemplo,
120
Una de las cuestiones que aun siguen generando problemas para los recién llegado a
Linux o para los usuarios con menos conocimientos es la instalación de paquetes
o cómo instalar programas en Linux. Esto en parte se ha resuelto con herramientas
como YaST, Centro de Software, Pi Store, y otros programas para automatizar las
instalaciones en Linux como Gdebi, Synaptic, etc.
En Windows, con Windows Installer es todo mucho más fácil, además no existen
demasiadas extensiones de binarios para instalar (.exe, .bat, .msu). Los que
provengan de la plataforma de Apple también se habrán percatado que de los .dmg de
Mac OS X se pasa a tener demasiadas extensiones.
Otro tema escabroso en Linux (y otros *nix) son las dependencias, es decir, paquetes
que dependen de otros paquetes y si éstos últimos no están instalados no podremos
instalar el primero. En este caso existen multitud de gestores de paquetes que nos
facilitan la vida y resuelven automáticamente las dependencias. De lo contrario las
tendríamos que resolver nosotros mismos manualmente.
En las siguientes líneas vamos a describir todas las extensiones y tipos de paquetes
más conocidos que existen en el mundo Linux y el procedimiento para instalarlos de
manera sencilla.
121
Linux está dividido en dos grandes mundos y lo representan muy bien los paquetes
DEB y los RPM. El primero es empleado por Debian y derivados como Ubuntu,
mientras que el segundo se emplea en SuSE, Fedora, y otras.
RPM:
Si estás en Novell SuSE o en openSuSE, puedes usar YaST para instalar paquetes
de este tipo. Para ello solo tienes que ir al menú de SuSE, hacer clic en “Sistema”,
“YaST” y luego vamos a la opción “Instalar/desinstalar software”. Así podremos instalar
programas en Linux desde el DVD de tu distro o desde la red.
Si ya tenemos el paquete descargado, podemos hacer clic con el botón derecho sobre
él y nos dará la opción de Instalar. Muy sencillo…
En Red Hat más de lo mismo… En cambio, si tienes Fedora o CentOS, puedes usar
YUM. Vayamos primero con YUM, que desde el directorio donde se encuentra el
paquete, en el terminal debes escribir:
Y si existe una herramienta común para instalar RPM es la propia rpm presente en
multitud de distribuciones que se basan en este tipo de paquetería:
rpm –i nombre_paquete.rpm
urpm:
urpm –i nombre_paquete.rpm
Ejemplo:
122
sudo aptitude install firefox
Ejemplo:
Por ejemplo, la versión de GIMP 2.8 que añade el nuevo modo de ventana única no se
encuentra en los repositorios de Ubuntu 12.04, así que para poder usarlo debemos
añadir el PPA oficial de su creador. En este caso sería:
ppa:otto-kesselgulasch/gimp.
Ejemplo:
A medida que los sistemas operativos lanzan nuevas versiones podemos encontrar
diferencias a nivel de entorno, aplicaciones y una de las más comunes es a nivel de
comandos para el soporte y gestión del sistema.
Cuando trabajamos con distros de Linux, en especial Ubuntu y Debian, es común que
usemos el comando apt-get para obtener información de los paquetes disponibles para
el sistema y su respectivo proceso de administración de estos. Aunque apt-get tuvo
sus inicios en el año de 1.998, a partir del año 2.014 se desarrolló apt el cual cumple
las mismas funciones de apt-get pero entre ambos comandos existen pequeñas
diferencias que en este día Solvetic analizará en detalle.
123
Como hemos indicado apt fue desarrollado en el año 2.014 por los mismos
desarrolladores de apt-get solo hasta a partir de Ubuntu 16 la mayoría iniciamos a usar
y notar las diferencias con apt.
Qué es APT
Vamos a analizar en primer lugar las similitudes entre estas dos herramientas de
gestión de paquetes:
Los resultados desplegados por apt son más sencillos que los de apt-get
Los comandos de apt son mucho más simples que los de apt-get
Apt tiene la capacidad de gestionar paquetes rpm.
A nivel de compatibilidad entre versiones apt-get es mucho más compatible que
apt.
Los resultados de apt-get siempre serán los mismos mientras que con apt pueden
variar entre versiones
A nivel de gestión una de las diferencias más marcadas está en el momento de realizar
la instalación o eliminación de un determinado paquete ya que veremos en la parte
inferior la barra de progreso con el porcentaje de tarea realizada la cual nos permite
conocer en detalle el estado actual de esta:
124
Figura No. . apt get instalando aplicación.
Ahora, a nivel de despliegue apt es mucho más ordenado y ofrece resultados más
claros, por ejemplo, al usar la línea apt-cache search weechat veremos lo siguiente:
125
Ahora, si usamos apt search weechat este será el resultado obtenido:
126
Al ejecutar sudo apt-get update no veremos ningún tipo de información:
Comando apt-get
apt-get update
Comando apt
apt update
Comando apt-get
apt-get install
Comando apt
127
apt install
Comando apt-get
apt-get dist-upgrade
Comando apt
apt dist-upgrade
Comando apt-get
apt-get upgrade
Comando apt
apt upgrade
Comando apt-get
apt-get remove
Comando apt
apt remove
Comando apt-get
apt-get purge
Comando apt
apt purge
128
Desinstala dependencias de un programa
Comando apt-get
apt-get autoremove
Comando apt
apt autoremove
Comando apt-get
apt-get build-dep
Comando apt
apt build-dep
Comando apt-get
apt-get source
Comando apt
apt source
Adicional con el nuevo comando apt tenemos dos nuevos comandos que son los
siguientes:
Lista todos los paquetes con criterios:
apt list
129
Figura No. . apt get y sus resultados.
apt edit-sources
apt --help
130
Search
Cumple una función similar a apt-cache search list con la diferencia que apt los
ordena de manera alfabética.
List
Es similar a dpkg list y lista todos los paquetes disponibles.
Show
Cumple un papel similar a apt-cache show y oculta detalles que no son relevantes
para el usuario.
Install
Update
Cumple la misma función de apt-get con la diferencia que éste muestra colores para
resaltar los mismos.
Remove
Full-Upgrade
Upgrade
Funciona igual que apt-get dist-upgrade y nos permite actualizar el sistema
instalando y actualizando paquetes.
Edit-Sources
131
sudo apt install nombredelpaquete
De esta manera podremos explorar esta nueva opción con el comando apt en
Ubuntu. Como vemos apt y apt-get son herramientas fundamentales a la hora de
todo el trabajo con paquetes en Linux.
Instala/informa sobre los paquetes resolviendo las dependencias, los paquetes que
instala los consigne de Internet (de /etc/apt/[Link]). Este comando es algo
extenso y realiza funciones similares al comando aptitude siendo este último más
nuevo, manejando mejor las dependencias y con más opciones.
apt-get install linux-headers-`uname -r` instala las cabeceras del kernel, necesarias
para los drivers
apt-cache depends paquete para saber de que otros paquetes depende el paquete
132
apt-file search paquete Si no sabemos el nombre exacto del paquete.
apt-get -f install Para solucionar problemas cuando una instalación no se logró con
éxito.
133
Módulo III. Administración de archivos y respaldos
6. Introducción
A lo largo de la historia, cada uno de los sistemas operativos que conocemos, ha tenido
su propio “Sistemas de archivos”. Así, podemos encontrar que Microsoft trabaja con
dos tipos de sistemas de archivos bien identificados: FAT (que tenía varias versiones, y
que era utilizado para Microsoft Windows 95, Windows 98, y Windows XP)
y NTFS (propio de Microsoft Windows NT, Windows XP, Windows Vista o el actual
Windows 7). Son muchas las diferencias entre FAT y NTFS, pero las más importantes
están orientadas a la posibilidad de contar con dispositivos de almacenamiento más
grandes (FAT estaba limitado en tamaño de particiones) y más seguridad en el acceso
a los ficheros del sistema.
GNU/Linux comenzó su andadura con su sistema de archivos “Ext2”, pero éste fue
sustituido por nuevas versiones que si tenían la capacidad de trabajar con grandes
volúmenes de información (Terabytes) y de poder restituir rápidamente (gracias al
“Journaling”) el sistema ante un fallo importante en el sistema de archivos.
Posteriormente aparecieron otros sistemas de archivos nuevos y mejoras sobre el
modelo existente.
134
(Sistema de archivos Extendido, versión 2)el primer sistema de archivos
utilizado por GNU/Linux fue creado por Remy Card (no es del todo cierto,
antes existió “Ext”, utilizado con “Minix”, pero debido a sus limitaciones y usos
no suele contar como un sistema de archivos válido para las distribuciones
GNU/Linux que conocemos hoy en día). Como todos los sistemas de archivos
Ext2 de Linux, éste también es asíncrono, es decir, no escribe inmediatamente los
metadatos en el dispositivo de almacenamiento, sino que lo hace de manera
periódica. Con ello consigue aprovechar los tiempos muertos de la CPU y
consecuentemente, el rendimiento general del equipo. Pese a ser el primero,
ya dispone de mecanismos que permiten la recuperación de la información
en caso de fallo (detectando particiones desmontadas erróneamente).
135
archivos) que se realizan en el sistema, y que permitirá la recuperación de los datos en caso
de fallo grave.
Pero no solo el sistema de archivos de nuestro sistema operativo Linux es importante para
conocer aspectos que afectan al rendimiento de nuestro equipo, también es importante que
conozcamos la forma en la que esta estructurado el sistema de directorios.
136
/bin almacena las aplicaciones (comandos) básicas del sistema.
aquí se encontrarán los archivos necesarios para el inicio del sistema, así como
/boot
los correspondientes al cargador de arranque.
/home donde se encontrarán los directorios personales de los usuarios del sistema.
/proc mantiene ficheros que almacenan el estado (procesos, dispositivos) del sistema.
/usr ubicación que normalmente se dedica para instalar las aplicaciones de usuario.
El estándar FHS posee más detalles relacionados con estos directorios, como por ejemplo:
Se recomienda que directorios como ‘/tmp’, ‘/var’ y ‘/home’ posean una partición
propia, ya que si se produce un crecimiento desmesurado de los datos almacenados
en ellas no afectarán al resto del sistema.
También se aconseja que el directorio ‘/home’ se encuentre en una partición aparte
para que en el caso de una actualización del sistema, ésta pueda mantenerse
inalterada.
Se considere al directorio ‘/etc’ como el más importante (junto con el directorio
‘/home’ porque almacena los datos de usuario), por lo que se aconsejan copias de
seguridad del mismo.
137
Existe un estándar, el “Estándar de jerarquía de ficheros” (FHS – Filesystem Hierarchy
Standard) que intenta definir unas bases, para que tanto los programas del sistema, como
los usuarios y administradores, sepan donde encontrar lo que buscan.
Este estándar se encuentra en su versión 2.3 y el documento del mismo se puede encontrar
en su totalidad en esta dirección: [Link] Se
recomienda su lectura a los deseen profundizar en el tema.
Este estándar está mantenido por la ‘Free Standards Group’, una organización sin fines de
lucro constituida por compañías de hardware y software como AMD, Computer Associates,
Debian, Dell, Fujitsu, Google, HP, IBM, Intel, MySQL, NEC, Novell, Red Flag, Red Hat, Sun
Microsystems, Veritas y otros muchos. La mayoría de las distribuciones de Linux, inclusive
las que forman parte de Free Software Standards, no aplican de forma estricta y al 100% el
estándar, aunque las diferencias son mínimas.
Existen dos tipos de distinciones cuando hablamos del tipo de contenido de un directorio:
Todos los ficheros y directorios aparecen debajo del directorio raíz «/» (El equivalente en el
mundo Unix al C:\ de Windows) aunque se encuentren en discos/dispositivos distintos. En
Linux/Unix no existen letras de discos (C:, D:, etc) Los dispositivos se ‘montan’ (empiezan a
formar parte) del árbol de directorios del sistema, pero esto lo explicaremos en otra ocasión.
A continuación tendremos una lista con los directorios más importantes del sistema y para
que se usan. Para acceder a los mismos podemos usar el comando cd ‘nombre del
directorio’. Para ver el contenido de los mismos podemos usar el comando ls -l ‘nombre del
directorio’.
138
Figura No. . Directorios del sistema operativo Linux.
139
El almacenamiento de archivos en la nube puede suministrarse de dos maneras: mediante
soluciones completamente administradas con configuración mínima y mantenimiento
mínimo o nulo o mediante soluciones hágalo usted mismo con cómputo, almacenamiento,
software y concesión de licencias independientes, que también necesita personal
especializado para las configuraciones y el mantenimiento. Amazon Elastic File System
(Amazon EFS) es un ejemplo de una solución completamente administrada que suministra
almacenamiento de archivos escalable y simple para utilizar en instancias de Amazon EC2
en la nube de AWS.
Servidores web
Administración de contenido
140
Los sistemas de gestión de contenido (CMS) necesitan un espacio para nombres y un
acceso común a una jerarquía de sistemas de archivos. De manera similar a los casos de
uso de servidores web, normalmente los entornos de CMS tienen varios servidores que
necesitan acceder al mismo conjunto de archivos para proveer contenido. Como las
soluciones de almacenamiento de archivos en la nube adhieren a la semántica de sistema
de archivos, a las convenciones de nomenclaturas de archivos y a los permisos esperados
a los cuales están acostumbrados los desarrolladores web, el almacenamiento de
documentos y otros archivos puede integrarse fácilmente con flujos de trabajo de CMS
existentes.
Los big data necesitan almacenamiento que pueda gestionar volúmenes muy grandes de
datos y capacidad para ajustar su escala para poder ajustarse al crecimiento y ofrecer el
rendimiento necesario para suministrar datos a las herramientas analíticas. Muchas cargas
de trabajo analíticas interactúan con datos mediante una interfaz de archivos, se basan en
semántica de archivos, como bloqueos de archivos, y necesitan la capacidad para escribir
en secciones de un archivo. Como el almacenamiento de archivos en la nube admite la
semántica de sistema de archivos necesaria y puede ajustar su capacidad y rendimiento, es
ideal para proveer una solución de intercambio de archivos cuya integración con flujos de
trabajo de big data existentes sea sencilla.
Directorios de inicio
141
estándar que se puede instalar fácilmente desde servidores de bases de datos, pueden ser
una plataforma ideal para crear copias de seguridad de bases de datos portátiles mediante
el uso de aplicaciones de copia de seguridad empresariales o herramientas de aplicaciones
nativas.
Herramientas de desarrollo
Los entornos de desarrollo pueden tener que enfrentar el desafío de compartir datos de una
manera protegida y segura cuando los equipos se encuentran colaborando para desarrollar
sus innovaciones más recientes. Debido a la necesidad de compartir código y otros archivos
fácilmente y de una manera organizada, el uso del almacenamiento de archivos compartidos
en la nube ofrece un repositorio seguro y ordenado de fácil acceso dentro de sus entornos
de desarrollo en la nube. El almacenamiento de archivos en la nube ofrece una solución de
escala ajustable y alta disponibilidad que es ideal para las colaboraciones.
Almacenamiento de contenedores
Los contenedores Docker son ideales para crear microservicios porque son de rápido
aprovisionamiento, fáciles de transportar y ofrecen aislamiento de procesos. Los
contenedores que necesitan acceso a los datos originales cada vez que se inician podrían
necesitar un sistema de archivos compartidos al que puedan conectarse
independientemente de la instancia en la que se estén ejecutando. El almacenamiento de
archivos en la nube puede ofrecer acceso compartido constante a los datos que todos los
contenedores de un clúster puedan usar.
Una buena solución de almacenamiento de archivos en la nube debe suministrar los niveles
de rendimiento y capacidad necesarios en la actualidad y ajustar su escala sin problemas a
medida que se modifiquen las necesidades de las empresas.
Escalabilidad y elasticidad
Seguridad
Rendimiento
Disponibilidad
Compatibilidad
Se integra sin problemas con aplicaciones existentes sin código nuevo para escribir.
Asequibilidad
142
Pague únicamente la capacidad utilizada, sin costos de aprovisionamiento iniciales.
Los beneficios del almacenamiento de archivos en la nube son claros, pero es importante
observar que no todas las soluciones de almacenamiento de archivos en la nube se crean
igual. Muchas soluciones existentes van desde un servidor de archivos con un único nodo
en una instancia de cómputo que usa almacenamiento en bloque como apoyo sin
escalabilidad o con pocas redundancias para proteger los datos; a una solución en clústeres
tipo hágalo usted mismo que implica una configuración, una administración y un
mantenimiento demorados; a una solución completamente administrada, como Amazon
EFS, que necesita un nivel bajo o nulo de configuración o mantenimiento y cuya escala
puede ajustarse de manera elástica para capacidad y rendimiento para cumplir las
necesidades de las cargas de trabajo de aplicaciones más demandantes.
143
El almacenamiento en bloques se puede utilizar como el componente de almacenamiento
subyacente de una solución de almacenamiento de archivos autoadministrada. Sin
embargo, la relación uno a uno necesaria entre el host y el volumen dificulta contar con la
escalabilidad, la disponibilidad y la asequibilidad de una solución de almacenamiento de
archivos completamente administrada y necesitaría presupuesto adicional y recursos de
administración. El uso de una solución de almacenamiento de archivos en la nube
completamente administrada elimina complejidades, reduce costos y simplifica la
administración.
7. Archivos y respaldos
No es ninguna novedad el valor que tiene la información y los datos para nuestros negocios.
Los que resulta increíble de esto es la falta de precauciones que solemos tener al confiar al
núcleo de nuestros negocios al sistema de almacenamiento de lo que en la mayoría de los
casos resulta ser una computadora pobremente armada tanto del punto de vista
de hardware como de software.
Asimismo, hay empresas, que por la naturaleza del sector en el que operan (por
ejemplo Banca) no pueden permitirse la más mínima interrupción informática.
Esto nos lleva a que un sistema de respaldo y recuperación de información tiene que ser
probado y eficiente.
144
Puede llegar a ser necesario eliminar los medios de entrada/salida innecesarios en algunos
sistemas informáticos, tales como disqueteras y cdroms para evitar posible infecciones
con virus traídos desde el exterior de la empresa por el personal, o la extracción de
información de la empresa.
Las copias de seguridad son uno de los elementos más importantes y que requieren
mayor atención a la hora de definir las medidas de seguridad del sistema de información,
la misión de las mismas es la recuperación de los ficheros al estado inmediatamente anterior
al momento de realización de la copia.
Condicionará las decisiones que se tomen sobre la política de copias de seguridad, en una
primera consideración está compuesto por el conjunto de datos que deben estar incluidos
en la copia de seguridad, sin embargo, se pueden adoptar diferentes estrategias respecto a
la forma de la copia, que condicionan el volumen de información a copiar, para ello la copia
puede ser:
Copiar sólo los datos, poco recomendable, ya que en caso de incidencia, será preciso
recuperar el entorno que proporcionan los programas para acceder a los mismos, influye
negativamente en el plazo de recuperación del sistema.
Soporte utilizado
Es la primera decisión a tomar cuando se planea una estrategia de copia de seguridad, sin
embargo esta decisión estará condicionada por un conjunto de variables, tales como la
frecuencia de realización, el volumen de datos a copiar, la disponibilidad de la copia, el
tiempo de recuperación del sistema, etc.
145
Entre los soportes más habituales, podemos destacar las cintas magnéticas, discos
compactos (como las unidades de Iomega Zip y Jazz), grabadoras de CD-ROM o cualquier
dispositivo capaz de almacenar los datos que se pretenden salvaguardar.
La unidad será fija o extraíble, es otra decisión importante, ya que la copia de seguridad se
puede realizar sobre otro disco duro del sistema de información, o bien, mediante los
elementos descritos anteriormente.
Una vez definidas las medidas de índole técnica, quedan por definir las medidas
organizativas, ya que de nada sirve el mejor soporte si las copias no se realizan de acuerdo
a un plan de copias de seguridad.
Planificación de la copia
Mecanismos de comprobación
146
Por último, se debe considerar en la realización de las copias de seguridad, el uso de
diferentes soportes para almacenar los datos, entre las diferentes posibilidades que se
presentan en función del número de soportes empleados, se puede considerar la siguiente:
Un posible esquema de copia de seguridad sería realizar una copia de seguridad completa
cada mes y se guarda la cinta durante un año (preferentemente en algún sitio seguro ajeno
a la empresa), una copia de seguridad completa semanalmente que se guarda durante un
mes y copias de seguridad diarias, que se guardan durante una semana y que pueden ser
completas, incrementales o diferenciales. Con este sistema se pueden utilizar 7 soportes
que garantizan un alto nivel de seguridad en cuanto a recuperaciones de datos.
También se recomienda guardar las copias de seguridad en un lugar alejado, como, por
ejemplo, una caja de seguridad o cualquier otro sitio asegurado contra incendios, para que,
en caso de que se produzca algún desastre como un incendio, los datos se encuentren
protegidos.
Medidas de Seguridad
Respecto a las copias de seguridad, se deben tener en cuenta los siguientes puntos:
Deberá existir un usuario del sistema, entre cuyas funciones esté la de verificar la correcta
aplicación de los procedimientos de realización de las copias de respaldo y recuperación de
los datos.
Deberán realizarse copias de respaldo al menos semanalmente, salvo que en dicho periodo
no se hubiera producido ninguna actualización de los datos.
Existen varias configuraciones de Tipo RAID, sin embargo, existen 4 tipos que prevalecen
en muchas Arquitecturas:
RAID-0: En esta configuración cada archivo es dividido ("Striped") y sus fracciones son
colocadas en diferentes discos. Este tipo de implementación sólo agiliza el proceso
de lectura de archivos, pero en ningún momento proporciona algún tipo de respaldo
("redundancy").
<> RAID-1: En orden ascendente, este es el primer tipo de RAID que otorga cierto nivel de
respaldo; cada vez que se vaya a guardar un archivo en el sistema éste se copiara integro
a DOS discos (en línea), es por esto que RAID-1 también es llamado "Mirroring".
Además de proporcionar un respaldo en caliente ("hot") en dado caso de fallar algún disco
del grupo,
147
RAID-1 también agiliza la lectura de archivos (si se encuentran ocupadas las cabezas de un
disco "I/O") ya que otro archivo puede ser leído del otro disco y no requiere esperar a finalizar
el "I/O" del primer disco.
RAID-3: Esta configuración al igual que RAID-0 divide la información de todos los archivos
("Striping") en varios discos, pero ofrece un nivel de respaldo que RAID-0 no ofrece. En
RAID-0 si falla un disco del grupo, la Información no puede ser recuperada fácilmente, ya
que cada disco del grupo contiene una fracción del archivo, sin embargo RAID-3 opera con
un disco llamado "de paridad" ("parity disk"). Este "disco de paridad" guarda fracciones de
los archivos necesarias para recuperar toda su Información, con esto, es posible reproducir
el archivo que se perdió a partir de esta información de paridad.
RAID-5 : El problema que presenta RAID-3 es que el "disco de paridad" es un punto critico
en el sistema; ¿qué ocurre si falla el disco de paridad ? Para resolver este problema RAID-
5, no solo distribuye todos los archivos en un grupo de discos ("Striping"), sino también la
información de paridad es guardada en todos los discos del sistema ("Striping"). Este
configuración RAID suele ser usada en sistemas que requieren un "alto nivel" de
disponibilidad, inclusive con el uso de "Hot-Swappable Drives" es posible substituir y
recuperar la Información de un disco dañado, con minima intervención del Administrador y
sin la necesidad de configurar o dar "reboot" al sistema.
Ley de Murphy:
"La única solución es tener copias de seguridad, actualizar con frecuencia y esperar que no
deban usarse".
1. Ser confiable:
Minimizar las portabilidades de error. Muchos medios magnéticos como cintas de respaldo,
los disquetes o discos duros tienen probabilidades de error o son prácticamente sensibles a
campos magnéticos, elementos todos que atentan con la información que hemos
respaldado allí.
148
2. Estar fuera de línea, en un lugar seguro:
Tan pronto se realiza el respaldo de información, el soporte que almacena este respaldo
debe ser desconectado de la computadora y almacenado en un lugar seguro tanto desde el
punto de vista de sus requerimientos técnicos (como humedad, temperatura
campos magnéticos) como de su seguridad física y lógica. No es de gran utilidad respaldar
la información y dejar el respaldo conectado a la computadora donde potencialmente puede
haber un ataque de cualquier índole que lo afecte.
Es necesario probar la confiabilidad del sistema de respaldo no solo para respaldar sino
que también para recuperar. Hay sistemas de respaldo que aparentemente no tiene ninguna
falla al generar el respaldo de la información pero que fallan completamente al recuperar
estos datos al sistema informático. Esto depende de la efectividad y calidad del sistema
que realiza el respaldo y la recuperación. Esto nos lleva a que un sistema de respaldo y
de recuperación tiene que ser aprobado y eficiente.
Clasificación de respaldos
Estos respaldos son sólo duplicados de archivos que se guardan en "Tape Drives" de alta
capacidad. Los archivos que son respaldados pueden variar desde archivos del sistema
operativo, bases de datos , hasta archivos de un usuario común. Existen varios tipos de
Software que automatizan la ejecución de estos respaldos, pero el funcionamiento básico de
estos paquetes depende del denominado archive bit . Este archive bit indica un punto de
respaldo y puede existir por archivo o al nivel de "Bloque de Información" (típicamente 4096
bytes), esto dependerá tanto del software que sea utilizado para los respaldos así como el
archivo que sea respaldado. Este mismo archive bit es activado en los archivos (o bloques)
cada vez que estos sean modificados y es mediante este bit que se llevan acabo los tres
tipos de respaldos comúnmente utilizados:
Respaldo Completo ("Full"): Guarda todos los archivos que sean especificados al tiempo
de ejecutarse el respaldo. El archive bit es eliminado de todos los archivos (o bloques),
indicando que todos los archivos ya han sido respaldados.
149
Figura No. .Secuencias de respaldo.
151
En caso de fallar el Sistema en Jueves(12):
Claro está que los respaldos completos de cada Viernes pasan a formar parte del
"Archivo" mensual de Información.
Gracias a que en los últimos 20 años las opciones de almacenamiento se han expandido de
manera exponencial, hoy podemos disponer de las más variadas formas de
almacenamiento, y además con una notable mayor capacidad.
Un NAS es una manera extremadamente práctica, útil y económica para lograr un sistema
de almacenamiento de datos centralizado, al cual pueden acceder todas las computadoras
de la red que se encuentren conectadas al mismo, facilitando de este modo la gestión y
resguardo de todo el material que hace a nuestra actividad.
152
permiten tener un total control de los datos y archivos, un detalle muy significativo a tener
en cuenta en el caso de que falle alguna de las computadoras de la red.
Almacenamiento en la Nube
No obstante, como todos los sistemas, el almacenamiento online también presenta algunas
vulnerabilidades, y en este sentido uno de los principales riesgos guarda relación con el
equipo o dispositivo que utilicemos nosotros como clientes para acceder a la base de datos
en la Nube.
Por ello, si optamos por almacenar la información de nuestra empresa o datos personales
en un servicio de almacenamiento en la Nube, de todas formas debemos poner en práctica
los cuidados en torno a nuestros equipos informáticos con los cuales accedemos al servicio.
Esto se debe fundamentalmente al hecho que este tipo de plataformas poseen determinados
protocolos de seguridad de los datos cuyo objetivo es proteger la información y al mismo
tiempo el propio sistema. Es por ello que incluso en el caso en que pueda llegar a fallar una
de las unidades de hardware del proveedor de almacenamiento en la Nube, nuestros datos
aún estarán a salvo y seguros
Para grabar datos en un soporte físico más o menos perdurable se usan casi en exclusiva
estas dos tecnologías. La magnética se basa en la histéresis magnética de algunos
materiales y otros fenómenos magnéticos, mientras que la óptica utiliza las propiedades del
láser y su alta precisión para leer o escribir los datos. Vamos a explicar las características
prácticas de cada una de ellas.
Dispositivos magnéticos existen infinidad; desde las casetes o las antiguas cintas de
música hasta los modernos Zip y Jaz, pasando por disqueteras, discos duros y otros
similares. Todos se parecen en ser dispositivos grabadores a la vez que lectores, en su
153
precio relativamente bajo por MB (lo que se deriva de ser tecnologías muy experimentadas)
y en que son bastante delicados.
Les afectan las altas y bajas temperaturas, la humedad, los golpes y sobre todo los campos
magnéticos.
Realmente, el método es muy similar al usado en los antiguos discos de vinilo, excepto
porque la información está guardada en formato digital (unos y ceros como valles y cumbres
en la superficie del CD) en vez de analógico y por usar un láser como lector. El sistema no
ha experimentado variaciones importantes hasta la aparición del DVD, que tan sólo ha
cambiado la longitud de onda del láser, reducido el tamaño de los agujeros y apretado los
surcos para que quepa más información en el mismo espacio.
154
Almacenamiento en cintas magnéticas
Esta alternativa continúa siendo la favorita de muchas empresas de todo el mundo, ya que
consideran que el uso de cintas magnéticas para el almacenamiento de datos a largo plazo
es una de las mejores opciones, ya que lo cierto es que estas cintas no están afectada por
el riesgo de infectarse con un malware, problema que sí presentan los discos rígidos.
Asimismo, una de las grandes desventajas de este tipo de plataforma reside en que las
cintas magnéticas son total y absolutamente dependientes de un hardware y un software
específico.
Almacenamiento en red
El llamado Network Storage, si bien no es tan utilizado, lo cierto es que se trata de una
opción mucho más eficaz que el almacenamiento en discos rígidos, ya que en este caso
funciona a través de un proceso mediante el cual la información se almacena en un
dispositivo de red o un servidor.
Lo bueno de esta plataforma es que el dispositivo de red o servidor, por lo general incluye
un sistema de redundancia incorporada, con lo cual es posible proteger los datos ante
155
posibles y eventuales pérdidas de la información, al contrario de lo que sucede con los discos
rígidos.
Sin embargo, una de las principales desventajas que posee el almacenamiento en red, y
que por supuesto resulta obvio, reside en que en aquellos momentos en los cuales no es
posible acceder a la red, tampoco será posible acceder a la base de datos que guarda la
información.
Cuando se trata de escaso volumen de información, incluso de datos al nivel de lo que puede
llegar a manejar un pequeño emprendimiento comercial, una opción de almacenamiento de
esa información puede ser distintos tipos de medios extraíbles, tales como pendrives y
tarjetas de memoria.
Además no sólo son muy susceptible a los daños físicos, sino también debido a su tamaño
son vulnerables a la pérdida o al robo. Por ello este tipo de medio es excelente sólo en
aquellos casos en que se requiere almacenar datos de forma temporal para transportarlos
de un lugar a otro, pero no como forma de almacenamiento definitivo de la información.
156
Figura No . Medios extraíbles de almacenamiento.
157
INFOGRAFIA
3. Yeraldine (2017)
Gestionar usuarios y grupos en Linux
Marzo 2017
[Link]
158
10. Operating System (2011)
Octubre 31, 2011
Gestión de Memoria Linux Windows
[Link]
19. Yeraldine
Comandos Linux para gestión de Disco Duro y particiones (2017)
Febrero 8, 2017
[Link]
particiones/
159
Cómo comprimir y descomprimir archivos en Linux usando el terminal
Marzo 27, 2017
[Link]
usando-el-terminal/
160
Diferencia entre Apt y Apt get en Linux (Ubuntu)
Julio 13, 2017
[Link]
161