0% encontró este documento útil (0 votos)
244 vistas161 páginas

Administración de Sistemas Operativos

Este documento presenta un plan de contenido para un curso de administración de sistemas operativos. Se divide en dos módulos principales. El primer módulo introduce conceptos básicos de administración de sistemas como gestión de usuarios, redes, configuración y mantenimiento. El segundo módulo cubre temas como administración de recursos, monitorización, servicios de impresión y administración de terminales, módems y otros dispositivos. El documento proporciona detalles sobre comandos y herramientas de Linux para

Cargado por

Manuel Dominguez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
244 vistas161 páginas

Administración de Sistemas Operativos

Este documento presenta un plan de contenido para un curso de administración de sistemas operativos. Se divide en dos módulos principales. El primer módulo introduce conceptos básicos de administración de sistemas como gestión de usuarios, redes, configuración y mantenimiento. El segundo módulo cubre temas como administración de recursos, monitorización, servicios de impresión y administración de terminales, módems y otros dispositivos. El documento proporciona detalles sobre comandos y herramientas de Linux para

Cargado por

Manuel Dominguez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD TECNOLOGICA DE PANAMA

FACULTAD DE INGENIERIA DE SISTEMAS COMPUTACIONALES

LICENCIATURA EN REDES INFORMATICAS

ADMINISTRACION DE SISTEMAS OPERATIVOS

Por Martín Arosemena

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

Figura No. 1 Gestión de usuarios Linux...................................................................................... 20


Figura No. 2 Explicacion de los campos q ilustra informaciòn sobre cada usuario .................. 22
Figura No. 3 Información sobre cada usuario en directorio /etc/shadow .................................. 23
Figura No. 4 Contraseñsa cifradas en el archivo en /etc/shadow .......................................... 24
Figura No. 5 Comandos de administración y control de usuarios. ........................................... 30
Figura No. 6 Archivos de administración y control de usuarios. .............................................. 31
Figura No. 7 iptraf: Monitoreo en tiempo real LAN IP. ............................................................. 44
Figura No. 8. Monitor utilidad para la supervisiòn de procesos. .............................................. 45
Figura No. 9 Nethogs - Monitor por acceso Ancho de banda de red ........................................ 46
Figura No. 10 iftop - Control de ancho de banda de red. .......................................................... 46
Figura No. 11 Comando free ...................................................................................................... 49
Figura No. 12 Comando free -b .................................................................................................. 49
Figura No. 13 Comando free -k .................................................................................................. 50
Figura No. 14 Comando free -m ................................................................................................. 50
Figura No. 15 Comando free -g .................................................................................................. 50
Figura No. 16 Comando free -t ................................................................................................... 51
Figura No. 17Comando free información cada 5 segundos ...................................................... 51
Figura No. 18 Comando free -v .................................................................................................. 51
Figura No. 19 Comando proc/meminfo ..................................................................................... 52
Figura No. 20 Comando vmstat.................................................................................................. 53
Figura No. 21 Comando top. ...................................................................................................... 54
Figura No. 22 Comando htop ..................................................................................................... 55
Figura No. 23 Arbol de directorios del sistema en el sistema operativo Linux. ....................... 66
Figura No. 24 Terminales y su servidor ...................................................................................... 67

PLAN DE CONTENIDO DEL CURSO


Módulo I

Introducción a la administración de Sistema Operativo

1. Introducción a la administración de los Sistemas operativos

1.1 Concepto

1.2 Aspectos en la administración de un Sistema Operativo

1.3 Funciones del administrador

2. Administración de usuarios y grupos

2.1 Crear, añadir, modificar, eliminar usuarios

2.2 Controlar usuarios y sus contraseñas

2.3 Crear grupos de usuarios

2.4 Asignación de permisos

6
2.5 Compartiendo archivos

Módulo II.
Administración de Recursos, Monitorización y Mantenimiento

3. Administración de recursos del sistema

3.1 Rendimiento del Sistema y control de la CPU

3.2 Administración de la memoria

3.3 Servicios de la impresión

3.3.1 instalación y administración

3.4 Administración de terminales

3.5 Administración de módems y otros dispositivos

4. Monitorización y mantenimiento

4.1 Gestión de almacenamiento en disco

4.1.1 Discos, volúmenes, particiones

4.1.2 Compresión de archivos

4.2 Gestión de las comunicaciones en la red

4.2.1 Tarjetas

4.2.2 Protocolos

4.3 Técnicas y herramientas para gestión de redes

4.3.1 Consola remota, monitoreo, órdenes del servidor

4.4 Respaldo y recuperación de datos

5. Software de aplicación

5.1 instalación de software de aplicación

Módulo III

Administración de archivos y respaldos

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

7.1 Riesgo en los cuales se encuentran inmersos los Sistemas de Información


7.2 Clasificación de respaldos
7.3 Dispositivos de almacenamiento

7.4 Tecnologías: óptica y magnética u otras de almacenamiento

8
MODULO I. Introducción a la administración de los Sistemas operativos.

1. Introducción a la administración de los sistemas operativos.


1.1. Concepto

Un Administrador de sistemas es la persona que tiene la responsabilidad de


implementar, configurar, mantener, monitorizar, documentar y asegurar el correcto
funcionamiento de un sistema informático, o algún aspecto de éste.
El administrador de sistemas tiene por objeto garantizar el tiempo de actividad (uptime),
rendimiento, uso de recursos y la seguridad de los servidores que administra de forma
dinámica.
En las organizaciones que cuentan con diversos sistemas informáticos, se torna más
compleja la administración. De esta forma, las funciones del administrador de sistemas
se dividen en roles: administrador de servidores, de bases de datos, de redes, de correo
electrónico, de servidores web, de seguridad, de respaldo etc. Cada uno con sus
correspondientes tareas específicas.
En muchas organizaciones, la tarea de un Administrador de Sistemas se extiende a
la planificación de crecimiento de cada sistema, como también la importante tarea
de copia de respaldo de la información contenida en ellos.
En sistemas operativos del tipo Unix, el superusuario o root es el nombre
convencional de la cuenta de usuario que posee todos los derechos en todos los modos
(monousuario o multiusuario). Normalmente es la cuenta de administrador. El
usuario root puede hacer muchas cosas que un usuario común no puede, tales como
cambiar el dueño o permisos de archivos y enlazar a puertos de numeración pequeña.
No es recomendable utilizar el superusuario ni ningún usuario de la escala de permisos
*:0 ni cualquier usuario que pertenezca al grupo root para una simple sesión de uso
habitual, ya que pone en riesgo el sistema al garantizar acceso privilegiado a cada
programa en ejecución. Es preferible utilizar una cuenta de usuario normal y utilizar el
comando su para acceder a los privilegios de root en caso de ser necesario.

1.2. Etapas o Aspectos en la administración de un sistema operativo


(administración de un sistema)

1.2.1 Desafíos del administrador de sistemas:

a. Diseño de redes lógicas y eficientes.


b. Gestión de instalaciones de gran número de equipos de modo que se puedan
actualizar fácilmente.
c. Decidir cuáles servicios y configuraciones se precisan.
d. Planear e implantar medidas de seguridad adecuadas.
e. Proporcionar un entorno agradable a los usuarios.
f. Disponer de estrategias para resolver los problemas que se plantean.
g. Mantenerse al día y usar el conocimiento que se adquiere.

1.2.2 Principios de la administración de sistemas

 Definición de políticas: especifican lo que queremos conseguir y que vamos a


permitir.
 Previsibilidad: los sistemas deben ser previsibles, ya que esto es la base para sean
fiables y nos den confianza y seguridad.
 Escalabilidad: un sistema escalable es el que crece de acuerdo con la política y
contínua funcionando de modo previsible incluso cuando aumenta de tamaño.

9
1.2.3 Gestión de equipos

 Sistemas Operativos a instalar y dar soporte.


 ¿Cómo mantenemos los sistemas? ¿Usamos el modelo y las herramientas del
fabricante o definimos un modelo propio? ¿Configuramos todos los equipos igual o
permitimos diferencias?
 Automatización de la instalación y actualización de software.
 Uso de herramientas de catalogación y auditoría del software instalado en los
sistemas.

1.2.4 Gestión de usuarios

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

1.2.5 Gestión de red

 Diseño de la topología de la red teniendo en consideración aspectos de


seguridad (red privada vs. DMZ) y de hardware (switches, cables, ...).
 Uso de sistemas de monitorización para el hardware de red (SMTP).
 A nivel de aplicación, uso de sistemas de directorio para control de usuarios,
asignación de nombres y direcciones, etc.

1.2.6 Configuración y mantenimiento

 Uso de recursos compartidos para simplificar el mantenimiento (sistemas de


archivos de red, servidores de impresión, etc.)
 Gestión configuraciones: manual vs. automática, control de versiones para
mantener históricos.
 Uso de sistemas de programación de tareas y/o agentes para automatizar
monitorización (los datos se pueden emplear para ajustar el rendimiento de los
sistemas) y los cambios.

1.2.7 Gestión de cambios

 Documentación de los cambios: ¿qué?, ¿cómo? y ¿por qué se cambia?


 Diseño de casos de prueba para validar los cambios a realizar.
 Pruebas de actualización (si es posible) y definición de un sistema de vuelta
atrás en caso de problemas al aplicarlos (deshacer cambios en ficheros,
recuperar datos y programas de un backup, etc.).

1.2.8 Tolerancia a fallos y alta disponibilidad

 Sistemas de monitorización que detectan y avisan de los fallos, poniendo en


marcha sistemas alternativos si es posible (sistemas de HA).
 Uso de sistemas redundantes a todos los niveles posibles: RAID (discos),
servidores primarios y secundarios (DNS, LDAP, ...), sistemas de balanceo de
carga automáticos, ...
 Problemas: la alta disponibilidad y la tolerancia a fallos son caras.

10
1.2.9 Seguridad: Objetivos

 Los tres objetivos fundamentales de la seguridad informática son:


 Confidencialidad; el acceso a los activos del sistema debe estar limitado
a usuarios autorizados.
 Integridad; los activos del sistema solo pueden ser borrados o
modificados por usuarios autorizados.
 Disponibilidad; el acceso a los activos en un tiempo razonable está
garantizado para usuarios autorizados.
 Para conseguir esos objetivos deberemos definir e implantar políticas de
seguridad.

1.2.10 Seguridad: aspectos a estudiar

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.

1.3. El administrador del sistema es responsable de lo siguiente:

1.3.1 Poner en marcha nuevos servidores:

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.

1.3.2 Realizar backups:

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.

1.3.3 Cambiar la configuración hardware de los equipos:

Si añadimos un nuevo sistema de almacenamiento, una tarjeta de red o una impresora


compartida, este nuevo hardware debe ser reconocido por el sistema con una adecuada

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.

1.3.4 Instalar nuevo software y actualizar el existente:

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:

Esto incluye por supuesto altas, bajas o modificaciones de usuarios existentes o la


configuración de privilegios de acceso. Todas estas acciones llevan aparejadas tareas
a realizar, muchas de las cuales acaban siendo automatizadas y normalmente una
planificación previa del procedimiento. Por ejemplo en un alta, en qué máquina estará o
cuál será el directorio home de ese usuario; en una baja, a parte de deshabilitarlo para
impedir el acceso posiblemente deba hacer backup de todos sus ficheros y pasarlos a
algún formato de almacenaje y liberar espacio. En este capítulo también podríamos
incluir la virtualización de puestos de trabajo, cada vez más en boga, y que lleva más
allá el proceso de configuración para crear el entorno específico a cada usuario, aunque
posteriormente facilite la gestión.
1.3.6 Monitorizar el rendimiento del sistema:

Un buen administrador es proactivo y se adelanta a los fallos, o lo que es lo mismo,


prevenir es mejor que curar. La degradación del rendimiento de los sistemas o la
aparición de problemas incipientes conviene que sean detectados cuanto antes y no por
el reporte de los usuarios, que pueden esperar hasta que sus síntomas sean evidentes
y ya sea demasiado tarde. La vigilancia de los distintos sistemas de logs y alertas del
sistema, su correcta configuración y automatización mediante scripts o herramientas
software específicas que incluso avisen por email o sms, es una tarea preventiva que
proporciona buenos dividendos.
1.3.7 Seguridad:

Otro aspecto crítico y con similitudes al anterior en cuanto a vigilancia continuada. No


hay ningún sistema infalible ante un acceso no autorizado o un ataque, pero está en su
mano tener las políticas adecuadas en marcha incluyendo la concienciación a los
usuarios, las configuraciones en regla así como las versiones y parches de software
actualizados, la instalación de sistemas de protección y detección ‘proporcionados’ al
rango del sistema.

1.3.8 Fallos y caídas del sistema:

Si no supimos detectarlo, o si el fallo se produce súbitamente, es necesaria una


intervención rápida para restaurar el sistema a su funcionamiento normal. En fallos
graves se suele dar la máxima de que es más difícil diagnosticar el problema que
solucionarlo, y es labor del administrador determinar qué camino seguir, incluyendo la
llamada a un mantenimiento externo contratado. Los administradores veteranos suelen
decir, que un Administrador que se aprecie, no es tal si no ha pasado un fin de semana
entero sin dormir en la Sala de Servidores (Centro de Datos / DataCenter), intentando
levantar un sistema que no funciona.

12
1.3.9 Atención usuarios:

Quizás la labor más discutida y la que ocupe la mayor parte de su tiempo. El


Administrador no debería ser el help-desk, pero en organizaciones pequeñas puede ser
casi el único recurso técnico al que pueden acudir los usuarios en busca de ayuda. Esta
labor de soporte podría aligerarse en muchas ocasiones con una formación adecuada
de los usuarios en los sistemas y programas que manejan en la Compañía, pero puede
ser clamar en el desierto. Hay que guardar un difícil equilibrio entre estar continuamente
resolviendo emergencias o atendiendo peticiones adhoc y el poner una barrera
infranqueable haciendo caso omiso de lo que no viene por el canal reglamentario y está
suficientemente documentado y justificado. Ser diplomático y empatizar con los usuarios
no es algo que se enseñe habitualmente en los cursos de administración de sistemas,
pero es condición imprescindible para llegar a ser un apreciado y valioso personal de TI.

1.3.10 Reporte a dirección/organización:

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.

1.3.11 Documentación del sistema:

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.

Un administrador también puede ser:

 Un Administrador de Bases de Datos


 Un Administrador de Seguridad Informatica
 Un Administrador de Redes
 Un Administrador de Sistemas Operativos (Privativos o Libres)

Los administradores de sistema no son Ingenieros de software o Desarrolladores. Por lo


general no está dentro de las funciones de un Ingeniero de redes el diseño de nuevas
aplicaciones de software. Sin embargo, debe comprender el comportamiento del
software con el fin de implementar y solucionar problemas, y en general, debe ser bueno
en varios lenguajes de programación utilizados para secuencias de comandos o la
automatización de tareas rutinarias como shell, awk, perl, python, etc.

[Link] CONOCIMIENTOS ESENCIALES Y HABILIDADES DE UN ADMINISTRADOR DE


SERVIDORES

13
Muchas tareas para la Administración de los Servidores y Sistemas se pueden
automatizar usando Perl o Scripts de shell.

[Link] REQUISITOS GENERALES

Un administrador de servidores tiene muchas funciones de trabajo que varían de una


organización a otra. Generalmente, sin embargo, los administradores de servidores son
responsables de la Planeación, Instalación, Soporte y Mantenimiento de un Sistema o
Servidor informático. Los servidores centralizados son fuentes de datos para una empresa
y asegurarse de que funcionen sin problemas es fundamental. Evitar el tiempo de inactividad
del servidor a través de un mantenimiento programado, garantizando la seguridad del
servidor y ayudar al personal en la conexión con el servidor son todas las tareas importantes
de un administrador de servidores. Hacer una copia de seguridad de los datos del servidor
es también un deber del personal de administración de servicios.

Para realizar acciones tales como:

 Crear nuevos usuarios


 La restauración de contraseñas de usuario
 Bloqueo / desbloqueo de cuentas de usuario
 Monitor de la seguridad del servidor
 Monitor de servicios especiales, etc

En realidad un SysAdmin de alto nivel automatiza todo lo que puede.

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

Los Administradores de Servidores (Sysadmins) suelen ser los encargados de la


instalación, soporte y el mantenimiento de los servidores u otros sistemas informáticos, asi
como la planificación y respuesta a interrupciones del servicio y otros problemas. Otras
tareas pueden incluir la programación de secuencias de comandos o programacion ligera,
para los sistemas de gestión relacionados con los proyectos.

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!

[Link] 12 RAZONES POR LAS QUE UN ADMINISTRADOR DE SISTEMAS


(SYSADMIN) PEREZOSO, ES EL MEJOR ADMINISTRADOR DE SISTEMAS.

Razón 1 ¿Quién es el jefe?

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.

Razón 2 Automatiza hasta el café:

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.

Razón 3 evitar las pérdidas:

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.

Razón 4 Crea un plan de recuperación ante desastres:

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

Razón 5 si no te puedes clonar, clona tus sistemas:

La regla de los sistemas altamente redundantes. un sysadmin competente (y perezoso) no


le gusta recibir llamadas en el medio de la noche a causa de algún problema de hardware
que falló por una tontería; por ende, los sysadmins perezosos se aseguran que todos los
componentes de su plataforma sean altamente redundantes. Esto incluye tanto hardware
como software. Desde configurar tarjetas de red en modo bonding, RAID en discos, siempre
al menos dos servidores o máquinas virtuales para cada cosa, siempre hay que tener al
menos dos de todo. Por ende, cuando un componente falla, el sistema todavía sigue
funcionando y el administrador del sistema perezoso puede dormir esa noche tranquilo y

15
podrá trabajar en la reparación del componente roto mucho después de regresar temprano
en la mañana.

Razón 6 Siempre debe haber espacio para crecer:

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.

Razón 7 Sea proactivo:

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.

Razón 8 Ama tu teclado:

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.

Razón 9: Maestro de la línea de comandos:

Cada sysadmin perezoso que conozco es un maestro de la línea de comandos. A veces la


gente se sorprende de ver tanto tiempo al sysadmin en una “pantalla negra”; Esto no solo
se aplica a sistemas Linux/BSD sino también a DBA’s, administradores de red, etc. Aunque
exista una aplicación con interfaz gráfica para una tarea, usted verá al sysadmin lanzando
una línea de comandos, En una interfaz de instalación de programas, por ejemplo, tendrás
que cargar la aplicación, esperar que cargue, buscar el programa, darle a “seleccionar” y
luego a “instalar”, en una cónsola escribes “migestor install miprograma” y listo, sabes
exactamente que hacer en cada momento. Hay dos razones básicas por qué los sysadmins
perezosos les encanta una línea de comandos. Por un lado, se pueden hacer las cosas más
rápidamente en la línea de comandos (si se sabe hacerlo, claro está). Por otra parte, le hace
sentir que él es el jefe y no la máquina. Cuando se utiliza la línea de comandos, usted está
en control del sistema, usted sabe exactamente lo que quiere hacer y sabe lo que va a
obtener. Cuando se utiliza una interfaz gráfica de usuario, usted está a merced del flujo de
trabajo gráfico y no tiene el control total.

Razón 10 Aprende de los errores:

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.

Razón 11 Nunca quedarse atrás:

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.

Razón 12 Nunca confiar en la mente, Documente todo:

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.

Si usted es un administrador de sistemas y siempre está dando vueltas apagando fuegos


como bombero, usted ya sabe lo que tiene que hacer para ser perezoso. ¡A trabajar hoy,
para descansar mañana!

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 .

No importa qué tanta experiencia tenga un SysAdmin, en algún momento en su carrera


ocasiona un desastre. Todo el mundo aprende las lecciones a través de sus propios errores.
Ahora bien, aprender de los errores de los demás es mucho más inteligente que aprender
sólo de los propios. Veamos cuáles son los errores más comunes de los SysAdmin y cómo
podemos evitarlos.

1) Realizar tareas de administración utilizando la cuenta root. ¿Cuál es el


objetivo de todo hacker? conseguir la cuenta root o en su defecto una cuenta que tenga
privilegios equivalentes para comprometer el servidor.

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.

Recomendación: No utilices la cuenta root para realizar labores de administración


rutinarias. Sólo utilízala cuando sea eminentemente necesario. Las aplicaciones ejecútalas
siempre desde una cuenta con privilegios de usuarios normales.

2) No realizar backups. De los hábitos dañinos de un SysAdmin este es el más común.


Si eres de los SysAdmin que piensan que eres el más hacker de todos los hackers, que
nunca vas a necesitar restaurar una base de datos y que el sistema nunca tendrá problemas,
estás absolutamente equivocado.

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.

Recomendación: Realiza un plan sistemático para realizar backups de los servidores,


dispositivos de redes y aplicaciones de seguridad. Este backup debe ser almacenado en un
lugar seguro. Por último, no cometas el error de no probar los backups. Da la casualidad
que muchos SysAdmin nunca hacen testing de sus backup y al momento del desastre se
dan cuenta que los backups que han realizado no sirven para nada.

3) Realizar actualizaciones en producción. No existe un hábito más dañino para un


SysAdmin que el de instalar softwares nuevos o actualizaciones directamente en los
servidores que están en producción.

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.

En realidad nadie sabe lo que puede ocurrir realizando actualizaciones en un servidor en


producción sin antes haber probado en un ambiente controlado. Las posibilidades son
indeterminadas. Quién realiza este tipo de prácticas debe estar preparado para “caídas
inesperadas” del sistema y par de noches en amanecidas tratando de “restaurar el sistema”.

Recomendación: Nunca instales o actualices un software sin antes realizar pruebas en


un ambiente controlado. Hace unos años atrás un SysAdmin tenía uno o varios servidores
físicos dedicados para estos fines. En la actualidad es posible replicar en una laptop todo un
ambiente de servidores utilizando la tecnología de virtualización. Otro detalle es que nunca
actualices un sistema en producción sin contar con un backup a mano.

4) Ignorar el principio del mínimo privilegio. Las amenazas ocultas


frecuentemente provienen de la explotación de una cuenta que tiene más privilegios de
acceso de lo que en realidad le correspondía.

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.

5) No documentar los cambios. Probablemente este es el hábito más dañino de


todos. Se estima que más del 70% de los SysAdmin no documentan los cambios realizados
en los sistemas.

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.

Recomendación: mantén un registro de todos los cambios que se realizan en los


archivos de configuración, configuraciones de seguridad y contenido crítico del negocio en
caso de sorpresas. La autoría interna sobre los cambios que experimentan los archivos debe
ser una de las tareas principales de un SySAdmin eficiente.

Resumen

No ignores ninguna de las recomendaciones descritas aquí. La experiencia demuestra que


los SysAdmin que violan estas reglas tienen bastantes problemas para mantener sus
empleos. Ya no puedes alegar ignorancia. Guerra avisada no mata soldado.

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

Los administradores de servidores a menudo deben gestionar el sistema operativo del


servidor, mantener la integridad del rendimiento del servidor, instalar y configurar el software
nuevo y las actualizaciones, solucionar problemas y actualizar la información de cuentas de
usuario (añadir/eliminar usuarios y restablecer contraseñas). También deben realizar copias
de seguridad de rutina; integrar las nuevas tecnologías; gestionar redes; y aplicar las
actualizaciones, revisiones y cambios de configuración para el sistema operativo.

En otras palabras, un Administrador de Servidores es la persona responsable de


establecer y mantener la Plataforma de datos y comunicaciones de una organización /
institución. También llamados o conocidos como Administradores de Sistemas o SysAdmin,

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.

Figura No. 1 Gestión de usuarios Linux

El objetivo principal de la gestión de usuarios y grupos en Linux, es permitir que múltiples


usuarios hagan uso del sistema, pero de una forma ordenada y segura. De tal manera que
ninguna de las tareas que se realicen por cualquier usuario, pueda poner en riesgo todo el
sistema. A través de la gestión, se establecen los mecanismos y políticas de seguridad para
la protección de os datos de cada usuario, así como parara asegurar y proteger el
funcionamiento de todo el sistema.

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

 Se usan para usuarios individuales.


 Cada usuario dispone de un directorio de trabajo, ubicado generalmente en /home.
 Cada usuario puede personalizar su entorno de trabajo.
 Tienen solo privilegios completos en su directorio de trabajo o HOME.
 Por seguridad, es siempre mejor trabajar como un usuario normal en vez del usuario
root, y cuando se requiera hacer uso de comandos solo de root, utilizar el comando su.
 En las distros actuales de Linux se les asigna generalmente un UID superior a 500.

/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

Anteriormente (en sistemas Unix) las contraseñas cifradas se almacenaban en el


mismo /etc/passwd. El problema es que ‘passwd’ es un archivo que puede ser leído por
cualquier usuario del sistema, aunque solo puede ser modificado por root. Con cualquier
computadora potente de hoy en día, un buen programa de descifrado de contraseñas y
paciencia es posible “crackear” contraseñas débiles (por eso la conveniencia de cambiar
periódicamente la contraseña de root y de otras cuentas importantes). El archivo ‘shadow’,
resuelve el problema ya que solo puede ser leido por root. Considérese a ‘shadow’ como
una extensión de ‘passwd’ ya que no solo almacena la contraseña encriptada, sino que tiene
otros campos de control de contraseñas.
El archivo /etc/shadow contiene una línea para cada usuario, similar a las siguientes:

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.

FiguraFigura No.3 Información


No. 3 Información sobreen
sobre cada usuario cada usuario
directorio en directorio /etc/shadow
/etc/shadow

Este archivo guarda


Figura No.3 1 la relación de los grupos a los que pertenecen los usuarios del sistema,
contiene una línea para cada usuario con tres o cuatro campos por usuario:

root:x:0:root

test:x:501:

pedro:x:502:ventas,supervisores,producción

alumno:x:503:ventas,pedro

 El campo 1 indica el usuario.

23
 El campo 2 ‘x’ indica la contraseña del grupo, que no existe, si hubiera se mostraría un
‘hash’ encriptado.

 El campo 3 es el Group ID (GID) o identificación del grupo.


 El campo 4 es opcional e indica la lista de grupos a los que pertenece el usuario

Actualmente al crear al usuario con useradd se crea también automáticamente su grupo


principal de trabajo GID, con el mismo nombre del usuario. Es decir, si se añade el usuario
‘pedro’ también se crea el /etc/group el grupo ‘pedro’. Aun asi, existen comandos de
administración de grupos que se explicarán más adelante.

PWCON V Y P WU NCONV

El comportamiento por defecto de todas las distros modernas de GNU/Linux es activar la


protección extendida del archivo /etc/shadow, que (se insiste) oculta efectivamente el ‘hash’
cifrado de la contraseña de /etc/passwd.

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:

Figura No. 4 Contraseñsa cifradas en el archivo en /etc/shadow

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:

 Número máximo de días que una contraseña es válida PASS_MAX_DAYS


 El número mínimo de caracteres en la contraseña PASS_MIN_LEN
 Valor mínimo para usuarios normales cuando se usa useradd UID_MIN
 El valor umask por defecto UMASK
 Si el comando useradd debe crear el directorio home por defecto CREATE_HOME

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.

Por defecto, en Linux la información de los grupos de un sistema se guarda en el archivo


/etc/group. Este archivo puede ser visualizado desde cualquier editor de texto. Cada una de
sus líneas almacena los parámetros específicos del grupo y los usuarios asociados. El
archivo solo puede ser modificado por el administrador (usuario root). Por otra parte, las
contraseñas de los grupos son guardadas de forma encriptadas con un sistema de
codificación irreversible, en un archivo de texto tambien: /etc/gshadow.

Añadir usuarios con useradd

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:

 -c añade un comentario al momento de crear al usuario, campo 5 de /etc/passwd


 -d directorio de trabajo o home del usuario, campo 6 de /etc/passwd
 -e fecha de expiración de la cuenta, formato AAAA-MM-DD, campo 8 de /etc/shadow
 -g número de grupo principal del usuario (GID), campo 4 de /etc/passwd
 -G otros grupos a los que puede pertenecer el usuario, separados por comas.
 -r crea una cuenta del sistema o especial, su UID será menor al definido en
/etc/[Link] en la variable UID_MIN, además no se crea el directorio de inicio.
 -s shell por defecto del usuario cuando ingrese al sistema. Si no se especifica, bash,
es el que queda establecido.
 -u UID del usuario, si no se indica esta opción, automáticamente se establece el
siguiente número disponible a partir del último usuario creado.

Ahora bien, realmente no hay prácticamente necesidad de indicar ninguna opción ya que si
hacemos lo siguiente:

# useradd juan

Se creará el usuario y su grupo, asi como las entradas correspondientes en /etc/passwd,


/etc/shadow y /etc/group. También se creará el directorio de inicio o de trabajo: /home/juan
y los archivos de configuración que van dentro de este directorio y que más adelante se
detallan.

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:

# useradd -c "Juan Test" juan

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.

Modificar usuarios con usermod

Como su nombre lo indica, usermod permite modificar o actualizar un usuario o cuenta ya


existente. Sus opciones más comunes o importantes son las siguientes:

 -c añade o modifica el comentario, campo 5 de /etc/passwd


 -d modifica el directorio de trabajo o home del usuario, campo 6 de /etc/passwd
 -e cambia o establece la fecha de expiración de la cuenta, formato AAAA-MM-DD,
campo 8 de /etc/shadow
 -g cambia el número de grupo principal del usuario (GID), campo 4 de /etc/passwd
 -G establece otros grupos a los que puede pertenecer el usuario, separados por comas.
 -l cambia el login o nombre del usuario, campo 1 de /etc/passwd y de /etc/shadow
 -L bloque la cuenta del usuario, no permitiendolé que ingrese al sistema. No borra ni
cambia nada del usuario, solo lo deshabilita.
 -s cambia el shell por defecto del usuario cuando ingrese al sistema.
 -u cambia el UID del usuario.
 -U desbloquea una cuenta previamente bloqueada con la opción -L.

Si quiseramos cambiar el nombre de usuario de ‘pedro’ a ‘peter’:

# usermod -l peter pedro

Casi seguro también cambiará el nombre del directorio de inicio o HOME en /home, pero si
no fuera así, entonces:

# usermod -d /home/peter peter

Otros cambios o modificaciones en la misma cuenta:

# usermod -c "supervisor de area" -s /bin/ksh -g 505 peter

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

Eliminar usuarios con userdel

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.

2.2 C AM BI AR C ONTR AS EÑ AS C ON P AS SWD

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.

.bashrc es igual que .bash_profile, se ejecuta al principio de la sesión, tradicionalmente en


este archivo se indican los programas o scripts a ejecutar, a diferencia de .bash_profile que
configura el entorno.

Lo anterior aplica para terminales de texto 100%.

Si deseamos configurar archivos de inicio o de salida de la sesión gráfica entonces, en este


caso, hay que buscar en el menú del ambiente gráfico algún programa gráfico que permita
manipular que programas se deben arrancar al iniciar la sesión en modo gráfico. En la
mayoría de las distribuciones existe un programa llamado “sesiones” o “sessions”,
generalmente está ubicado dentro del menú de preferencias. En este programa es posible
establecer programas o scripts que arranquen junto con el ambiente gráfico, sería
equivalente a manipular ‘bashrc’.

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 .

Comandos de gestión de usuarios y grupos en Linux

Creación de usuarios

Para añadir un usuario, indicando sus parámetros de información utilizamos en la consola


el comando useradd. Su sintaxis es: Podemos resaltar entre todas sus opciones, las
siguientes:

useradd [ opciones ] nombre - usuario

Podemos resaltar entre todas sus opciones, las siguientes:

 g: Grupo principal que sera asignado al usuario


 d: Para asignar carpeta home del usuario. Normalmente es /home/nombre-usuario
 m: Crear carpeta home en caso de no existir
 s: Intérprete de comandos (shell) del usuario. Suele ser /bin/bash

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:

sudo useradd -g profesores -d /home/luis -m -s /bin/bash luis

Ahora nos queda por establecer su contraseña mediante el uso del comando passwd:

sudo passwd luis

El sistema nos solicitara la contraseña dos veces y listo! Sera asignada.

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.

Por ejemplo, para cambiar el nombre de usuario usamos:

sudo usermod -d /home/carpeta_luis luis

Eliminación de usuarios

La eliminación de los usuarios la realizamos mediante el uso del comando userdel y a


continuación el nombre de usuario. Si a la instrucción, le añadimos la opción -r, su carpeta
home también sera eliminada. Veamos el ejemplo:

sudo userdel -r luis

2.3 Creación de grupos

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:

sudo groupadd estudiantes

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:

por ejemplo, cambiemos el gid del grupo “profesores”:

sudo groupmod -g 2000 profesores

Eliminación de grupos

Lo hacemos con el comando groupdel seguido del nombre del grupo, por ejemplo:

sudo groupdel profesores

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.

Añadir usuarios a un grupo

pera ello empleamos el comando adduser y a continuación el nombre del usuario y el


nombre del grupo. Por ejemplo, para añadir Luis al grupo profesores usamos:

sudo adduser luis profesores

Quitar usuarios de un grupo

Y finalmente, si queremos eliminar un usuario de un grupo, utilizamos el


comando deluser acompañado del nombre del usuario y del grupo. Por ejemplo, si
queremos quitar a “luis” del grupo “profesores”:

sudo deluser luis profesores

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

2.4 Asignación de permisos


Cualquier persona acostumbrada a utilizar el sistema operativo Windows que comienza a
trabajar en un ambiente Linux, seguramente se ha enfrentado o se enfrentará a problemas
tales como:

- No poder guardar archivos en algunas carpetas.


- Imposibilidad para abrir archivos.

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.

Tipos de Usuario en Linux

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:

1. Owner (propietario): La persona que el sistema reconoce como dueño de la carpeta o


archivo.
[Link] (grupo): Conjunto de usuarios con permisos similares.
3. Other (otros): Cualquier otra persona.

Tipos de Permiso de Acceso

Como se explicó anteriormente, asignar permisos a un directorio (carpeta) no significa que


los archivos o subcarpetas que pertenecen a esta tienen automáticamente los mismos
permisos que se le asignaron a la carpeta. Por lo tanto los permisos de acceso pueden ser
para directorios o para archivos.

34
Los permisos para archivos funcionan de esta manera:

1. Read (lectura): Permiso para ver el archivo, sin hacer cambios.


2. Write (escritura): Permiso de escritura: puede escribir el archivo, y por tanto, cambiarlo.
3. Execute (ejecución): El archivo o directorio puede ser ejecutado.

En cuanto a los archivos para directorios, funcionan así:

[Link]: Permiso para listar los archivos de un directorio.


[Link]: Permiso para añadir nuevos archivos al directorio.
3. Execute: Permiso para acceder a los archivos del directorio.

Cómo Conocer los Permisos de un Directorio o Archivo

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 3 root root 4096 2007-07-21 09:51 acpi

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

Cómo Fijar Permisos para Archivos y Directorios

Como ya se mencionaba anteriormente, la orden "chmod" es la que sirve para la asignación


de permisos en Linux. Por ejemplo chmod 777 [Link] le asigna todos los permisos al
archivo [Link]. Está claro que primeramente se debe ir al directorio que contiene el
archivo [Link] (usando el comando "cd" tal como se explicó anteriormente), y estando
ya en ese directorio, escribir "chmod 777 [Link]" para el caso de querer asignar todos
los permisos al archivo [Link]. Para comprender el significado de 777 se debe conocer
que 4 significa permiso de lectura, 2 permiso de escritura y 1 permiso de ejecución. Sumando
estos valores se puede ver que un archivo puede tener los siguientes permisos (por cada
tipo de usuario):

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

Todo ello para los tres tipos de usuario.

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

Por ejemplo, r w - r - - r - - significa que el owner tiene permisos de lectura y escritura (r w -


); el group permiso de lectura únicamente (r - -) y other, permiso de lectura (r - -). El
equivalente numérico sería 644.

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:

chmod [ugo][+-][rwx] [nombre_archivo]

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:

chmod: no se puede acceder a «var»: No existe el fichero o el directorio

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.

2.5 Compartiendo archivos

Cambiar Grupo Propietario

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:

sudo chgrp grupo ruta-archivo

En caso de que se trate de un directorio, si quieres que la orden se aplique de forma


recursiva para todos los ficheros contenido en él, el comando será el siguiente. Al igual que
antes, si utilizas el comando sin el parámetro -R, la orden solamente tendrá efecto sobre el
directorio especificado, pero NO sobre el contenido dentro de él.

sudo chgrp -R grupo ruta-directorio

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:

sudo chown :grupo ruta-archivo

Si quieres cambiar tanto el usuario como el grupo al que pertenece un determinado fichero,
la sintaxis de uso es la siguiente:

sudo chown usuario:grupo ruta-archivo

Te pongo algún ejemplo sobre este comando…

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.

sudo chgrp lisa /home/tom/Documentos/[Link]

Cambiar Grupo Propietario

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:

sudo chgrp grupo ruta-archivo

En caso de que se trate de un directorio, si quieres que la orden se aplique de forma


recursiva para todos los ficheros contenido en él, el comando será el siguiente. Al igual que
antes, si utilizas el comando sin el parámetro -R, la orden solamente tendrá efecto sobre el
directorio especificado, pero NO sobre el contenido dentro de él.

sudo chgrp -R grupo ruta-directorio

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:

sudo chown :grupo ruta-archivo

Si quieres cambiar tanto el usuario como el grupo al que pertenece un determinado fichero,
la sintaxis de uso es la siguiente:

sudo chown usuario:grupo ruta-archivo

Te pongo algún ejemplo sobre este comando…

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.

sudo chgrp lisa /home/tom/Documentos/[Link]

39
Módulo II. Administración de Recursos, Monitorización y Mantenimiento

3. Administración de recursos del sistema

Es muy importante tener información esencial del rendimiento del sistema:


 procesos en ejecución,
 cantidad de memoria disponible,
 espacio disponible en disco, número de particiones, etc.

Al determinar un problema de rendimiento del sistema se debe:

 Definir el problema con todo el detalle que sea posible


 Determinar la causa o causas del problema
 Formular explícitamente los objetivos para mejorar el rendimiento del
sistema
 Diseñar e implementar las modificaciones al sistema o bien los programas o
aplicaciones diseñados para llevar a cabo los objetivos de mejora
 Monitorizar el sistema para determinar si los cambios realizados han sido
efectivos
 Ir de nuevo al primer paso y volver a empezar, habrá un nuevo problema a
resolver

3.1 Rendimiento del Sistema y control de la CPU

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.

3.1.1. El comando top Linux es un programa para la supervisión del rendimiento

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

top - [Link] up 3:35, 3 users, load average: 0.30, 0.61, 0.71


Tasks: 195 total, 1 running, 194 sleeping, 0 stopped, 0 zombie
Cpu(s): 8.6%us, 1.5%sy, 0.0%ni, 89.4%id, 0.0%wa, 0.3%hi, 0.2%si, 0.0%st
Mem: 3950228k total, 3669632k used, 280596k free, 260276k buffers
Swap: 5128188k total, 0k used, 5128188k free, 1039232k cached

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

3.1.2. Vmstat - estadísticas de la memoria virtual

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

procs -----------memory---------- ---swap-- -----io---- --system-- -----


cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 0 1386204 104712 1248944 0 0 428 103 1437 2656 39 7 47 7 0
[javier@localhost ~]$
3.1.3. lsof - Lista de archivos abiertos

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

4. tcpdump - Packet Analyzer

tcpdump es el analizador de paquetes de la línea de comandos más utilizado o programa


de succionador de paquetes que se utiliza tanto para la captura o el filtro de
paquetes TCP/IP que recibieron o han sido transferidos en una interfaz específica a través
de una red. También proporciona una opción para guardar los paquetes capturados en un
archivo para su posterior análisis. tcpdump está casi siempre disponible en las principales
distribuciones de Linux.
# tcpdump -i eth0

[Link].443542 IP [Link].http > [Link].33461: Flags [P.], seq


4213809828:4213810056, ack 3942125296, win 1716, options [nop,nop,TS val
1933996291 ecr 1717147], length 228
[Link].443634 IP [Link].33461 > [Link].http: Flags [.], ack
4294965856, win 1395, options [nop,nop,TS val 1717306 ecr
1933996173,nop,nop,sack 1 {0:228}], length 0
[Link].443669 IP [Link].http > [Link].33461: Flags [.], seq
4294965856:0, ack 1, win 1716, options [nop,nop,TS val 1933996291 ecr 1717147],
length 1440
[Link].443702 IP [Link].33461 > [Link].http: Flags [.], ack
228, win 1395, options [nop,nop,TS val 1717306 ecr 1933996291], length 0

5. Netstat - Estadísticas de la red

Netstat es una herramienta de línea de comandos para controlar los paquetes de


red, estadísticas entrantes y salientes, así como estadísticas de la interfaz. Es una
herramienta muy útil para todos los administradores de sistema para monitorear el
desempeño de la red y solucionar problemas relacionados con la red.
# netstat -a | more

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

6. Iotop - Monitor Linux disco I / O

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

9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_bh]


10 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_sched]
11 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0]
12 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/1]
13 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/1]
14 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/1]
16 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/1:0H]
17 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [cpuset]
18 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khelper]

7. Iostat - Estadísticas Entrada / Salida

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

Linux 2.6.18-238.9.1.el5 ([Link]) 09/13/2012

avg-cpu: %user %nice %system %iowait %steal %idle


2.60 3.65 1.04 4.29 0.00 88.42

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn


cciss/c0d0 17.79 545.80 256.52 855159769 401914750
cciss/c0d0p1 0.00 0.00 0.00 5459 3518
cciss/c0d0p2 16.45 533.97 245.18 836631746 384153384
cciss/c0d0p3 0.63 5.58 3.97 8737650 6215544
cciss/c0d0p4 0.00 0.00 0.00 8 0
cciss/c0d0p5 0.63 3.79 5.03 5936778 7882528
cciss/c0d0p6 0.08 2.46 2.34 3847771 3659776

8. IPTraf - Monitoreo en tiempo real LAN IP

iptraf es una utilidad de monitorización de código abierto basada en consola y en tiempo


real de la red para Linux. (IP LAN) - Recoge una gran variedad de información como
monitor de tráfico IP que pasa a través de la red, incluida la información de flags TCP,
detalles ICMP, TCP / averías tráfico UDP, paquete de conexión TCP y cuenta Byne. También
recoge información de estadísticas de la interfaz general y detalles de TCP, UDP,,,, errores
de suma de comprobación IP no IP ICMP IP, interfaz actividad, etc

Figura No. 7 iptraf: Monitoreo en tiempo real LAN IP.

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.

10. monit - Proceso de Linux y Seguimiento de Servicios

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.

Figura No. 8. Monitor utilidad para la supervisiòn de procesos.

11. NetHogs - Monitor por proceso Ancho de banda de red

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

12. iftop - Control de 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

Figura No. 10 iftop - Control de ancho de banda de red.

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.

3.2 Administración de la memoria

¿Qué es la memoria virtual?

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.

Una nota sobre la terminología en Sistema Operativo: La ciencia de la computación distingue


habitualmente entre la palabra swapeado o "swaping" (escribir el proceso entero al área de
swap) y paginado (escribir solo porciones fijas de memoria, generalmente unos pocos
kilobytes, por vez). El paginado generalmente es mas eficiente y es lo que hace Linux,
aunque de todos modos en la terminología Linux se dice Swapeo o "swapping".

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:

a. Directorio de páginas: Los procesos activos tienen un directorio de páginas único


que tiene el tamaño de página. El directorio de páginas debe recidir en la memoria
principal para todo proceso activo.
b. Directorio intermedio de páginas: Este directorio se expande a múltiples páginas.
Cada entrada en la tabla de páginas apunta a una página que contiene una tabla de
páginas.

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:

 El sistema de colegas le permite asignar intervalos de marcos contiguos de tamaño


arbitrario, si se solicitan.
 Para registrar la memoria libre, mantiene listas de grupos de marcos contiguos de
tamaño fijo: 1, 2, 4, 8,. . . marcos libres.
 El tamaño más pequeño que se puede asignar es de un marco
 La asignación contigua de marcos permite aumentar la eficiencia de cargar y
descargar páginas a y desde la memoria principal

Administración de memoria física.

Una parte de la memoria es utilizada para el kernel.

El resto de la memoria está disponible para (entre otros usos):

 Páginas de usuario

 El caché de buffer empleado por el sistema de ficheros

 Contiene bloques de disco que se han leído recientemente, o que se han


leído por adelantado

 Su tamaño es dinámico y compite por la misma reserva de páginas que las


páginas de usuario.

 El caché de paginación, formado por un conjunto de páginas de usuario que ya no


se necesitan y están esperando que se les pagine a disco. Si una página se reutiliza
antes de que se desaloje de la memoria, podrá recuperarse con rapidez.

Asignación de memoria para el núcleo:

 La memoria del kernel es permanente, ninguna de sus partes se página a disco

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

COMANDOS PARA ADMINISTRAR LA MEMORIA EN LINUX.

En Linux contamos con varios mecanismos para determinar qué cantidad de


memoria RAM y memoria SWAP tenemos disponible o qué cantidad está siendo utilizada,
pero la forma más efectiva para averiguar esta información es utilizando el comando “free”.
Ejemplos del comando “free” que le ayudarán administrar mejor los recursos de
memoria física y SWAP en el sistema operativo.

a. Despliega la cantidad de memoria en uso y disponible de


memoria RAM y SWAP.

Figura No. 11 Comando free

b. Despliega la cantidad de memoria en uso y disponible de


memoria RAM y SWAP en Bytes.

Figura No. 12 Comando free -b

c. Despliega la cantidad de memoria en uso y disponible de


memoria RAM y SWAP en KiloBytes.

49
Figura No. 13 Comando free -k

d. Despliega la cantidad de memoria en uso y disponible de


memoria RAM y SWAP en MegaBytes.

Figura No. 14 Comando free -m

e. Despliega la cantidad de memoria en uso y disponible de


memoria RAM y SWAP en GigaBytes.

Figura No. 15 Comando free -g

f. Despliega la línea “Total” al final.

50
Figura No. 16 Comando free -t

g. Despliega la memoria en uso y disponible en un espacio de tiempo definido. En


este ejemplo cada 5 segundos.

Figura No. 17Comando free información cada 5 segundos

h. Despliega en pantalla la versión de “free”.

Figura No. 18 Comando free -v

La siguiente forma de comprobar el uso de memoria es leer el


archivo /proc/meminfo. Debes saber que el sistema de ficheros /proc no contiene
archivos reales. Son archivos dinámicos o virtuales que contienen información sobre
el núcleo y el sistema.

51
Figura No. 19 Comando proc/meminfo

Si nos fijamos en los valores MemTotal, MemFree, Buffers, Cached, SwapTotal,


SwapFree (puedes usar cat /proc/meminfo | grep [Valor]) podremos ver que son
los mismos valores que cuando hacemos uso del comando free.

El comando vmstat con la opción -s expone las estadísticas de uso de memoria


tanto como el anterior comando. Aquí un ejemplo:

52
Figura No. 20 Comando vmstat

Posiblemente el más usado. El comando top se utiliza generalmente para comprobar


la memoria y el uso de CPU por cada proceso. Sin embargo, también se puede usar
para visualizar informes de uso total de la memoria y se puede utilizar para vigilar el
uso total de memoria RAM.

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

El encabezado en la parte superior muestra el uso de la CPU con la memoria RAM


y el uso del intercambio con las cifras correspondientes.

Tres formas más para ver el uso de RAM por cada proceso:

1) ps aux –sort pmem

2) ps aux | awk ‘{print $2, $4, $11}’ | sort -k2r | head -n 15

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.

3.3 Servicios de la impresión

La administración del servidor de impresión comprende las acciones relacionadas


con la configuración de impresoras y gestión de usuarios y permisos para utilizar
dichas impresoras. Para realizar la tarea de administración disponemos del
comando 'lpadmin' que permite crear y eliminar impresoras (aunque es más sencillo
hacerlo con la herramienta web) y establecer permisos a usuarios entre otras
funciones.

Ejemplos de utilización del comando lpadmin:

Para permitir el uso de la impresora al usuario jessica y al grupo profesores:

// Permitir usuarios y grupos

# lpadmin -p Laser1010 -u allow:jessica,@profesores

Para establecer límite de uso (páginas):

// Establecer límite de páginas en 5

# lpadmin -p Laser1010 -o job-page-limit=5

Todo sistema es capaz de gestionar una o varias impresoras, con uno o varios
usuarios, que les envían distintas clases de documentos.

Linux resuelve estos problemas mediante un conjunto de programas, los servidores


de impresión, que gestionan los trabajos pendientes y los encauzan a las impresoras
adecuadas, todo de manera completamente transparente al usuario.

Esencialmente, para cada impresora se define una cola de impresión, donde se


almacenan los trabajos pendientes. Un proceso en segundo plano (llamado el
demonio de impresión) analiza metódica y constantemente el spool, buscando
nuevos datos a imprimir. Cuando aparece alguno, es enviado a la impresora
apropiada; cuando más de un trabajo está a la espera se colocan en una cola, el
primero que entra es el primero que se procesa.

En el caso de impresión remota, los trabajos se gestionan localmente, como


cualquier otro, pero el demonio de impresión lo envía a través de la red hacia el
ordenador o impresora destino.

56
3.1.1 Instalación y administración
Vamos a mostrar 2 formas de instalar un servidor de impresión utilizando Linux:

- El Common Unix Printing System CUPS

- Compartiendo impresoras con SAMBA

El Sistema de Impresión Común de Unix (CUPS):

El mecanismo principal de impresión y de servicios de impresión en Ubuntu es el


Sistema de Impresión Común de UNIX (Common UNIX Printing System, CUPS).
Este sistema de impresión es una capa de impresión libre y portable que se ha
convertido en el nuevo estándar de impresión en la mayoría de las distribuciones de
GNU/Linux.

CUPS gestiona los trabajos y tareas de impresión, y proporciona impresión de red


utilizando el Protocolo estándar de Impresión en Internet (IPP), que dispone de
soporte para una gran gama de impresoras, desde matriciales hasta láser. CUPS
también soporta PostScript Printer Description (PPD) y autodetección de impresoras
de red, y dispone de una sencilla herramienta basada en web para la configuración
y administración, que puede ser accedido desde el browser de la siguiente manera:

[Link]

Instalación de CUPS:

En las versiones actuales de Ubuntu, el sistema de Impresión CUPS ya viene


instalado y está disponible automáticamente. En el caso de que no esté instalado,
siga los siguientes pasos:

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.

Para instalar CUPS, digita el siguiente comando en la línea de órdenes de una


terminal:

sudo apt-get install cupsys cupsys-client

Tras autenticarte con su contraseña de super usuario, los paquetes se descargarán


y se instalarán sin errores. Tras finalizar la instalación, el servidor CUPS se iniciará
automáticamente.

Con el propósito de ayudar a la resolución de posibles problemas, puedes acceder


al log de errores del servidor CUPS consultando el archivo de registro de errores
en: /var/log/cups/error_log.

Si el registro de errores no muestra información suficiente para resolver los


problemas encontrados, se podría incrementar el detalle del registro de CUPS
cambiando la directiva LogLevel en el archivo de configuración (como se indicó
anteriormente) del valor predeterminado «info» al valor «debug», o incluso
«debug2», lo que registrará todo. Si haces este cambio, recuerda volverlo a su valor

57
original una vez hayas resuelto tu problema, para evitar que el archivo de registro
crezca demasiado.

Configuración de CUPS:

El comportamiento del servidor CUPS se configura a través de las directivas contenidas


en el archivo /etc/cups/[Link]. El archivo de configuración de CUPS tiene la
misma sintaxis que el archivo principal de configuración del servidor HTTP Apache, por
lo que los usuarios acostumbrados a editar el archivo de configuración de Apache se
sentirán como en su casa cuando editen el archivo de configuración de CUPS. A
continuación se presentan algunos ejemplos de opciones que puedes desear cambiar
inicialmente.

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.

Haz una copia del archivo /etc/cups/[Link] con el siguiente comando:

sudo cp /etc/cups/[Link] /etc/cups/[Link]

y protégelo contra escritura

sudo chmod a-w /etc/cups/[Link]

Configurar el Administrador del ServerAdmin:

Para configurar la dirección de correo del administrador designado en el servidor CUPS


simplemente edita el archivo de configuración /etc/cups/[Link] con tu editor de
textos preferido y modifica la línea ServerAdmin como sea conveniente. Por ejemplo,
si tu eres el Administrador del servidor CUPS, y tu dirección de correo es
'sop2@[Link]', entonces deberás modificar la línea ServerAdmin con algo como
esto:

ServerAdmin sop2@[Link]

Para más ejemplos de directivas de configuración en el archivo de configuración del


servidor CUPS, consulta la página de manual asociada introduciendo el siguiente
comando en un terminal:

man [Link]

Una vez hayas realizado cambios en el archivo de configuración /etc/cups/[Link],


necesitarás reiniciar el servidor CUPS tecleando la siguiente orden en la línea de
órdenes de una terminal:

sudo /etc/init.d/cupsys restart

Otras opciones de configuración para el servidor CUPS se encuentran en el archivo


/etc/cups/cups.d/[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:

 Listen [Link]:631 # existing loopback Listen


 Listen /var/run/cups/[Link] # existing socket Listen
 Listen [Link]:631 # Listen on the LAN interface, Port 631
(IPP)

En el ejemplo anterior, debes comentar o borrar la referencia a la dirección de


loopback ([Link]) si no deseas que cupsd escuche por esa interfaz, sino sólo por
la interfaz Ethernet de la red local (LAN). Para activar la escucha por todas las
interfases de red en las que se haya establecido un nombre de host, incluyendo el
loopback, deberás crear una entrada listen para el nombre de host socrates así:

Listen·socrates:631··#·Escuchando en todos los interfaces para la


máquina 'socrates'

u omitiendo la directiva Listen y usando Port en su lugar, como en:

Port 631 # Escuchando en el puerto 631 en todos las interfaces

SERVIDOR DE IMPRESIÓN UTILIZANDO SAMBA:

Lo primero que se tiene que hacer es la instalación de SAMBA en la computadora.


Tienes que hacerlo desde una terminal y con los derechos de super usuario, con el
siguiente comando:

sudo apt-get install samba

Luego tenemos que modificar el archivo de configuración de Samba, que lo


encontramos digitando en la terminal:

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

Con la copia de seguridad ya realizada procedemos a modificar el archivo de


configuración de SAMBA:

59
sudo gedit /etc/samba/[Link]

1. y al final del archivo agregamos las siguiente líneas:

[global]

printing = bsd
printcap name = /etc/printcap
load printers = yes
log files = /var/log/samba-log.%m
lock directory = /var/lock/samba

[printers]

comment = Comentario sobre el Impresor UNO a compartir


security = server
path = /var/spool/lpd/lp
browseable = yes
printable = yes
public = yes
writable = no
create mode = 0700

Opcionalmente, puedes agregar otros impresores y también compartir archivos,


como se presenta a continuación:

[ljet]

comment = Comentario sobre el Impresor DOS


security = server
path = /var/spool/lpd/lp
printer name = lp
writable = yes
public = yes
printable = yes
print command = lpr -r -h -P %p %s

[archivos]

comment = Ejemplo de Archivos Compartidos


read only = yes
write list = padilla, nolasco, josue
available = yes
path = /samba/archivos

Una vez modificado el archivo lo guardamos y reiniciamos los servicios de samba


para que lean la nueva configuración, digitando el siguiente comando:

60
/etc/init.d/samba restart

Ahora procedemos a crear los usuarios.

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:

Para agregar un usuario a linux podemos utilizar el comando:

adduser nombre_usuario

Nos pedira la clave que queremos utilizar para ese usuario y algunos datos que
son opcionales, luego podemos cambiar sus privilegios.

Supongamos que tenemos un usuarios ya creado llamado jose y que lo


queremos agregar a los usuarios de Samba, para esto ejecutamos el siguiente
comando:

sudo smbpasswd -a jose

Nos aparecerá algo como:

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:

sudo gedit /etc/samba/smbusers

En el nuevo archivo copiamos la siguiente línea:

nombre_enlinux = “Nombre en Windows”

Donde nombre_enlinux es el nombre del usuario que tenemos en linux en este


caso jose y Nombre en Windows es el nombre del usuario de red en Windows.
Tenemos que agregar una nueva línea por cada usuario que creemos para
Samba.

61
Para editar un usuario ejecutamos:

smbpasswd -a nombre_usuario

Para borrar un usuario ejecutamos:

smbpasswd -x nombre_usuario

Ahora que ya tenemos a los usuarios creados procedamos a ver como se


comparten archivos y directorios.

Ahora procedemos a compartir archivos por SAMBA

Vamos a modificar el archivo de configuración de Samba:

sudo gedit /etc/samba/[Link]

Busca la línea que dice:

security = user

Y la modificamos por:

;security = user

username map = /etc/samba/smbpasswd

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:

Buscamos las líneas donde dice:

;[homes]
;comment = Home Directories;

;browseable = no
;valid users = %S
;writable = no

Y le quitamos el “;” para descomentarlos, y en writable le cambiamos “no” por


“yes” para que el usuario pueda escribir en el directorio.

Siempre que cambiemos la configuración del archivo [Link] podemos utilizar


el comando “testparm”, para verificar que los parámetros del archivo [Link]

62
estén correctos. Luego que testparm nos diga que todo está correcto,
ejecutamos:

/etc/init.d/samba restart

Ahora compartiremos los directorios a través de SAMBA

Para los directorios o volúmenes que se irán a compartir, en el mismo archivo de


configuración encontrará distintos ejemplos para distintas situaciones
particulares. En general, puede utilizar el siguiente ejemplo que funcionará para
la mayoría:

[Loquesea]

comment = Comentario que se le ocurra


path = /cualquier/ruta/que/desee/compartir

En el siguiente ejemplo se compartirá a través de Samba el recurso denominado


ftp, el cual está localizado en el directorio /home/ftp/pub del disco duro. Se
permitirá el acceso a cualquiera pero será un recurso de solo lectura salvo para
los usuarios administrador y usuario01. Todo directorio nuevo que sea creado
en su interior tendrá permiso 755 y todo fichero que sea puesto en su interior
tendrá permiso 644.

[ftp]
comment = Directorio del servidor FTP
path = /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

Suponiendo que ya tiene una impresora conectada y funcionado en su PC Linux,


compartir impresoras en Samba es muy sencillo simplemente busca estas dos
líneas en el archivo:

/etc/samba/[Link]


# printing = cups
# printcap name = cups

63

Y descomentalas:

printing = cups
printcap name = cups

Ahora verificamos que cumplan los requisitos y reiniciamos el servicio:

testparm
/etc/init.d/samba restart

Eso es todo, ya puedes ir a tu PC en Windows y buscar en tu grupo de trabajo


las carpetas compartidas de Linux en Samba y además agregar la impresora.
Para hacerlo, sigue los siguientes pasos:

Cliente Windows XP

1. Abrir el Panel de Control


2. Hacer click en Impresoras y fax
3. Haz click en Añadir impresora
4. En la primera página del asistente, haz click en Siguiente
5. Selecciona Añadir una impresora de Red
6. Selecciona Conectar impresora de Internet y escribe
[Link] en la caja de texto,
y luego haz click en siguiente
7. En la siguiente pantalla, selecciona el driver correcto para tu impresora
8. Haz Click en ok para finalizar
9. Haz click con el botón derecho y selecciona propiedades, y luego
imprimir página de prueba

Eso es todo, esperamos que tengas éxito instalando tu impresora para ser
compartida en un ambiente Linux.

3.4 Administración de terminales

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.

Quizás en algunas distribuciones, como Debian o Red Hat, sea imprescindible


conocerla, pero en distribuciones más cercanas a usuario, como Ubuntu o Linux Mint,
es perfectamente factible “pasar” de la terminal, aunque nada recomendable.

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.

Para comenzar a introducirnos en éste mundo de la consola, también llamada línea de


comandos, terminal, Shell y puede que otros nombres, vamos a definir los siguientes
fundamentos:

 No hablaremos más de carpetas. Éste nombre es un invento de las interfaces


gráficas, ya que se dotó al icono del aspecto de una carpeta dada su capacidad
de guardar documentos. A partir de aquí hablaremos de directorios.
 No llamaremos documentos a los elementos contenedores de la información, si
no archivos o ficheros, por idénticas razones.
 Hablaremos del “árbol de directorios” refiriéndonos a la estructura de directorios
y subdirectorios de Linux. Esto es así debido a que se suelen ‘visualizar’ de la
forma que se ilustra en la imagen inferior. La función específica de cada
directorio la explicaré en un futuro artículo.

65
Figura No. 23 Arbol de directorios del sistema en el sistema operativo Linux.

 Una ruta es la concatenación de pasos que debemos dar para llegar a un


directorio determinado. La rutas pueden ser relativas, que indican el camino
desde el punto actual del árbol; o absolutas, que indican el camino desde la raíz
(/). La raíz es el directorio que contiene todos los demás directorios.
 Un comando es la orden principal, es decir, la primera palabra que se escribe
cuando se va a lanzar (hasta el primer espacio). El resto de los elementos de
cada línea lanzada serán modificadores u opciones, elementos que definen un
funcionamiento especial de dicho comando que si estuviese solo. También
tenemos los argumentos, que son los datos que determinarán sobre qué
elementos actuará dicho comando.

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.

Servidor de terminales con SSH.

Un servidor de terminales es un servidor que ejecuta un software que permite a los


usuarios acceder al mismo remotamente desde otros PCs (que hacen de terminales) y
manejarlo como si estuvieran sentados frente al servidor.

Figura No. 24 Terminales y su servidor

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.

Al comenzar la conexión el usuario debía identificarse con nombre (login) y contraseña


(password) para poder utilizar el sistema, de la misma forma que lo haría si se sienta en
la consola principal del servidor. El telnet está prácticamente en desuso ya que la
información que se envía desde el cliente al servidor y viceversa está sin encriptar y
cualquier usuario que pinche la red podrá averigurar el nombre del usuario y su
contraseña fácilmente.

El sustituto del telnet es el <b>ssh </b>(Secure SHell) que permite conectarse a un


servidor remoto pero de forma segura ya que las comunicaciones en todo momento van
encriptadas con algoritmos muy seguros de forma que es prácticamente imposible
descifrar la información. Para más información sobre ssh, ver el apartado <b>Instalación
del servidor de Shell Seguro – SSH.

En todo momento estamos hablando de accesos remotos en modo texto, es decir,


mediante un símbolo del sistema introduciendo comandos como si se tratara de una

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.

En la actualidad, debido al abaratamiento de la memoria RAM, esto se ha convertido en


una realidad que ha llegado a los centros educativos y a las pequeñas y medianas
empresas.

Servidor de terminales mediante X-Window.

Linux por sí solo es un servidor de terminales ya que es un sistema operativo


multiusuario (varios usuarios pueden ejecutar aplicaciones simultáneamente en el
servidor) y utiliza para las aplicaciones gráficas el sistema X-Windows.

El sistema X-Window es un sistema gráfico cliente-servidor orientado a red que se


compone de servidor gráfico X (que es quien dibuja las ventanas) y clientes X (que son
las aplicaciones gráficas), con lo cual resulta ideal si se quiere utilizar de forma remota.
Cuando ejecutamos aplicaciones gráficas directamente sentadas en la consola principal
del servidor, las aplicaciones dirigen su salida hacia el servidor grafico local cuya
dirección IP es [Link], pero cuando ejecutamos aplicaciones gráficas desde un
terminal, la salida se dirigirá hacia el servidor gráfico del terminal.

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.

Ventajas de la utilización de un servidor de terminales en centros educativos

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.

Aula de bajo mantenimiento a nivel software:

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.

Aula de bajo coste de actualización:

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.

Datos más seguros:

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.

También tiene algún inconveniente, por ejemplo la utilización de los medios de


almacenamiento locales (disquetera, discos usb) es compleja. Como las aplicaciones se
ejecutan en el servidor, si introducimos un DVD en el terminal, el servidor no va a poder
acceder a su contenido. Lo mismo ocurre con los pendrives, además los PCs obsoletos
no disponen de puerto USB.

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.

Si el servidor de terminales es un potente servidor con una gran cantidad de memoria,


podrá satisfacer las necesidades de un gran número de usuarios de forma simultánea.
En algunos centros educativos están proliferando este tipo de sistemas ya que con un
servidor que disponga de 16 GB de memoria RAM y discos duros rápidos, se pueden
conectar unos 30 usuarios simultáneos desde terminales (que pueden ser PCs
obsoletos como Pentium I) y disfrutar de las prestaciones de un PC actual y ejecutar
cualquier aplicación que haya instalada en el servidor, además el único equipo que hay
que mantener es el servidor con lo cual ahorramos costes de mantenimiento. El proyecto
LTSP ("[Link] en inglés) está enfocado a implantar este tipo de sistemas
en centros educativos.

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]

Conectando al servidor de terminales

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.

La realidad es que el servidor es el equipo más importante de la estructura que estamos


creando y por ello debe estar ubicado en un lugar de difícil acceso, aunque ello dificultará
nuestras tareas de configuración y mantenimiento. Pero eso no es problema ya que de
forma remota disponemos de pleno acceso al servidor aunque no estemos situados
físicamente sobre la consola del mismo.

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:

Un servidor con el servicio ssh corriendo.

Un terminal que disponga de servidor grafico X y de cliente ssh.

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:

Establecer la conexión con SSH desde el terminal al servidor.

Ejecutar una aplicación gráfica.

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:

Habilitar la redirección X en /etc/ssh/sshd_config

X11Forwarding yes

Para arrancar el servidor ssh debemos ejecutar:

// Arrancar el servidor ssh


sudo /etc/init.d/ssh start

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:

// Conexión gráfica remota por ssh

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:

Figura No. Ejecución de una aplicación gráfica remotamente

Si deseamos disponer del escritorio completo, podemos ejecutar:

// Ejecutar escritorio gnome


Gnome-session

72
De esta forma tendremos en nuestro terminal un escritorio gnome del servidor.

Los terminales podrían disponer de un sistema Linux mínimo configurado de manera


que al arrancar se conecten automáticamente al servidor de terminales. De ésta forma
los usuarios creerán que están manejando el PC en el que están sentados aunque
realmente están manejando las aplicaciones del servidor.

Se podrían conectar simultáneamente tantos usuarios como permita la memoria del


servidor aunque lógicamente, cuantos más usuarios se conecten de forma simultánea,
mayor será la carga del servidor y más lenta será su respuesta. Para que el servidor
vaya un poco suelto, debe disponer de unos 512 MB por cada cliente. Conviene que
disponga de discos duros rápidos e incluso en sistema RAID 1 (espejo) para mayor
seguridad y rapidez.

SABIAS QUE:

 Montar un aula de informática con un servidor y CPUs Básicas en los terminales,


además de simplificar el mantenimiento, tiene otra ventaja importante:

PUEDE SUPONER UN GRAN AHORRO DE ENERGIA YA QUE EXISTEN CPUs


BÁSICAS CUYA POTENCIA ES DE TAN SOLO 5 VATIOS.

 Si conectamos desde el cliente por ssh al servidor y ejecutamos una aplicación


que no está instalada en el cliente pero sí está instalada en el servidor,
¿podremos utilizar dicha aplicación desde el cliente?

___ CIERTO ____ FALSO

RESPUESTA CORRECTA: CIERTO! LA PLAICACION SE EJECUTA EN EL


SERVIDOR PERO SE VISUALIZA EN EL CLIENTE.

3.5 Administración de módems y otros dispositivos

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:

Canal IDE Dispositivo Linux Equivalente Windows


Primario Maestro /dev/hda C:
Primario Esclavo /dev/hdb D:
Secundario Maestro /dev/hdc E:
Secundario Esclavo /dev/hdd F:

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

Es muy común encontrar el dispositivo cdrom de la siguiente manera:

 /dev/cdrom

Esto es realmente un enlace suave (ln -s /dev/hdc /dev/cdrom) a su verdadero archivo


de dispositivo que podría ser /dev/hdc.
En cuanto a puertos seriales, sus equivalentes con Windows serían los siguientes:

 Windows COM1, Linux /dev/ttyS0


 Windows COM2, Linux /dev/ttyS1
 Windows COM3, Linux /dev/ttyS2
 Windows COM4, Linux /dev/ttyS3

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:

 Primer puerto paralelo, Windows LPT1, Linux /dev/lp0


 Segundo puerto paralelo, Windows LPT2, Linux /dev/lp1

Recuerda entonces que los dispositivos se numeran con su identificador de dispositivo y


secuencialmente a partir de 0 y hasta donde la arquitectura de hardware lo limite.

La administración de dispositivos, es la administración de todos los recursos del hardware


disponible, tanto los estándar que viene de fábricas, como las que se van agregando para
hacer más poderosa o actualizar la PC. Todo dispositivo necesita presentarse al sistema
operativo, agregando un pequeño programa que permite su uso. Este programa es llamado
controlador. De aquí el controlador es un software que utiliza el sistema operativo para
especificar de hardware, como puede ser cualquier dispositivo.

La administración de dispositivos comprende 4 funciones básicas:

1. Controlar el estado de cada dispositivo (como unidades de cinta, unidades de disco,


impresoras, graficadores y terminales)
2. Utilizar políticas preestablecidas para determinar qué proceso obtendrá un
dispositivo y durante cuánto tiempo.
3. Asignar los dispositivos. (A los procesos).
4. Desasignarlos en dos niveles: en el nivel de procesos cuando se ejecute un
comando de entrada/salida (Temporal) y cuando el dispositivo se libera de manera
permanente (Permanentemente).

Los dispositivos periféricos del sistema generalmente entran en una de tres clases:

75
 Dedicados
 Compartidos
 Virtuales

 Dispositivos Dedicados: Se asignan sólo a un trabajo a la vez y le sirven todo el


tiempo que está activo. La desventaja de los dispositivos dedicados es que se
asignan a un usuario durante todo el tiempo que dure el trabajo que realiza, esto
podría resultar ineficiente y es aún más ineficiente si el dispositivo no se utiliza el
100% del tiempo. Ejemplo: Impresoras, unidades de cinta.

 Dispositivos Compartidos: Estos se puede asignar a más de un proceso/Varios


procesos a un mismo dispositivo. De forma que se puede compartir cualquier
dispositivo de almacenamiento de acceso directo al entrelazar sus solicitudes, en
estos casos el administrador de dispositivos tiene que controlar esta acción con
bastante cuidado. Ejemplo: Discos Duros, DVD.

 Dispositivos Virtuales: Son una combinación de los dispositivos dedicados y los


compartidos; son dispositivos dedicados transformados en dispositivos
compartidos. Además, estos son dispositivos que se pueden compartir por red, y
utilizan Spooling, el cual genera una cola de espera en un buffer para el dispostivo.
Ejemplo: Impresoras.

Hablando con el módem

Notas sobre módems internos

Para un módem interno, no necesitará un cable. Un módem interno no necesita un puerto


serie, tiene uno interno. Todo lo que necesita hacer es configurarlo para usar una
interrupción que no esté siendo usada, y configurar la dirección de E/S del puerto. Consulte
el manual de su módem si se atasca. Además, vea la sección ¿Puedo usar más de dos
dispositivos serie? si necesita ayuda para elegir las interrupciones y las direcciones.

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.

Configuración del módem para llamar

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.

Si su módem tiene capacidad de compresión de datos, probablemente quiera activarlo.


Consulte el manual de su módem para más ayuda, y una lista de opciones completa. Si su
módem puede grabar la configuración activa, asegúrese de guardarla (se suele hacer
con AT&W, pero varía entre los fabricantes de módems), si no tendrá que configurar los
registros cada vez que active el módem, o lo reinicie.

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:

stty crtscts < /dev/cuaN

También debe activar el control de flujo RTS/CTS en el módem. Consulte el manual de su


módem para saber cómo hacerlo, ya que varía entre fabricantes de módems. Asegúrese
de guardar la configuración del módem si éste soporta el almacenamiento del perfil.

Configuración del módem para llamar y recibir llamadas

Para llamar y recibir llamadas, tiene que configurar el módem de un cierto modo (de nuevo,
usando los comandos AT del módem):

E1 activa el eco de comandos


Q0 devuelve los codigos resultantes
V1 habilita el codigo de resultados largos (texto)
S0=0 nunca contesta (uugetty hace esto con la opcion WAITFOR)

Si no configura esto correctamente, la cadena INIT de su fichero de configuración puede


fallar, echando a perder el proceso completo. Pero, más sobre ficheros de configuración
después...

&C1 DCD se activa solamente despues de conectar


&S0 DSR siempre esta activo
DTR activa/desactiva el reinicio del modem (depende del fabricante -
RTFM)

Esto afecta a lo que hace su módem cuando inicia o finaliza una llamada.

Si su módem no puede almacenar el perfil, puede usar la cadena INIT de su fichero de


configuración. Véalo más adelante. Algunos módems tienen interruptores DIP que afectan
a la configuración de los registros. Asegúrese de que estén configurados correctamente.

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

19200# B19200 CS8 # B19200 SANE -ISTRIP HUPCL #@S @L


@B login: #9600

9600# B9600 CS8 # B9600 SANE -ISTRIP HUPCL #@S @L @B


login: #2400

2400# B2400 CS8 # B2400 SANE -ISTRIP HUPCL #@S @L @B


login: #1200

1200# B1200 CS8 # B1200 SANE -ISTRIP HUPCL #@S @L @B


login: #300

300# B300 CS8 # B300 SANE -ISTRIP HUPCL #@S @L @B


login: #38400

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:

# velocidad fijada a 38400


F38400# B38400 CS8 # B38400 SANE -ISTRIP HUPCL #@S
@L @B login: #F38400

# velocidad fijada a 19200


F19200# B19200 CS8 # B19200 SANE -ISTRIP HUPCL #@S
@L @B login: #F19200

# velocidad fijada a 9600


F9600# B9600 CS8 # B9600 SANE -ISTRIP HUPCL #@S @L
@B login: #F9600

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:

# ejemplo de fichero de configuracion de uugetty


para un modem compatible
# Hayes para permitir las conexiones a traves de
módem
#
# fichero de bloqueo alternativo a comprobar ... si
este fichero de bloqueo
# existe, entonces uugetty se ejecuta de nuevo y el
modem se reinicia
ALTLOCK=cua3
ALTLINE=cua3
# línea a inicializar
INITLINE=cua3
# tiempo para desconectar si está inactivo ...
TIMEOUT=60

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

Añada la siguiente línea a /etc/inittab, así uugetty se ejecutará en el puerto serie


(sustituyéndolo por la información correcta para su entorno - localización del fichero de
configuración, puerto, velocidad, y tipo de terminal por defecto):

S[Link]respawn:/sbin/uugetty -d /etc/default/uugetty.ttyS3 ttyS3


F38400 vt100

Vuelva a ejecutar init:

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

4.1 Gestión de almacenamiento en disco

4.1.1 Discos, volúmenes, particiones

Comandos Linux para gestión de Disco Duro y particiones.

Dentro de una organización, una de las responsabilidades que se encuentra asociada al


departamento de TI, es la gestión y administración de la infraestructura. Dicha actividad
comprende el cumplimiento de estándares y métricas para garantizar un correcto

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.

Figura No. .Comando fdisk.

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.

Ver todas las particiones


Con este obtendremos un listado de todas las particiones existentes en el sistema. La
sintaxis corresponde al comando junto con el argumento “-l” y apareceran listadas en orden
de acuerdo al nombre de cada dispositivo.
1 fdisk –l

Ver un disco específico


A través de este comando, veremos todas las particiones de un disco en específico, usamos
la sintaxis anterior pero adicionando el nombre del dispositivo que queremos analizar. Por
ejemplo:

1 fdisk –l /dev/sdb

Ver todos los comandos disponibles


fdisk es una herramienta bastante completa, si quisieran ver todas las opciones que
disponen, solo debe ingresar el comando seguido del nombre del dispositivo para evaluar
(un dispositivo sobre el cual trabajar). Un vez ingresemos al menú, pulsamos “m” para
ingresar a la sección de ayuda y veremos el listado de posibilidades que tenemos para
aplicar sobre el dispositivo.

1 fdisk /dev/sdb

1 m

Mostrar toda la tabla de particiones del Sistema


Realizamos el mismo proceso anterior (colocar el comando junto con el nombre de un
dispositivo), pero en este caso la opción a utilizar es “p” y con esto obtenemos un listado
completo de particiones, asociado a dicho dispositivo.
?
1 fdisk /dev/sdb

1 p

Borrar una partición


Si por ejemplo, lo que queremos es borrar una partición en específico (suponga que,
/dev/sdb2), el primer paso es seleccionar el disco en donde podemos ubicarla. En este
caso, /dev/sdb.
1 fdisk /dev/sdb

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

Crear una partición nueva

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.

Formatear una partición

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.

Comprobar el tamaño de una partición

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

Corregir la tabla de particiones

Pudiera plantearse el caso de que hayamos borrado particiones intermedias, es decir,


nuestro disco esta particionado en sdb1, adb2, sdb3, sdb4 y sdb5 y se borraron las adb3 y
sdb4. Esto ocasiona que recibimos un error similar a: Partition table entries are not in
disk order, lo que indica que las particiones no están en orden según el disco y que tenemos
espacio asignado indebidamente o espacio sin asignar.

La solución es sencilla, ingresamos al menú de fdisk como les he explicado en secciones


anteriores, con el parámetro de la unidad a ser trabajada:

1 fdisk /dev/sdb

Seguido de ellos, pulsamos “x” para ingresar a opciones avanzadas de fdisk. Y a


continuación pulsar “f” (fix) para indicar a la herramienta que debe reparar la tabla de
particiones. Para finalizar escribimos “w” y con esto, al reiniciar, el sistema tomara los
cambios y nuestras particiones habrán sido reorganizadas.

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.

4.1.2 Compresión de archivos

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?

Para poder empaquetar ficheros, utilizamos el siguiente comando:

85
tar -cvf [Link] /dir/a/comprimir/

-c : indica a tar que cree un archivo.

-v : indica a tar que muestre lo que va empaquetando.


-f : indica a tar que el siguiente argumento es el nombre del [Link].

En cambio para poder desempaquetar los ficheros .tar, utilizamos el siguiente comando:

tar -xvf [Link]

-x : indica a tar que descomprima el [Link].


-v : indica a tar que muestre lo que va desempaquetando.
-f : indica a tar que el siguiente argumento es el nombre del fichero a desempaquetar.

Si se quiere ver el contenido de un fichero .tar, se utiliza el siguiente comando:

tar -tf [Link]

-t : Lista el contenido del fichero .tar

-f : indica a tar que el siguiente argumento es el nombre del fichero a ver.

Ficheros gz

Para comprimir ficheros en formato .gz, se utiliza el siguiente comando:

gzip -9 fichero

-9 : le indica a gz que utilice el mayor factor de compresión posible.

Para descomprimir ficheros .gz, se utilizara el siguiente comando:

gzip -d [Link]

 -d : indica descompresión

Ficheros bz2

Para comprimir ficheros en formato bz2, se utiliza el siguiente comando:

86
bzip fichero

Para descomprimir ficheros .bz2, se usa el comando siguiente:

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]

Para comprimir ficheros en formato [Link], se utiliza el siguiente comando:

tar -czfv [Link] ficheros

-c : indica a tar que cree un archivo.

-z : indica que use el compresor gzip

-f : indica a tar que el siguiente argumento es el nombre del [Link]

-v : indica a tar que muestre lo que va empaquetando

Para descomprimir ficheros con extensión [Link], se usa el siguiente comando:

tar -xzvf [Link]

-x : le dice a tar que extraiga el contenido del fichero [Link]

-z : le indica a tar que esta comprimido con gzip

-v : va mostrando el contenido del fichero

-f : le dice a tar que el siguiente argumento es el fichero a descomprimir.

Para poder ver el contenido de un fichero comprimido en [Link], se usa el siguiente


comando:

tar -tzf [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]

Para comprimir ficheros en formato [Link], se utiliza el siguiente comando:

tar -czfv [Link] ficheros

 -c : indica a tar que cree un archivo.


 -z : indica que use el compresor gzip
 -f : indica a tar que el siguiente argumento es el nombre del [Link]
 -v : indica a tar que muestre lo que va empaquetando

Para descomprimir ficheros con extensión [Link], se usa el siguiente comando:

tar -xzvf [Link]

 -x : le dice a tar que extraiga el contenido del fichero [Link]


 -z : le indica a tar que esta comprimido con gzip
 -v : va mostrando el contenido del fichero
 -f : le dice a tar que el siguiente argumento es el fichero a descomprimir.

Para poder ver el contenido de un fichero comprimido en [Link], se usa el siguiente


comando:

tar -tzf [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”.

tar -c ficheros | bzip2 > [Link].bz2

Para descomprimir ficheros tar.bz2, se utiliza el siguiente comando:

bzip2 -dc [Link].bz2 | tar -xv

Y para ver el contenido de un fichero tar.bz2, se usa el siguiente comando:

bzip2 -dc [Link].bz2 | tar -t

Ficheros zip

Para poder comprimir en formato zip, se usara el comando siguiente:

zip [Link] ficheros a comprimir

Para poder descomprimir los ficheros zip, se usa el siguiente comando:

unzip [Link]

Para ver el contenido de un fichero zip, se pone el siguiente comando:

unzip -v [Link]

88
Ficheros rar

Para comprimir en formato rar, se usara el siguiente comando:

rar -a [Link] ficheros

Para descomprimir ficheros en formato rar, se utiliza el siguiente comando:

unrar -x [Link]

Para ver el contenido de un fichero rar, se usa el siguiente comando:

unrar -v [Link]
unrar -l [Link]

4.2 Gestión de las comunicaciones en la red

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.

La gestión de Redes consiste en la monitorización, el sondeo, configuración, evaluación,


análisis y control de los recursos de una red para conseguir niveles de trabajo y adecuados
a los objetivos de una instalación y una organización; mediante tareas de despliegue,
integración y coordinación de hardware, software y elementos humanos.

Estructura de la Gestión de Red

Bases de información de gestión (MIB): Almacenan información relacionada con el sistema


de gestión. La MIB de un agente contiene información de ese dispositivo. La MIB de un
gestor contiene información de todos los agentes que controla.

Tipos de información

 Estática: Caracteriza la configuración actual, cambia con muy poca frecuencia.


 Dinámica: Eventos de la red (Ej.: transmisión de un paquete).
 Estadística: Derivada de la información dinámica (Ej.: número medio de paquetes
transmitidos por unidad de tiempo).

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.

Elementos de la Gestión de Redes

 Agente
o Reporta el estado de los elementos de redes que están siendo administrados.
o Recibe comandos del NMS para realizar acciones.

 Sistema de Gestión de Redes (NMS)


o Dirige las operaciones de los agentes.

 Base de Datos de Información de Gestión (MIB)

o Base de datos compartida en los agentes y el NMS que provee información sobre
los elementos de redes.

Áreas funcionales

 Gestión de fallos: Localización de problemas o fallos en la red, y su mantenimiento,


recuperación, etc.
 Gestión de contabilidad: Seguimiento del uso de recursos de la red por parte de un
usuario o grupo de usuarios.
 Gestión de configuración: Inicialización (start t-up) y desconexión (shut-down )
ordenada de la red o de parte de ella. Mantenimiento y adicción de componentes, y
actualización de relaciones entre componentes (reconfiguraciones).
 Gestión de prestaciones: Calidad de funcionamiento. El objetivo es asegurar que la
capacidad y prestaciones de la red corresponden con las necesidades de los usuarios.
 Gestión de seguridad: Proceso para controlar el acceso a la información contenida en
los elementos de la red, y protección de la misma ante fallos intencionados o
accidentales, accesos no autorizados, etc.

4.2.1 Tarjetas

ifconfig

El comando ifconfig muestra los detalles de la/s interfaz/interfaces de red definidas en el


sistema. La opción más común es -a, lo cual permite mostrar todas las interfaces.

# 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

A continuación se muestra el output con su respectiva explicación:

Figura No. . Salida que muestra el comando ifconfig.

Éstas son algunas partes claves del output:

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

up/down – activa o desactiva una interfaz específica. Usted puede utilizar el


parámetro down para desconectar una interfaz (o desactivarla):

# ifconfig eth0 down

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:

# ifconfig eth0 add [Link]

netmask – determina el parámetro de máscara de red de la interfaz. A continuación se


presenta un ejemplo en dónde puede establecer la máscara de red de la interfaz eth0 en
[Link]

# ifconfig eth0 netmask [Link]

En un entorno Oracle Real Application Clusters usted debe establecer la máscara de red en
cierto modo, utilizando este comando.

En algunas configuraciones avanzadas, usted puede cambiar la dirección de MAC asignada


a la interfaz de red. El parámetro hw lo hace posible. El formato general es:

ifconfig <Interface> hw <TypeOfInterface> <MAC>

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

# ifconfig eth0 hw ether [Link].90.12

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:

 la columna del extremo izquierdo denominada “Proto” muestra el tipo de conexión –


tcp en este caso.
 La columna Recv-Q muestra los bytes de datos en cola a ser enviados al programa
del usuario que estableció la conexión. Este valor debería ser un valor cercano a 0,
preferentemente. En los servidores ocupados este valor será mayor a 0 pero no
debería ser demasiado alto. Una cantidad mayor no podría significar mucho, a
menos que observe una cantidad elevada en la columna Send-Q, descripta a
continuación.
 La columna Send-Q denota los bytes en cola a ser enviados al programa remoto, es
decir, el programa remoto aún no ha confirmado su recepción. Esta cantidad debería
ser cercana a 0. Una cantidad mayor podría indicar un cuello de botella en la red.
 Local Address se refiere al origen de la conexión y el número de puerto del
programa.
 Foreign Address hace referencia al host de destino y el número de puerto. En la
primera línea, tanto el origen como el destino corresponden al mismo host: prolin1.
La conexión se encuentra simplemente en espera. La segunda línea muestra una
conexión establecida entre el puerto 1521 de proiln1 hasta el puerto 40205 del host
applin1. Lo más probable es que una conexión de Oracle venga del applin1 cliente
hasta el servidor prolin1. El listener de Oracle en prolin1 se ejecuta en el puerto

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.

El comando netstat puede presentar varias opciones y parámetros. A continuación se


detallan los más importantes:

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.

La opción -s muestra el resumen de estadísticas de cada protocolo, en vez de mostrar los


detalles de cada conexión. Esto puede combinarse con el flag específico del protocolo, Por
ejemplo, -u muestra las estadísticas relacionadas con el protocolo UDP.

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 segunda columna del output netstat – Gateway–muestra el gateway de asignación de


ruta. Si no se utiliza ningún gateway, aparece un asterisco. La tercera columna– Genmask–
muestra la “generalidad” del enrutamiento, es decir, la máscara de red para esta ruta. Al dar
una dirección de IP para encontrar una ruta adecuada, el kernel sigue el proceso de cada
una de las entradas de enrutamiento, tomando el nivel de bits AND de la dirección y la
máscara de red antes de compararlo con el destino de ruta.

La cuarta columna, denominada Flags, despliega las siguientes etiquetas que describen la
ruta:

 G significa que la ruta utiliza un gateway.


 U implica que la interfaz a ser utilizada se encuentra activa (disponible).
 H implica que solo puede alcanzarse un único host a través de la ruta. Por ejemplo,
el caso de la entrada de loopback (circuito cerrado) [Link].
 D significa que esta ruta ha sido dinámicamente creada.
 ! significa que la ruta ha sido rechazada y se descartarán los datos.

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.

 MSS representa la sigla Maximum Segment Size (Tamaño de Segmento Máximo) –


es el tamaño del datagrama más amplio para realizar la transmisión a través de esta
ruta.
 Window se refiere a la cantidad máxima de datos que el sistema aceptará en
modo single burst desde un host remoto y para esta ruta.
 irtt representa la sigla de Initial Round Trip Time (el Valor Inicial del Temporizador
TCP). Es un poco difícil de explicar, pero lo haré por separado.

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?

El mecanismo de traspaso del nombre de host a las direcciones de IP es conocido como


resolución de nombre. En el nivel más rudimentario, el host tiene un archivo especial
denominado hosts, que almacena la Dirección de IP – Hostname. Este es un archivo de
muestra:

# 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

Esto muestra que el nombre del host [Link] se traduce a [Link]. La


entrada especial con la dirección de IP [Link] se denomina entrada loopback, la cual
vuelve al servidor mismo por medio de una interfaz de red especial denominada lo (que se
menciona anteriormente en los comandos ifconfig y netstat).

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

** server can't find [Link]: NXDOMAIN

Analicemos el output. El output del Server (Servidor) es la dirección del nameserver. El


nombre [Link] establece la dirección de IP [Link]. El nombre fue definido por el
nameserver próximo a la palabra Server en el output.

Si usted escribe esta dirección de IP en un browser–[Link] en lugar de


[Link] browser se dirigirá al sitio [Link].
Si usted cometió un error o buscó un host equivocado:

# nslookup [Link]
Server: [Link]
Address: [Link]#53

** server can't find [Link]: NXDOMAIN

El mensaje es bastante claro: este host no existe.

dig

El comando nslookup ha caído en desuso. En su lugar debería utilizarse un comando nuevo


y más poderoso – dig ( domain information groper). En algunos servidores Linux más
nuevos, el comando nslookup podría no estar aún disponible.
Aquí vemos un ejemplo; para verificar la resolución del nombre del host [Link], debería
utilizar el siguiente comando:

98
# dig [Link]

; <<>> DiG 9.2.4 <<>> [Link]


;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62512
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 8, ADDITIONAL: 8

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

;; Query time: 97 msec


;; SERVER: [Link]#53([Link])
;; WHEN: Mon Dec 29 [Link] 2008
;; MSG SIZE rcvd: 328

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:

# dig +short [Link]


[Link]

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:

# dig +short [Link]

O puede utilizar el parámetro +domain:

# dig +short +tcp +domain=[Link] otn


[Link].
[Link].
[Link]

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

Un servidor de nombres, es un programa que además de atender solicitudes de


resolvedores, mantiene tablas donde asocia nombres con direcciones IP de algunas zonas
del árbol de nombres. También mantiene direcciones de otros servidores de nombres que
puede emplear para actualizar las tablas de las zonas que mantiene y para obtener
información de otras zonas.

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 es un servicio para centralizar nombres de usuarios, claves, e información de grupos en


el servidor facilitando la administración de usuarios. Si además de NIS se usa NFS para
montar el directorio /home del servidor en cada cliente, puede centralizarse también la
información de todos los usuarios en el servidor.

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:

echo "+::::::" >> /etc/passwd


echo "+:::" >> /etc/group
echo "+::::::::" >> /etc/shadow

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.

En el servidor debe configurar NIS de la siguiente forma:

1. Edite /etc/init.d/nis, asegurándose de dejar NISSERVER=master.


2. Reinicie el servicio NIS con /etc/init.d/nis restart
3. Edite el archivo /var/yp/Makefile y cambie la regla all: para que incluya
también shadow.
4. Ejecute /usr/lib/yp/ypinit -m.

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:

[Link]:/home /home nfs rw 0 0


[Link]:/var/mail /var/mail nfs rw 0 0

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:

1. Protocolo de transporte. Que normalmente opera sobre TCP/IP dando


autenticidad, confidencialidad e integridad.
2. Protocolo de autenticación de usuario. Que autentica al usuario ante el servidor.
3. Protocolo de conexión. Que multiplexa un canal encriptado en diversos canales
lógicos.

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

La generación de llaves puede hacerse con:

ssh-keygen -t dsa

que por defecto dejará su llave pública en ~/.ssh/id_dsa.pub y su llave privada en


~/.ssh/id_dsa (que además quedará protegida por una palabra clave que usted especifica).
Como el nombre lo índica la llave privada no debe compartirla, por el contrario la llave pública
puede transmitirla y puede ser vista por cualquiera.

En el computador en el que desee conectarse, agregue en el archivo ~/.ssh/authorized_keys


(o ~/.ssh/authorized_keys2 si usa DSA y una versión de OpenSSH anterior a la 3.1), su llave
pública. Por ejemplo el usuario mario desde [Link] puede
configurar la entrada con autenticación automática a la cuenta pepe en
[Link] con:

purpura> scp ~/.ssh/id_dsa.pub


[Link]:/home/pepe/id_dsa_mario.pub
purpura> ssh -l pepe [Link]
...
amarillo> cat id_dsa_mario.pub >> ~/.ssh/authorized_keys

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.

4.3 Técnicas y herramientas para gestión de redes

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.

Los eventos típicos que son monitorizados suelen ser:

• Ejecución de tareas como pueden ser realización de copias de seguridad o búsqueda de


virus.

• Registro del estado de finalización de los procesos que se ejecutan en la red.

• Registro de los cambios que se producen en el inventario de hardware.

• Registro de las entradas y salidas de los usuarios en la red.

• Registro del arranque de determinadas aplicaciones.

• Errores en el arranque de las aplicaciones.

• etc.

En función de la prioridad que tengan asignados los eventos y de la necesidad de


intervención se pueden utilizar diferentes métodos de notificación como son:

 Mensajes en la consola: se suelen codificar con colores en función de su


importancia.
 Mensajes por correo electrónico: conteniendo el nivel de prioridad y el nombre e
información del evento.
 Mensajes a móviles: cuando el evento necesita intervención inmediata se suele
comunicar a los técnicos de guardia a través de este método.
 Además de los eventos, otra característica importante es la monitorización del tráfico
de red:
 Se toman nuevas medidas sobre aspectos de los protocolos, colisiones,
fallos, paquetes, etc.
 Se almacenan en BBDD para su posterior análisis.
 Del análisis se obtienen conclusiones, bien para resolver problemas
concretos o bien para optimizar la utilización de la red.

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.

Los planificadores como AT de Windows NT y CRON de Unix permiten procesos


especificando un momento determ inado y una frecuencia.

Normalmente también se suelen usar scripts para programar a los agentes planificadores.

Protección contra virus

La protección contra la entrada de virus en la red se suele hacer mediante la utilización de


paquetes especiales basados en una parte servidora y un conjunto de agentes distribuidos
en los puestos de trabajo.

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

La gestión centralizada de impresoras en la red permite reducir el tiempo y el esfuerzo que


necesitan los usuarios para configurar la impresión desde unos puertos de trabajo y también
permiten al administrador realizar una gestión unificada de todas las impresoras de la red.

Las actividades relacionadas con el soporte de impresoras son dos:

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

El modo de operar suele ser el siguiente:

 El administrador da de alta las impresoras en la red seleccionando los servidores que


actuarán de spoolers, identificándos lo con un nombre y asociando el driver
correspondiente para su utilización.
 Posteriormente el administrador, establece las condiciones de acceso como permisos a
los usuarios, horario de acceso a las impresoras, etc.
 El usuario después selecciona las impresoras de las que tiene acceso permitido y las
instala en un puerto de trabajo de forma remota y transparente.
 Cuando el usuario imprime también tiene acceso a las colas de impresión de forma que
puede añadir o eliminar trabajos de su propiedad.
 El administrador a través de la consola y los agentes de impresión monitoriza la actividad
de las impresoras y soluciona problemas que puedan surgir.

Gestión del espacio de almacenamiento

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.

El administrador utiliza agentes que recolectan información sobre el grado de ocupación de


los discos con objeto de tomar decisiones al respecto de la redistribución de ficheros y de la
adquisición de nuevos discos.

105
La extracción de información que realiza el agente suele ser a nivel de:

 Partición: utilización del espacio de la partición (poco nivel de detalle)


 Directorios: grado de utilización del espacio para los directorios.
 Ficheros: tamaño que ocupan los ficheros.

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.

La tarea de recogida de información normalmente se puede hacer en background sin afectar


a los procesos en ejecución aunque también pueden ser planificados para su posterior
ejecución.

ping

Permite hacer una petición de eco a una dirección IP o nombre de equipo.

ping [Link]

mtr

Combina los comandos ping y traceroute en uno sólo

mtr [Link]

lsof

Muestra la actividad de los servicios de red del equipo.

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

Monitoriza el uso de una interfaz de red de manera gráfica y por conexiones.

iftop -i wlan0

ifstat

Monitoriza en tiempo real el tráfico por una interfaz de red.

ifstat -t -i wlan0

106
nethogs

Analiza el tráfico de red por aplicación.

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

4.3.1 Consola remota, monitoreo, órdenes del servidor

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.

Figura No. .Información que proporciona Vnstat

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.

Figura No. .Información que proporciona IPtraf.

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

Una de las herramientas más [Link] obtener datos de la conexión de forma


interactiva y, a la vez, exportarlos a un determinado formato para consultarlo más fácilmente
en otro dispositivo.

TCPtrack

Aunque es una aplicación bastante desconocida, nos muestra todos los datos del consumo
de nuestra conexión.

109
Speedometer

Un programa de monitorización de la red y de los paquetes que se envíen y reciban que,


además, permite realizar pruebas de velocidad de internet.

Ipband

Un monitor de tráfico IP orientado a obtener todos los datos de la conexión.

4.3.2 Respaldo y recuperación de datos

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

La política de backups es la definición de los diferentes aspectos de las copias de


seguridad: ¿de qué se debe hacer backup? ¿Cada cuánto se realiza la copia de seguridad?
¿Qué retención deben tener? ¿Dónde se guardan las copias? ¿Cuánto tiempo es aceptable
que se pueda tardar en recuperar datos?
Obviamente, siempre es deseable tener copias diarias de todos los ficheros con una
retención alta y almacén local para recuperar rápidamente, así como externo para mayor
protección. Sin embargo, esto está reñido con la eficiencia y con los costes: robots de cintas,
ocupación de disco, espacio físico para guardar las copias, etc. Por lo tanto, es necesario
encontrar un compromiso marcando máximos en los costes, y priorizando los
backups de los recursos más críticos.

Cada proyecto o plataforma tiene sus propias necesidades que es necesario definir para
establecer la política. Para ello, es útil:

 Diferenciar entre distintos entornos (preproducción, desarrollo, test, producción, etc.)


 Determinar los costes de las posibles pérdidas de datos
 El tiempo que se tardaría en la recuperación
 Valorar los recursos disponibles (hardware, velocidad de la red, discos remotos, etc.)
 Analizar qué es imprescindible copiar y qué no.

Guardado y retención de backups

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.

Aunque hay diversas opciones de storage es interesante considerar el servicio Glacier de


Amazon. Su bajo coste es una gran ventaja, pero el hecho que la restauración no esté
asegurada en un tiempo concreto y que pueda tardar algunas horas lo descarta para el
vaulting mientras que lo convierte en interesante candidato para archiving, donde no hay
exigencias de recuperación de datos en tiempos limitados.

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:

 RTO (Recovery Time Objective)

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.

 RPO (Recovery Point Objective)

Es el periodo de tiempo máximo en el que se pueden perder datos de un servicio. Si


el periodo de tiempo es de 6 horas, se deben realizar backups cada menos tiempo
y poder recuperar la información antes de agotar el periodo.

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

Las herramientas nos permiten implementar la política de backup. Dada la variedad de


plataformas, se han creado muchísimas herramientas que actúan a diferentes niveles.
Algunos tipos de backups y herramientas (hay muchos más) se muestran a continuación:

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.

 Rsync: la herramienta más conocida de sincronización de ficheros, tiene muchas


opciones que dan gran flexibilidad.

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

El sistema básico de realizar backups es la copia de los ficheros a un espacio aparte. En


este caso, se pueden utilizar herramientas de un gran rango de diversidad y complejidad.

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

4.3 Bases de datos

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.

 MySQL: mysqldump realiza un volcado en los datos de la base de datos en SQL.


Esto permite realizar backups y crear esclavos entre otros usos.
 PostgreSQL: pg_dump hace, igual que mysqldump, un volcado de los datos en
lenguage SQL.
 SQL Server: el servidor de bases de datos de Microsoft ofrece la utilidad SQL Server
Management Studio que permite programar las distintas tareas de backups, además
de tareas previas y posteriores, especificando cuándo, de qué y a qué nivel se realiza
la copia de seguridad de forma que sea consistente y fácilmente recuperable.

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:

 Sistema de ficheros: hay sistemas de ficheros que permiten realizar backups en


forma de snapshots. ZFS dispone de esta utilidad.
 Volúmen de disco: LVM ofrece esta posibilidad para recuperar volúmenes.
 Máquinas virtuales: muchos gestores de máquinas virtuales permiten realizar
snapshots de las mismas. KVM, Xen o VMWare entre otros disponen de esta
característica.
 Ficheros: con rsnapshot se pueden realizar backups en forma de snapshot
aprovechando el rsync y mediante hardlinks de forma transparente. Back In Time
también realiza snapshots de directorios, aunque únicamente para entornos de
escritorio.

112
4.5 Continuous Data Protection

Consiste en guardar automáticamente una copia de todos los cambios realizados en


los datos, adquiriendo una copia remota de todas las versiones. Esto permite realizar
recuperación de los datos de cualquier momento. Aunque hay sistemas optimizados para
guardar únicamente las diferencias y ocupar poco espacio en disco, este sistema tiene
penalizaciones en la red dada la continua transferencia de datos.

 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

Con la infinidad de herramientas disponibles, la elección puede ser complicada. Para


simplificar la búsqueda y reducir las opciones, es imprescindible definir las necesidades
propias y lo que ofrecen las soluciones para encontrar la herramienta que mejor las cubra.
Algunas cuestiones que pueden ayudar en la elección de una herramienta son las
siguientes:

 Instalación: ¿Está paquetizada o es necesario compilar? ¿Es fácil de instalar?


¿Tiene requerimientos especiales?
 Configuración y mantenimiento: ¿Es fácil de mantener? ¿Es capaz de
implementar la política? ¿Cuánto tiempo de aprendizaje requiere? ¿Tiene interfaz
gráfica?
 Restauración: ¿La restauración es fácil y rápida? ¿Puede un usuario restaurar un
fichero suyo o debe ser siempre el administrador?
 Compatibilidad: ¿Sirve para todos los sistemas de la plataforma? ¿El servidor debe
correr en un sistema concreto?
 Soporte físico: ¿Permite backup a cinta, DVD, sistemas de ficheros remotos,
disco…?
 Licencia: ¿Es software libre o comercial? ¿Dispone de soporte para empresas?

6. Recuperación

R-Linux es una herramienta de recuperación de archivos gratuita y sin restricciones de


funcionalidad para los sistemas de archivos Ext2/Ext3/Ext4 FS utilizados en los SO de Linux
y en varios de Unix. Igual como R-Studio, R-Linux utiliza la misma tecnología InteligentScan
y ofrece la configuración flexible de parámetros para permitir la recuperación de archivos
más rápida y más segura para plataformas de Linux. Sin embargo, a diferencia de R-Studio,
R-Linux no puede recuperar datos a través de la red, reconstruir RAID y copiar objeto.

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.

R-Linux recupera archivos:

 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

La variedad de opciones permiten definir ampliamente la política de backups de forma que


se pueda utilizar una o varias herramientas para la misma plataforma, así como distintos
niveles y retenciones para distintos ficheros. A menudo no hay una solución única y fija,
y raramente la misma política sirve para dos plataformas diferentes.

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

Recuerda que algunos archivos ejecutables necesitan instalarse como administrador:


Para esto o bien inicias sesión como root o sino ejecuta el archivo con permisos de
administración (en el terminal se hace ejecutando la orden "sudo su" para trabajar todo
el rato como administrador o escribiendo "sudo " antes del comando que quieras
ejecutar).

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.

8 - También puedes usar cualquier programa de cualquier sistema operativo en Linux


por medio de la virtualización. Esto consiste en ejecutar un sistema operativo dentro
de otro. Por ejemplo puedes tener Windows ejecutandose en una ventana de tu
escritorio Linux como si fuera una aplicación más.
5.2 Cómo instalar aplicaciones Windows en Linux usando Wine

Por distintas razones, es posible que te veas en la necesidad de correr un programa


para Windows en Linux. Puede ser que no exista una versión para Linux, que la versión
para Windows sea mejor o más profesional… o simplemente tu preferida. También
puede ser que necesites usar ese programa porque es el “estándar” de la industria en
la que trabajas o porque ningún programa de Linux soporta el tipo de archivos o
documentos creados con tu programa para Windows en otra computadora.

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:

sudo apt-get install wine

En Fedora:

yum -y install wine

En la sección de descargas podés encontrar los paquetes de la última versión de Wine


para otras distribuciones Linux populares como Mandriva, Slackware, Debian,
OpenSUSE, etc.

Ejecutar e instalar programas Windows

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.

¿Dónde se instala todo?

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.

Figura No. . Cuadro de diálogo para 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.

Winetricks es un rápido y sencillo sript para descargar e instalar estas librerías


redistribuibles que algunas veces se nesecitan para que todo funcione de maravilla.

¿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

Figura No. . Ejecutando Winestricks

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,

sh winetricks corefonts vcrun6

Esto instalará ambos paquetes, corefonts y vcrun6.

Instalar programas en Linux.

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.

Pero cuando descargamos paquetes de software que no se encuentran en los


repositorios de nuestra distribución o queremos instalar programas en Linux con una
versión diferente a la que nos aportan las fuentes de nuestra distro, la cosa se complica
más. Sobre todo cuando los paquetes descargados son tarballs con código fuente.

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.

Figura No. . Métodos de instalaciòn de paquetes en Linux.

Paquetes .deb y .rpm:

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…

Si queremos hacerlo desde la consola en vez de YaST usa Zypper:

zypper install nombre_programa

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:

yum install nombre_paquete

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

En Mandriva se puede emplear el Mandriva Control Center para instalar programas o


RPMDrake. También puedes emplear en modo texto.

urpm:

urpm –i nombre_paquete.rpm

5.3 5.3 Instalar aplicaciones mediante apt o apt-get.

APT (Advance Packagin Tool) es una herramienta de empaquetado de aplicaciones


creada por el proyecto Debian, para simplificar la instalación y desinstalación de
programas en Linux.

Para instalar aplicaciones en Linux mediante la consola, usamos el comando apt-get.


Aunque algunos usuarios prefieren el uso de aptitude: una interfaz para APT que tiene
fama de resolver mejor las dependencias que apt-get, y de eliminar paquetes inútiles.

Ejemplo:

sudo apt-get install firefox o

122
sudo aptitude install firefox

El comando apt-get también funciona para desinstalar software añadiendo el sufijo


remove, y si además añadimos la orden --purge podemos eliminar todos los datos de
un programa, para que no quede rastro de él en nuestro sistema.

Ejemplo:

sudo apt-get remove --purge firefox

5.4 Añadir repositorios

Los repositorios son paquetes de archivos que se encuentran disponibles en linea y


que podemos descargar e instalar en nuestro sistema operativo. Cuando un programa
se encuentra en los repositorios oficiales de tu distribución, cómo por ejemplo: Firefox,
qué está en todos los repositorios oficiales de Ubuntu, para instalarlo solo debemos
usar el comando apt-get cómo explicamos arriba.

Si el programa que deseamos instalar, está en un repositorio de un tercero, antes de


poder instalar el paquete debemos añadir el PPA (Personal Package Archive) a
nuestros repositorios locales.

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.

sudo add-apt-repository ppa:otto-kesselgulasch/gimp sudo apt-get


update sudo apt-get install gimp

Si lo que queremos es actualizar todos nuestros programas a sus últimas versiones, e


instalar las actualizaciones del sistema de manera fácil y rapida, usamos el comando
upgrade.

Ejemplo:

sudo apt-get update sudo apt-get upgrade

5.5 Diferencia entre Apt y Apt get en Linux (Ubuntu)

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

APT (Advanced Packaging Tool) es un conjunto de herramientas que han sido


desarrolladas para gestionar y administrar todo lo relacionado con los paquetes para
Debian y Ubuntu y este paquete contiene herramientas que facilitan diversas tareas
con los paquetes tales como:

 Instalación de nuevos paquetes


 Administración y actualización de los paquetes existentes
 Eliminación de paquetes del sistema operativo

Al usar apt en lugar de apt-get básicamente tenemos la posibilidad de gestionar todos


los paquetes de una forma mucho más sencilla.

Similitudes entre apt y apt-get

Vamos a analizar en primer lugar las similitudes entre estas dos herramientas de
gestión de paquetes:

 Ambas han sido desarrolladas para la administración de paquetes


 Con ambos comandos podremos dar órdenes al gestor de paquetes APT
 Ambas utilidades comparten la mayor parte de su código lo que permite que
sean eficientes y seguras
 Sus funciones son idénticas

Diferencias entre apt y apt-get

Ahora analizaremos algunas de las principales diferencias entre ambas herramientas


de gestor de paquetes APT.

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

apt-cache search weechat

Figura No. . apt get y sus resultados.

125
Ahora, si usamos apt search weechat este será el resultado obtenido:

apt search weechat

Figura No. . apt get y sus resultados.

Otra de las diferencias que encontramos es al momento de actualizar el sistema, ya


que cuando usamos la línea sudo apt update podemos ver al final la cantidad de
paquetes que están disponibles para actualización:

Figura No. . apt actualizando el sistema.

126
Al ejecutar sudo apt-get update no veremos ningún tipo de información:

sudo apt-get update

Figura No. . apt get y sus resultados.

A continuación, veremos algunas de las equivalencias de los comandos que


podemos usar en Linux con apt y apt-get:

Actualiza los repositorios de la distro

Comando apt-get

apt-get update

Comando apt

apt update

Instala uno o más paquetes en el sistema

Comando apt-get

apt-get install

Comando apt

127
apt install

Actualiza la totalidad de los paquetes instalados

Comando apt-get

apt-get dist-upgrade

Comando apt

apt dist-upgrade

Actualiza los paquetes instalados

Comando apt-get

apt-get upgrade

Comando apt

apt upgrade

Elimina un paquete del sistema

Comando apt-get

apt-get remove

Comando apt

apt remove

Desinstala los paquetes y archivos de instalación de una utilidad

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

Instala los paquetes para compilar un programa

Comando apt-get

apt-get build-dep

Comando apt

apt build-dep

Permite la descarga de un código fuente de un programa

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.

Nos permite editar lista de recursos:

apt edit-sources

Recordemos que esta es la primera gran actualización de APT en Ubuntu y ha sido


denominada APT 1.0 y las principales opciones que tenemos a mano usando este
comando son las que podemos ver usando el comando:

apt --help

Figura No. . apt - - help y sus resultados.

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

Nos permite instalar paquetes y adicionalmente podremos ver la barra de progreso


de la instalación.

Update
Cumple la misma función de apt-get con la diferencia que éste muestra colores para
resaltar los mismos.

Remove

Esta opción nos permite eliminar paquetes.

Full-Upgrade

Es similar a dist-upgrade y nos permite actualizar el sistema instalando, removiendo


y actualizando paquetes.

Upgrade
Funciona igual que apt-get dist-upgrade y nos permite actualizar el sistema
instalando y actualizando paquetes.

Edit-Sources

Nos permite editar el archivo [Link] usando $EDITOR

Algunas formas como usaremos apt en Ubuntu 16 sería la siguiente:

131
sudo apt install nombredelpaquete

sudo apt remove nombredelpaquete

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

5.5 Otros detalles importantes sobre apt-get.

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.

Algunas de las opciones más frecuentes son:


apt-get update: sincronizar el índice de paquetes desde sus fuentes. Los índices de
paquetes disponibles se obtienen de los lugares especificados en
/etc/apt/[Link].
apt-get upgrade upgrade: se usa para instalar la versión más nueva de todos los
paquetes instalados en el sistema. Los paquetes instalados con una nueva versión
disponible se descargan y actualizan, y bajo ninguna circunstancia se desinstalarán
paquetes, o se instalarán paquetes nuevos. Las nuevas versiones de programas
instalados que no se puedan actualizar sin cambiar el estado de instalación de otros
paquetes no se instalarán, manteniéndose la versión actual. Debe realizar un update
antes para que apt-get sepa que hay nuevas versiones disponibles.

apt-get dist-upgrade además de realizar las acciones de upgrade, trata


inteligentemente los cambios de dependencias debidos a las nuevas versiones de
paquetes.

apt-get install paquete1 paquete2 descargo e instalo los paquete1 y paquete2.

apt-get remove paquete1 paquete2 desinstalo los paquete1 y paquete2.

apt-get --reinstall install postfix resinstalo el paquete postfix.

apt-get install linux-headers-`uname -r` instala las cabeceras del kernel, necesarias
para los drivers

Otras opciones son:

apt-show-versions -u para saber que paquetes pueden actualizarse.

apt-cache showpkg paquete nos da mayor información sobre el paquete

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-file list paquete listar el contenido de del paquete

apt-get source paquete Para descargar las fuentes del paquete

apt-get -f install Para solucionar problemas cuando una instalación no se logró con
éxito.

apt-get clean limpia el cache de paquetes instalados.

apt-get autoclean limpia el cache de paquetes que ya han sido actualizados.

133
Módulo III. Administración de archivos y respaldos

6. Introducción

Para empezar, ¿qué es un “Sistema de Archivos”? Pues este término (también se


utiliza “Sistema de Ficheros” o directamente el inglés: “File System“), hace referencia
a la forma en la que la información se organizará en el disco duro (o dispositivo de
almacenamiento utilizado), definiendo cómo se realizarán las operaciones de
lectura/escritura, búsquedas e indexación de los datos.

El disco duro de nuestro ordenador esta confeccionado por múltiples bloques


(denominados sectores) donde se almacenan los datos que manejamos. El “sistema de
archivos” es el que determina como se organizan dichos bloques para confeccionar lo
que conocemos bajo el nombre de “archivos” y “directorios”, manteniendo información
acerca del espacio disponible en cada instante.

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.

6.1 Sistemas de gestión de archivos

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.

Veámoslo con más detalle:

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

(Sistema de archivos Extendido, versión 3)es compatible con Ext2 (la


única diferencia con éste es que posee un fichero adicional de registro para
implementar “journaling”). De hecho, el objetivo de Ext3 era mejorar Ext2,
pero manteniendo la compatibilidad con éste. Entre las principales diferencias
Ext3
cabe destacar que Ext3 mantiene la consistencia no solo de los metadatos
(como ya hace Ext2) sino también de los propios datos. Por supuesto, la
seguridad de poder recuperar los datos de nuestro sistema tiene un coste, y
es que tendremos menos rendimiento y más consumo de espacio en disco.

(Sistema de archivos Extendido, versión 4)mantiene la compatibilidad con


sus antecesores, posee “journaling”, reduce considerablemente la
Ext4
fragmentación de archivos (mejorando con ello el rendimiento), permite
dispositivos de almacenamiento de más capacidad.

desarrollado por la empresa Namesys, fue el primer sistema de archivos con


“journal” incluido en un núcleo estándar de Linux. Pero además, implementa
otra serie de ventajas no disponibles en otros sistema de archivos, como
puede ser la repartición de sistemas de ficheros montados, o un esquema
ReiserFS
para reducir la fragmentación. La versión más reciente de este sistema de
archivos se denomina “Reiser4”, y además de las características antes
indicadas, posee mecanismos que le permiten trabajar con cientos de miles
de archivos, y una estructura de archivos optimizada.

creado por Silicon Graphics Inc., se trata de un sistema de archivos con


“journaling” que inicialmente funcionaba sobre la implementación IRIX de
UNIX, pero que posteriormente se liberó como código abierto. Destaca por su
XFS
alta escalabilidad y fiabilidad (admite redireccionamiento de 64 bits,
implementación paralelizada), y sobre todo porque es capaz de trabajar con
archivos muy grandes.

desarrollado por IBM, inicialmente fue creado para servidores de alto


rendimiento y equipos de altas prestaciones. Posee un eficiente “journaling”
que le permite trabajar cómodamente con archivos de gran tamaño como con
JFS
otros más pequeños. Las particiones JFS pueden ser dinámicamente
redimensionadas (como ya hacía RaiserFS), pero no pueden ser comprimidas
(algo que si hacen RaiserFS y XFS).
Tabla No. . Descripción de sistemas de archivos en Linux
Journaling

Seguro que no le ha pasado desapercibido el término “Journaling” o “journal” a lo largo de


los párrafos anteriores, y es que se trata de la principal característica que identifica los
sistemas operativos modernos. El “Journaling” (también conocido como “registro por diario”)
es un mecanismo que almacenará las transacciones (operaciones de lectura y escritura de

135
archivos) que se realizan en el sistema, y que permitirá la recuperación de los datos en caso
de fallo grave.

Su funcionamiento, a grandes rasgos, sería el siguiente: cuando se desea guardar un


archivo en el sistema de ficheros, se anotará esta acción en el “journal” (en ocasiones
también se le denomina “bitácora”) pasando a continuación a realizar realmente la operación
de escritura en el disco duro del equipo. Si la operación de escritura en disco duro finaliza
con éxito entonces se elimina esa operación del “journal” (“diario”). Pero, si antes de finalizar
la operación de escritura en disco se produjese un fallo (por ejemplo, un corte eléctrico)
entonces el “journal”, que aún mantiene la información correspondiente al fichero, podría
recuperarlo para el sistema rápidamente en el siguiente inicio.

Estructura de Directorios en Linux

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.

El estándar utilizado por GNU/Linux para organizar la información se denomina FHS


(Filesystem Hierarchy Standard), y éste sistema se encarga de organizar la información
de forma jerárquica.

Figura No. . Estructura de Directorios en Linux

Partiendo de un “raiz” encontraremos los siguientes 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.

/dev cada uno de los archivos representa a un dispositivo del sistema.

es el directorio donde se encontrarán la mayoría de los archivos de configuración


/etc
del sistema y de otras aplicaciones importantes.

/home donde se encontrarán los directorios personales de los usuarios del sistema.

/lib bibliotecas compartidas necesarias para la ejecución del sistema.

se trata del directorio en el que se solían ‘montar’ los distintos dispositivos de


/mnt almacenamiento (discos duros externos, pen-drive), pero que ahora ha quedado
obsoleto porque se utiliza el nuevo directorio “/media” para dicha función.

/proc mantiene ficheros que almacenan el estado (procesos, dispositivos) del sistema.

/root es el directorio personal del administrador del sistema.

/sbin comandos de administración del sistema.

/tmp carpeta donde el sistema almacena información temporal.

/usr ubicación que normalmente se dedica para instalar las aplicaciones de usuario.

su contenido no se explica brevemente, ya que en él podremos encontrar los


/var archivos de registro del sistema, archivos temporales del servicio de correo, o el
directorio de trabajo del servidor de páginas web.

Tabla No. . Directorios en Linux

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.

6.2 Organización y acceso archivos

Intentaremos explicar lo mas brevemente posible, cómo los directorios de un sistema


Linux/Unix están organizados y para que se usan. Uno de los problemas que tienen los
nuevos usuarios de un sistema Linux/Unix es el no saber qué significan y para qué se utilizan
los diferentes directorios del sistema. No preocuparse, en un principio puede parecer difícil
y sin lógica, pero una vez que empecemos a usarlos nos acostumbraremos pronto.

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:

Estáticos/dinámicos y compartibles/no compartibles.

Estáticos: Contiene binarios, bibliotecas, documentación y otros ficheros que no cambian


sin intervención del administrador. Pueden estar en dispositivos de solo lectura (read-only)
y no necesitan que se hagan copias de seguridad tan a menudo como con ficheros
dinámicos.

Dinámicos: Contiene ficheros que no son estáticos. Deben de encontrase en dispositivos


de lectura-escritura (read-write). Necesitan que se hagan copias de seguridad a menudo.

Compartibles: Contiene ficheros que se pueden encontrar en un ordenador y utilizarse en


otro.

No compartibles: Contiene ficheros que no son compartibles.

A continuación mostramos algunos ejemplos para aclarar ideas:

 Estáticos: /bin, /sbin, /opt, /boot, /usr/bin


 Dinámicos: /var/mail, /var/spool, /var/run, /var/lock, /home
 Compartibles: /usr/bin, /opt
 No compartibles: /etc, /boot, /var/run, /var/lock

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.

6.3 Administración de archivos en ambientes de clusters y nubes.

Es posible acceder al almacenamiento de archivos en la nube a través de varias instancias


de cómputo simultáneamente, mediante el suministro de acceso compartido a los datos en
la nube. Mientras que las soluciones de almacenamiento de archivos on-premise se
implementan en servidores físicos o virtuales que se ejecutan en protocolos de intercambio
de archivos en la red o con servidores de almacenamiento conectado a la red (NAS), el
almacenamiento de archivos en la nube no necesita hardware y se integra fácilmente con
otros servicios de la nube.

Todas las soluciones de almacenamiento de archivos presentan datos de manera lógica y


se organizan en un sistema de archivos con semántica de sistema de archivos completa
como permisos, atributos de archivos, bloqueo de archivos y nombres de archivos aptos
para lectura humana. La compatibilidad con aplicaciones existentes hace que las soluciones
de almacenamiento de archivos en la nube sean ideales para cargas de trabajo que se basan
en servicios de archivos compartidos, mediante el suministro de integración simple y sin
código para escribir. Casos de uso como repositorios grandes de contenido, entornos de
desarrollo, almacenes de medios y directorios principales de usuarios son cargas de trabajo
ideales para el almacenamiento de archivos en la nube.

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.

Beneficios del almacenamiento de archivos en la nube

El almacenamiento de datos en archivos en la nube ofrece ventajas en tres áreas


principales:

1. Escalabilidad: si bien no todas las soluciones de almacenamiento de archivos en la nube


pueden ajustar sus escalas para poder utilizar todas las capacidades de la nube, las
soluciones más avanzadas ofrecen la posibilidad de empezar con los niveles de capacidad
y rendimiento que necesita actualmente y aumentar la capacidad en función de sus
necesidades. Ya no es necesario aprovisionar capacidad en exceso para probar y
anticiparse a necesidades futuras.

2. Interoperabilidad: muchas de las aplicaciones existentes necesitan integrarse con


servicios de archivos compartidos que utilizan semántica de sistema de archivos. Las
soluciones de almacenamiento de archivos en la nube ofrecen una ventaja diferenciada, ya
que no hay código nuevo para escribir para tener acceso compartido y seguro a archivos.

3. Presupuesto y recursos: el uso de servicios de archivos on-premise necesita


presupuesto para hardware, mantenimiento constante, suministro eléctrico, refrigeración y
espacio físico. El almacenamiento de archivos en la nube les permite a las organizaciones
volver a implementar recursos técnicos en otros proyectos que añadan más valor al negocio.

Casos de uso del almacenamiento de archivos en la nube

La flexibilidad de ser compatible e integrarse fácilmente con aplicaciones existentes, además


de la simplicidad para implementar, administrar y conservar una solución de
almacenamiento de archivos en la nube ofrece la capacidad para admitir un amplio espectro
de aplicaciones y sectores verticales.

Servidores web

La necesidad de contar con almacenamiento de archivos compartidos para aplicaciones de


servidores web puede ser un desafío cuando se integran aplicaciones backend.
Normalmente, existen varios servidores web que suministran el contenido de un sitio y cada
uno de ellos necesita acceso al mismo conjunto de archivos. 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 archivos en la nube
se puede integrar fácilmente en sus aplicaciones 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.

Análisis de big data

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.

Contenido multimedia y entretenimiento

Los flujos de trabajo de contenido multimedia y entretenimiento se modifican continuamente.


Muchas personas utilizan una implementación en la nube híbrida y necesitan un acceso
estandarizado mediante protocolos de archivos de red, como NFS. Estos flujos de trabajo
necesitan un acceso flexible, estable y seguro a los datos desde soluciones de empresas
del sector, personalizadas y comerciales. Como el almacenamiento de archivos en la nube
adhiere a la semántica de sistema de archivos existente, el almacenamiento de contenido
de medios enriquecidos para procesamiento y colaboración se puede integrar fácilmente
para producción de contenido, cadenas de suministro digitales, streaming de medios,
emisiones, análisis y archivo.

Directorios de inicio

El uso de directorios de inicio para el almacenamiento de archivos cuyo acceso está


restringido a grupos y usuarios específicos es útil para muchos flujos de trabajo en la nube.
Las empresas que desean aprovechar los beneficios de escalabilidad y costos de la nube
están ampliando el acceso a directorios de inicio a muchos de sus usuarios. Como las
soluciones de almacenamiento de archivos en la nube adhieren a la semántica de sistema
de archivos y a los modelos de permisos estándares necesarios, los clientes pueden migrar
mediante lift-and-shift a la nube las aplicaciones que necesitan esta capacidad.

Copias de seguridad de bases de datos

La realización de copias de seguridad mediante el uso de mecanismos, software y


semántica existentes puede crear una situación de recuperación aislada con poca
flexibilidad de ubicación para recuperaciones. Muchas empresas quieren aprovechar la
flexibilidad de almacenar copias de seguridad de bases de datos en la nube, ya sea para
protección temporal durante las actualizaciones o para tareas de desarrollo y pruebas. Como
las soluciones de almacenamiento de archivos en la nube presentan un sistema de archivos

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.

Requisitos del almacenamiento de archivos en la nube

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

Aumenta o reduce su escala automáticamente para ajustarse a las necesidades de


capacidad.

Seguridad

Provee permisos de control de acceso y seguridad de red.

Rendimiento

Suministra rendimiento de baja latencia y desempeño constante.

Disponibilidad

Redundancia en varios sitios y accesibilidad permanente cuando resulta necesario.

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.

No todas las soluciones de almacenamiento de archivos en la nube se crean igual

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.

Tipos de almacenamiento en la nube

Existen tres tipos de almacenamiento en la nube: de objetos, archivos o en bloques. Cada


uno ofrece su propio conjunto único de ventajas.

1. Almacenamiento de objetos: con frecuencia, las aplicaciones desarrolladas en la nube


aprovechan la gran escalabilidad y las características de metadatos del almacenamiento de
objetos. Las soluciones de almacenamiento de objetos como Amazon Simple Storage
Service (Amazon S3) son ideales para crear aplicaciones modernas desde cero que
requieren escala y flexibilidad, y que también pueden utilizarse para importar almacenes de
datos existentes para su análisis, copia de seguridad o archivo.

2. Almacenamiento de archivos: muchas aplicaciones necesitan obtener acceso a


archivos compartidos y requieren un sistema de archivos. A menudo, este tipo de
almacenamiento cuenta con un servidor de almacenamiento conectado a la red (NAS). Las
soluciones de almacenamiento de archivos como Amazon Elastic File System (EFS) son
ideales para casos de uso como depósitos de contenido de gran tamaño, entornos de
desarrollo, almacenes multimedia o directorios de inicio del usuario.

3. Almacenamiento en bloques: otras aplicaciones empresariales, como bases de datos o


sistemas de planificación de recursos empresariales (ERP), a menudo requieren
almacenamiento dedicado y de baja latencia para cada host. Esto es similar al
almacenamiento conectado directamente (DAS) o a una red de área de almacenamiento
(SAN). Las soluciones de almacenamiento en la nube basadas en bloques, como Amazon
Elastic Block Store (EBS), se aprovisionan con cada servidor virtual y ofrecen la latencia
ultrabaja necesaria para cargas de trabajo de alto rendimiento.

¿En qué se diferencia del almacenamiento de archivos?

Si bien las soluciones de almacenamiento de objetos permiten el almacenamiento de


archivos como objetos, el acceso con aplicaciones existentes requiere código nuevo y el uso
de API y conocimiento directo de la semántica de la nomenclatura. Las soluciones de
almacenamiento de archivos compatibles con la semántica de sistema de archivos y los
modelos de permisos existentes tienen una ventaja única porque no necesitan que se
escriba código nuevo para integrarse con aplicaciones que se configuran fácilmente para
funcionar con el almacenamiento de archivos compartidos.

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

7.1 Riesgo en los cuales se encuentran inmersos los Sistemas de Información

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.

Si el monitor, la memoria e incluso la CPU de nuestro computador dejan de funcionar,


simplemente lo reemplazamos, y no hay mayores dificultades. Pero si falla el disco duro,
el daño puede ser irreversible, puede significar la pérdida total de nuestra información. Es
principalmente por esta razón, por la que debemos respaldar la información importante.
Imaginémonos ahora lo que pasaría si esto le sucediera a una empresa, las pérdidas
económicas podría ser cuantiosas. Los negocios de todos los tipos y tamaños confían en la
información computarizada para facilitar su operación. La pérdida de información provoca
un daño de fondo:

- Pérdida de oportunidades de negocio


- Clientes decepcionados
- Reputación perdida
- Etc.

La tecnología no está exenta de fallas o errores, y los respaldos de información son


utilizados como un plan de contingencia en caso de que una falla o error se presente.

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.

Las interrupciones se presentan de formas muy variadas: virus informáticos, fallos


de electricidad, errores de hardware y software, caídas de red, hackers, errores
humanos, incendios, inundaciones, etc. Y aunque no se pueda prevenir cada una de estas
interrupciones, la empresa sí puede prepararse para evitar las consecuencias que éstas
puedan tener sobre su negocio. Del tiempo que tarde en reaccionar
una empresa dependerá la gravedad de sus consecuencias.

Esto nos lleva a que un sistema de respaldo y recuperación de información tiene que ser
probado y eficiente.

Seguridad física y lógica:

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.

La realización de las copias de seguridad se basará en un análisis previo del sistema de


información, en el que se definirán las medidas técnicas que puedan condicionar la
realización de las copias de seguridad, entre los que se encuentran:

Volumen de información a copiar

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.

Copia completa, recomendable, si el soporte, tiempo de copia y frecuencia lo permiten,


incluye una copia de datos y programas, restaurando el sistema al momento anterior a la
copia.

Copia incremental, solamente se almacenan las modificaciones realizadas desde la última


copia de seguridad, con lo que es necesario mantener la copia original sobre la que restaurar
el resto de copias. Utilizan un mínimo espacio de almacenamiento y minimizan el tipo
de desarrollo, a costa de una recuperación más complicada.

Copia diferencial, como la incremental, pero en vez de solamente modificaciones, se


almacenan los ficheros completos que han sido modificados. También necesita la copia
original.

Tiempo disponible para efectuar la copia

El tiempo disponible para efectuar la copia de seguridad es importante, ya que el soporte


utilizado, unidad de grabación y volumen de datos a almacenar, puede hacer que
el proceso de grabación de los datos dure horas, y teniendo en cuenta que mientras se
efectúa el proceso es conveniente no realizar accesos o modificaciones sobre los datos
objeto de la copia, este proceso ha de planificarse para que suponga un contratiempo en el
funcionamiento habitual del sistema de información.

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 estimación del coste de un soporte de almacenamiento para las copias de seguridad no


se basa simplemente en el precio de las unidades de cinta o de disco, el coste de la unidad
de grabación es también muy importante, ya que puede establecer importantes diferencias
en la inversión inicial.

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.

La política de copias de seguridad debe garantizar la reconstrucción de los archjivos en el


estado en que se encontraban al tiempo de producirse la pérdida o destrucción.

Frecuencia de realización de copias de seguridad

La realización de copias de seguridad ha de realizarse diariamente, éste es el principio que


debe regir la planificación de las copias, sin embargo, existen condicionantes, tales como la
frecuencia de actualización de los datos, el volumen de datos modificados, etc, que pueden
hacer que las copias se realicen cada más tiempo.

Planificación de la copia

Las copias de seguridad se pueden realizar en diferentes momentos día, incluso en


diferentes días, pero siempre se han de realizar de acuerdo a un criterio, y este nunca puede
ser "cuando el responsable lo recuerda", si es posible, la copia se debe realizar de forma
automática por un programa de copia, y según la configuración de éste, se podrá realizar un
día concreto, diariamente, semanalmente, mensualmente, a una hora concreta, cuando el
sistema esté inactivo, ..., etc, todos estos y muchos más parámetros pueden estar presentes
en los programas que realizan las copias de seguridad y deben permitirnos la realización
únicamente de las tareas de supervisión.

Mecanismos de comprobación

Se deben definir mecanismos de comprobación de las copias de seguridad, aunque los


propios programas que las efectúan suelen disponer de ellos para verificar el estado de la
copia, es conveniente planificar dentro de las tareas de seguridad la restauración de una
parte de la copia o de la copia completa periódicamente, como mecanismo de prueba y
garantía.

Responsable del proceso

La mejor forma de controlar los procesos que se desarrollan en el sistema de información,


aunque estos estén desarrollados en una parte importante por el propio sistema, es que
exista un responsable de la supervisión de que " lo seguro es seguro", para ello se debe
designar a una persona que incluya entre sus funciones la supervisión del proceso de
copias de seguridad, el almacenamiento de los soportes empleados en un lugar designado
a tal fin e incluso de la verificación de que las copias se han realizado correctamente.

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.

Los procedimientos establecidos para la realización de las copias de seguridad deberán


garantizar su reconstrucción en el estado en que se encontraban al tiempo de producirse la
pérdida o destrucción.

Deberán realizarse copias de respaldo al menos semanalmente, salvo que en dicho periodo
no se hubiera producido ninguna actualización de los datos.

Duplicado de Información en Línea (RAID)

RAID ("Redundant Array of Inexpensive Disks") en palabras simples es: un conjunto de 2 o


más "Discos Duros" que operan como grupo y logran ofrecer una forma más avanzada de
respaldo ya que:

Es posible mantener copias en linea ("Redundancy").

Agiliza las operaciones del Sistema (sobre todo en bases de datos)

El sistema es capaz de recuperar información sin intervención de un Administrador.

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.

El sistema de cómputo se encuentra expuesto a muchos riesgos tales como:

 Terrorismo o sabotaje (17,5%)


 Incendios (17,5%)
 Fallo de la red (3,5%)
 Rotula de la conducción (3,5%)
 Errores de hardware (5,3%)
 Inundaciones (7,0%)
 Errores de Software (8,8%)
 Caídas eléctricas (9,5%)
 Terremotos (10,5%)
 Agentes atmosféricos (14,0%)
 Otros (2,9%)

Ley de Murphy:

 Si un archivo puede borrarse , se borrará


 Si dos archivos pueden borrarse, se borrará el mas importante
 Si tenemos una copia de seguridad, no estará lo suficiente actualizada.

"La única solución es tener copias de seguridad, actualizar con frecuencia y esperar que no
deban usarse".

Respaldar la información significa copiar el contenido lógico de nuestro sistema informático


a un medio que cumpla con una serie de exigencias:

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.

3. La forma de recuperación sea rápida y eficiente:

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.

7.2 Clasificación de respaldos

Clasificación de respaldos

Copias de Información (Backups).

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.

Respaldo de Incremento ("Incremental"): Cuando se lleva acabo un Respaldo de


Incremento, sólo aquellos archivos que tengan el archive bit serán respaldados; estos
archivos (o bloques) son los que han sido modificados después de Respaldo Completo.
Además cada Respaldo de Incremento que se lleve acabo también eliminará el archive bit
de estos archivos (o bloques) respaldados.

Respaldo Diferencial ("Differential"): Este respaldo es muy similar al "Respaldo de


Incremento", la diferencia estriba en que el archive bit permanece intacto.

149
Figura No. .Secuencias de respaldo.

151
En caso de fallar el Sistema en Jueves(12):

Será necesario el Respaldo completo del Viernes(6) y


Si se utilizaron Respaldos Diferenciales: Sólo el Respaldo Diferencial del Miércoles(11).

Si se utilizaron Respaldos de Incremento:

Se necesitaran todos los Respaldos de Incremento desde el Sábado(7) hasta el


Miércoles(11)

Claro está que los respaldos completos de cada Viernes pasan a formar parte del
"Archivo" mensual de Información.

7.3 Dispositivos de almacenamiento

Por fortuna hoy existen diversas alternativas para el almacenamiento de información


sensible, tengamos en cuenta que hace tan sólo un par de décadas atrás las opciones eran
un tanto limitadas, y finalmente muchos se volcaban a almacenar datos en unidades ópticas
tales como los tradicionales CDs y DVDs.

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.

En la actualidad podemos optar por almacenar la información en un sistema local, que


perfectamente puede estar constituido por un pequeño disco rígido, o mejor aún en disco
extraíble externo o una plataforma NAS, pero también tenemos la posibilidad de elegir algún
servicio confiable de almacenamiento en la Nube. Las opciones son múltiples, sólo es
importante elegir la correcta para nuestras necesidades.

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.

Básicamente un NAS es una tecnología de almacenamiento de red que nos brinda la


posibilidad de concentrar y almacenar todo tipo de contenidos en un único
dispositivo, para que siempre se encuentren disponibles para quien lo solicite a través de
la red, independientemente del estado de las computadoras que la integran. Esto significa
que no necesitaremos que ninguna de las PC conectadas a la misma estén encendidas para
encontrarnos con el material deseado.

En este contexto, si somos capaces de generar un buen protocolo para el seguimiento y


almacenado de los contenidos que se crean en nuestro trabajo, podremos lograr que
todos los archivos estén siempre disponibles y seguros, por lo que también es una de
las mejores herramientas de backup que podemos hallar en la actualidad.

Un Network-Attached Storage está compuesto por un procesador, uno o más discos


rígidos SATA, normalmente en modo RAID, y también integra un sistema operativo del tipo
Linux para el control de las transacciones y las tareas de red. Este grado de autonomía le
permite ser extremadamente independientes, que como lo comentábamos más arriba nos

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.

A continuación vamos a repasar algunos de los métodos de almacenamiento de la


información, con el fin de poder conocer cuáles son las principales vulnerabilidades que
presenta cada sistema, y en base a ello poder elegir correctamente dónde guardaremos la
información de nuestra empresa o de nuestro hogar.

7.4 Tecnologías: óptica y magnética u otras de almacenamiento

Almacenamiento en la Nube

El llamado almacenamiento en la Nube o almacenamiento online consiste en servicios


brindado por empresas que nos otorgan espacios en servidores externos a los cuales
podemos acceder a través de Internet, y lo cierto es que actualmente el método de
almacenamiento de datos en línea es una de las opciones más seguras.

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

Tecnologías: óptica y magnética

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.

La tecnología magnética para almacenamiento de datos se lleva usando desde hace


decenas de años, tanto en el campo digital como en el analógico. Consiste en la aplicación
de campos magnéticos a ciertos materiales cuyas partículas reaccionan a esa influencia,
generalmente orientándose en unas determinadas posiciones que conservan tras dejar de
aplicarse el campo magnético.

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.

La tecnología óptica de almacenamiento por láser es bastante más reciente. Su primera


aplicación comercial masiva fue el CD de música, que data de comienzos de la década de
1980. Los fundamentos técnicos que se utilizan son relativamente sencillos de entender: un
haz láser va leyendo (o escribiendo) microscópicos agujeros en la superficie de un disco de
material plástico, recubiertos a su vez por una capa transparente para su protección del
polvo.

Figura No. . Ilustración de la estructura y apariencia de un disco magnético.

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.

La principal característica de los dispositivos ópticos es su fiabilidad. No les afectan los


campos magnéticos, apenas les afectan la humedad ni el calor y pueden aguantar golpes
importantes (siempre que su superficie esté protegida). Sus problemas radican en la relativa
dificultad que supone crear dispositivos grabadores a un precio razonable, una velocidad no
tan elevada como la de algunos dispositivos magnéticos y en que precisan un cierto cuidado
frente al polvo y en general cualquier imperfección en su superficie, por lo que es muy
recomendable que dispongan de funda protectora.

154
Almacenamiento en cintas magnéticas

El almacenamiento de datos en cinta magnética consiste en un sistema que permite guardar


información digital precisamente en una cinta magnética, para lo cual utiliza la grabación
digital, y en la actualidad esta cinta puede conseguirse en formato de cartucho o casete.

Figura No. . Ilustración de la apariencia de unidades de cinta magnética.

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.

No obstante, las cintas magnéticas presentan otras vulnerabilidades, principalmente


relacionadas a los posibles daños físicos que pueden sufrir por una mala manipulación, por
lo que deben ser manejadas correctamente.

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.

Figura No. . Ilustración de modelos de servidores para almacenamiento en red.

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.

Almacenamiento en medios extraíbles

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.

En este punto es importante señalar que este tipo de unidades de almacenamiento


presentan grandes vulnerabilidades, incluyendo los mismos problemas que presentan las
unidades ópticas y los discos rígidos.

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

1. ALBERT LPI (LINUX POST INSTALL) (2015)


Administración de Servidores / Sistemas (Sysadmin): Qué es un administrador de
servidores y/o sistemas?
Octubre 13, 2017
Proyecto TIC - TAC
[Link]
un-administrador-de-servidores/

2. Sergio Talens-Oliag (2007)


Administración de sistemas y redes
Octubre 13, 2017
Presentación sobre administración de sistemas y redes
[Link]

3. Yeraldine (2017)
Gestionar usuarios y grupos en Linux
Marzo 2017
[Link]

4. Pedro Ventura (2010)


Administración de usuarios en linux. Crear, borrar y modificar usuarios y grupos
Diciembre 2010
[Link]
modificar-usuarios-y-grupos/

5. Santiago Acurio (2012)


Gestiòn de los recursos del sistema
Marzo 9, 2012
[Link]
e7901b6565b0&v=&b=&from_search=4

6. Jaime Montoya (2017)


Asignación de permisos en Linux
Agosto 6, 2007
[Link]

7. Computer NewAge, Linux Software y Tecnología (2016)


Cómo gestionar usuarios y permisos en Linux. La guía completa.
2016
[Link]

8. Javier Orovengüa, Linux party (2013)


15 Herramientas de la línea de comandos para supervisar el rendimiento de Linux
Mayo 6, 2013
[Link]
comandos-para-supervisar-el-rendimiento-de-linux

9. Departamento de Lenguajes y Computación


Gestión de Memoria
[Link]

158
10. Operating System (2011)
Octubre 31, 2011
Gestión de Memoria Linux Windows
[Link]

11. Eugenio Duarte (2014)


8 Comandos “Free” Para Verificar La Memoria Disponible En Linux
Diciembre 9, 2014
[Link]

12. Zagur, técnico superior en administración de Sistemas 2013)


Cinco comandos para controlar la memoria GNU/Linux
Noviembre 11, 2013
[Link]

13. Eugenio Duarte (2015)


Cinco malos hábitos de los SysAdmin
Septiembre24, de 2015
[Link]

14. Administración del servidor de impresión


Aulas en red aplicaciones y servicios Windows y Linux
[Link]
vidor_de_impresin.html

15. SERVIDORES DE IMPRESIÓN CON Linux – Ubuntu (2012)


Abril 24, 2012
[Link]

16. Rubén Cotera (2017)


Administración Linux I, ¿Por qué la consola?
Octubre 28, 2017
[Link]

17. Servidor de terminales con SSH


Aulas en red Aplicaciones y servicios Linux
Instituto Nacional de Tecnologías Educativs y de Formación del Profesarado
[Link]
s_con_ssh.html

18. Sergio gonzalez


Linux Total (2018)
[Link]

19. Yeraldine
Comandos Linux para gestión de Disco Duro y particiones (2017)
Febrero 8, 2017
[Link]
particiones/

20. Miguel Parada (2017)

159
Cómo comprimir y descomprimir archivos en Linux usando el terminal
Marzo 27, 2017
[Link]
usando-el-terminal/

21. Arup Nanda (2009)


Guía para Maestría Avanzada en Comandos Linux, Parte 4: Administración del
Entorno Linux
Mayo 2009
[Link]

22. Proyecto Structio (2003)


Protocolos de soporte y de usuario
Febrero de 2003
[Link]
[Link]

23. Rafa Morales (2013)


Comandos para monitorizar la red
Octubre 14, 2013
[Link]

24. Rubén Velasco (2013)


Monitores de red desde terminal para Linux
Diciembre 2, 2013
[Link]

25. Alba Ferrer (2012)


Backups 101: ¿Qué debemos tener en cuenta? Políticas, retención, storage,
restauración y herramientas.
Noviembre 28, 2012
[Link]
retencion-storage-restauracion-y-herramientas/

26. [Link] Technology Inc


Recuperación gratuita de Linux en Windows | en Linux
[Link]

27. Proyecto Pingüino


Guía de programas para Linux
[Link]

28. Isaac: Linux Adictos de Actualdiad Gadget (2017)


Instalar programas en Linux
Septiembre 1, 2017
[Link]

29. Gabriela Gonzalez, HIpertextul (2013)


Comandos básicos para la terminal de Linux que todos los usuarios deberían conocer
Noviembre 4, 2013
[Link]

30. Solvetic Sistemas (2017)

160
Diferencia entre Apt y Apt get en Linux (Ubuntu)
Julio 13, 2017
[Link]

31. [Link] Solucione sInformáticas (2014)


apt-get
Abril 5, 2014
[Link]

32. Blog Linux (2012)


Administración Linux: Sistemas de Archivos
Marzo 11, 2012
[Link]

33. Roberto, Software Libre (2013)


Organizacion del sistema de archivos en Linux
Diciembre 28, 2013
[Link]
linux/

34. Amazon web services (2017)


¿Qué es el almacenamiento de archivos en la nube?
2017
[Link]

35. Hillary-Rodrigo, Blogger (2011)


Resguardo de información
Marzo 16, 2011
[Link]

36. Mauricio Peña (2013)


Respaldo de Información
2013
[Link]
[Link]#ixzz56MfjGaHI

37. Informática HOY: Informática y Tecnología para la empresa (2016)


Los riesgos de los sistemas de almacenamiento de información empresarial
2016
[Link]
[Link]

38. Informática HOY: Informática y Tecnología para la empresa (2016)


NAS: què son y en qué nos pueden ayudar
2016
[Link]

161

También podría gustarte