Diseño de Sistemas Operativos

97
Diseño de Sistemas Operativos Introducción a la Administración de Sistemas UNIX

description

Diseño de Sistemas Operativos. Introducción a la Administración de Sistemas UNIX. Introducción Directorios del sistema Gestión de usuarios Arranque del sistema Variantes de shells Discos y sistemas de ficheros Servicios de red. Servicios internos Instalación de nuevo software - PowerPoint PPT Presentation

Transcript of Diseño de Sistemas Operativos

Page 1: Diseño de Sistemas Operativos

Diseño de Sistemas OperativosDiseño de Sistemas Operativos

Introducción a la Administración de Sistemas

UNIX

Page 2: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 2

ÍndiceÍndice

• Introducción• Directorios del

sistema• Gestión de usuarios• Arranque del sistema• Variantes de shells• Discos y sistemas de

ficheros• Servicios de red

• Servicios internos• Instalación de nuevo

software• Terminales gráficos• Interoperabilidad con

otros SSOO• Auditoría del sistema• Seguridad en

sistemas Unix

Page 3: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 3

IntroducciónIntroducción

• Tareas del administrador:– Servicio a los usuarios.– Mantenimiento y actualización del

software.– Auditoria de seguridad y rendimiento

del sistema.– Gestión de recursos.

Page 4: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 4

Herramientas de AdministraciónHerramientas de Administración

Casi todos los sistemas operativos UNIX tienen su propio conjunto de herramientas de administración:

– admintool (Sun Solaris)– control-panel (Linux-RedHat)– smit (IBM AIX).– sysadmsh (XENIX).

Page 5: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 5

Page 6: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 6

Tipos de InstalacionesTipos de Instalaciones

Se pueden dividir las instalaciones en tres diferentes categorías:– Estaciones de trabajo monousuario.– Servidores multiusuario.– Clusters de máquinas.

Page 7: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 7

Conocimientos del AdministradorConocimientos del Administrador

Es recomendable para el administrador el conocimiento de:

– Funcionamiento interno del sistema.– Seguridad y comunicaciones.– Programación (scripts, perl, awk, ...).– Instalación de componentes

hardware.– Otros sistemas operativos.

Page 8: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 8

Árbol de Directorios UNIXÁrbol de Directorios UNIX

• /bin: Ejecutables básicos del SSOO.

• /dev: Ficheros especiales asociados a dispositivos.

• /etc: Configuración del sistema.

• /home: Directorio de cuentas de usuarios.

• /lib: Librerías básicas del sistema.

/ /bin

/dev

/etc

/home

/lib

/mnt

/opt

/proc

/sbin

/tmp

/usr

/var

/lib

/include

/etc

/bin

/local

/man

Page 9: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 9

Árbol de Directorios UNIXÁrbol de Directorios UNIX

• /mnt: Directorio de montaje de ciertos sistemas de ficheros.

• /opt: Aplicaciones adicionales del sistema.

• /proc: Sistema de ficheros virtual para la gestión de recursos.

• /sbin: Ejecutables de administración del SSOO.

/ /bin

/dev

/etc

/home

/lib

/mnt

/opt

/proc

/sbin

/tmp

/usr

/var

/lib

/include

/etc

/bin

/local

/man

Page 10: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 10

Árbol de Directorios UNIXÁrbol de Directorios UNIX

• /tmp: Directorio para ficheros temporales.

• /usr: Aplicaciones adicionales del SSOO.

• /usr/local: Programas locales del sistema.

• /var: Directorio para ficheros de log y colas de trabajos.

/ /bin

/dev

/etc

/home

/lib

/mnt

/opt

/proc

/sbin

/tmp

/usr

/var

/lib

/include

/etc

/bin

/local

/man

Page 11: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 11

Directorio /devDirectorio /dev

Agrupa entradas de tres diferentes tipos:

– Dispositivos de tipo carácter.– Dispositivos de tipo bloque.– Dispositivos virtuales (/dev/zero).

Todos estos dispositivos tienen asociado un minor y un major number.

Page 12: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 12

Directorio /procDirectorio /proc

Se corresponde con un sistema de ficheros virtual (no tiene soporte en disco). Las entradas del directorio son:

– Procesos en ejecución.– Información del sistema.– Mapping de recursos del sistema.

Page 13: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 13

Directorios Dependientes de la Versión de Sistema Operativo

Directorios Dependientes de la Versión de Sistema Operativo

• /boot: Directorio de la imagen del kernel (Linux).• /kernel: Idem (Solaris/SunOS).• /osf_boot: Idem (OSF/1).• /u: Cuentas de usuarios (AIX y otros).• /usr/ucb: Aplicaciones de University of California,

Berkeley (Solaris, OSF/1 y otros).• /devices: Dispositivos asignados por controladoras

(Solaris/SunOS).• /usr/openwin: Sistema de Ventanas Openwin

(SunOS).

Page 14: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 14

Propietarios de los DirectoriosPropietarios de los Directorios

• La mayoría de directorios y ficheros pertenecen al usuario root o a otros usuarios privilegiados del sistema.

• Las excepciones son:– Cuentas de usuario: /home– Ficheros temporales: /tmp– Entradas de las colas de trabajos: /var– Las imágenes de los procesos: /proc

Page 15: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 15

Propietarios de los DirectoriosPropietarios de los Directorios

• Si ciertos usuarios requieren accesos especiales a ciertos ficheros, esto se resuelve haciéndoles pertenecer a grupos privilegiados.– Grupos: disk, printer, adm, ...

Llamadas: chown, chgrp, chmod, chattr, ...

Page 16: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 16

Gestión de UsuariosGestión de Usuarios

Creación de un usuario:– Insertarlo en el fichero de usuarios.– Asignarle un passwd.– Definir parámetros (límites). – Crear el directorio home.– Copiar ficheros iniciales (/etc/skel).– Cambiar el propietario del home.– Dar de alta en mail, quota, ...

Page 17: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 17

Gestión de UsuariosGestión de Usuarios

• Fichero de usuarios: /etc/passwdusuario:passwd:uid:gid:desc:home:shell

• Fichero de grupos: /etc/groupgrupo:<reserved>:gid:usuarios...

• Fichero de Passwords: /etc/shadowusuario:passwd:parámetros...

Gestión de usuarios distribuida: NIS

Page 18: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 18

Login de un UsuarioLogin de un Usuario

Al conectarse un usuario al sistema:– Se evalúa si el modo de conexión

(local o remoto) es válido para dicho usuario (en base al getty).

– Se arranca el programa shell asociado.

– Configuración de la sesión: general (/etc/profile) y de usuario (~/.profile).

Page 19: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 19

Deshabilitar UsuariosDeshabilitar Usuarios

• Para cerrar o deshabilitar una cuenta (sin borrar su contenido):– Bloquear el password de la cuenta

(*).– Cambiar el shell de acceso (mensaje).

#!/bin/tail +2La cuenta se encuentra bloqueada.Hable con el adiministrador

Page 20: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 20

Cambio de UsuarioCambio de Usuario

Para cambiar de usuario al iniciar una sesión se usa el comando su:

–su - usuario: Cambia de usuario y carga su configuración.–su usuario: Sólo cambia de usuario.

Si no se indica el usuario se cambia al usuario root.

Page 21: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 21

Usuarios de SistemaUsuarios de Sistema

• root: Administrador (UID 0).• daemon: Ejecutas procesos de servicio

del sistema (UID 1).• bin: Propietario de ejecutables (UID 2).• sys: Ficheros de sistema (UID 3).• adm: Ciertos log (UID 4).• nobody: Usuario sin privilegios.• ...

Page 22: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 22

Arranque del SistemaArranque del Sistema

• Arranque del kernel.• Montar el sistema de ficheros raíz.• Arranque del proceso init (PID 1).• Montaje del resto de sistemas de

ficheros.• Inicialización de los terminales.• Activación del runlevel (demonios).

Page 23: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 23

Runlevels EstándarRunlevels Estándar

• Runlevel 0: Parada del sistema.• Runlevel 1: Modo mantenimiento.• Runlevel 2: Multiusuario sin red (NFS).• Runlevel 3: Multiusuario.• Runlevel 4: <Reservado>• Runlevel 5: Terminal gráfico.• Runlevel 6: Rearranque del sistema.

Page 24: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 24

Fichero /etc/inittabFichero /etc/inittab

Cada entrada tiene el formato:id:runlevels:action:process args– id: Identificador único.– runlevels: Niveles en los que se

ejecuta.– action: Modo de ejecución.– process args: Proceso a ejecutar.

Page 25: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 25

Tipos de Acciones EstándarTipos de Acciones Estándar

Las acciones habituales son:• wait: Arranca el proceso y espera a su

finalización antes de seguir.• respawn: Arranca el proceso automáticamente

en el caso de que muera.• once: Si no esta arrancado arrancalo (sin

esperar).• boot: Ejecuta sólo en el arranque (sin esperar).• off: Si el proceso está en ejecución mátalo.

Page 26: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 26

Inicialización de Terminales Inicialización de Terminales

initinit

initinit gettygetty loginlogin shsh

shsh lsls

fork

fork

exec exec exec

exec

Login:chemapassword: ******Login:chemapassword: ******

/dev/tty0/dev/tty0

# ls# ls

Page 27: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 27

Modificación del Runlevel en Ejecución

Modificación del Runlevel en Ejecución

Se puede reiniciar el proceso init, (por ejemplo al cambiar la configuración) mandando una señal HUP.

El nivel de ejecución actual se puede cambiar invocando a init con el nuevo runlevel como argumento.

Page 28: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 28

Scripts del SistemaScripts del Sistema

El directorio /etc/init.d/ es el usado para mantener los scripts de arranque de los servicios del sistema.

– Son scripts (/bin/sh) no binarios.– Reciben diferentes argumentos

(start, stop, status, restart, ...).

Page 29: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 29

Scripts del RunlevelScripts del Runlevel

• Directorio de scripts del sistema: /etc/init.d/

/ /etc /init.d

/rc3.d

• Directorio de cada runlevel: /etc/rc3.d/

• Directorio de cada runlevel: /etc/rc3.d/

/network

/S10network

Symboliclink

S10networkstart/stop orden scriptS K

Page 30: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 30

Parada del SistemaParada del Sistema

• Notificación a los usuarios.• Envía una señal a los procesos

para su terminación.• Entrada en modo monousuario

(saca los usuarios y mata al resto de procesos).

• Sincronización de los sistemas de ficheros (sync).

Page 31: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 31

Shells del SistemaShells del Sistema

Existen diversas familias de shells:– Bourne shell (sh/bash).– Korn shell (ksh).– C shell (csh).– TC shell(tcsh).

Con otras funcionalidades:– Restricted shell (r-sh).– Shell remoto (rsh), seguro (ssh).

Page 32: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 32

Configuración del ShellConfiguración del Shell

Existen dos niveles de ficheros de configuración:

– General:•/etc/profile•/etc/bashrc, /etc/cshrc, ...

– De usuario:•~/.profile•~/.bashrc, ~/.cshrc

Page 33: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 33

Otros ServiciosOtros Servicios

Ciertos servicios se filtran basándose en el shell del usuario que lo invoca.

El fichero /etc/shells indica qué ejecutables son shells válidos para el resto de servicios.

Page 34: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 34

Shells de ProgramaciónShells de Programación

• Perl:– Tratamiento de expresiones regulares.– Interfaz con C y Librerías de utilidades.

• AWK:– Procesador de campos.

• Tcl / Tk:– Componentes gráficos (ventanas).

Page 35: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 35

Gestión de Dispositivos de Almacenamiento

Gestión de Dispositivos de Almacenamiento

Las fases de uso de un soporte de almacenamiento son:

– Dar formato al soporte (no siempre necesario).

– Particionamiento (si es aplicable).– Creación del sistema de ficheros.– Utilización del soporte.

Page 36: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 36

Tipos de DispositivosTipos de Dispositivos

UNIX define dos tipos de dispositivos:

– Dispositivos de tipo bloque (discos).– Dispositivos de tipo carácter (cintas).

En ciertos UNIX el mismo dispositivo físico puede ser gestionado en modo bloque y modo carácter.

Page 37: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 37

Particionamiento de DiscosParticionamiento de Discos

El formato de las particiones y características, depende del SO:

– Linux: fdisk, diskdruid.– Solaris/SunOS: format.– AIX: smit.

Page 38: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 38

Creación de un Sistema de FicherosCreación de un Sistema de Ficheros

También depende del SO y del sistema de ficheros que soporte. Opciones:

– Espacio reservado al root.– Número de i-nodos.– Opciones de verificación.

Linux: mkfs

Page 39: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 39

Modelos de Sistemas de FicherosModelos de Sistemas de Ficheros

Existen diferentes modelos de sistemas de ficheros:

– Sistemas de ficheros tradicionales: ext2fs, ufs, minix, ...

– Sistemas de ficheros transaccionales: jfs, afs, ...

Diferentes ventajas en la verificación de integridad (fsck).

Page 40: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 40

EstrategiasEstrategias

Es recomendable la creación de los siguientes SF independientes:

– / (Sistema tamaño justo).– /usr (Aplicaciones tamaño justo).– /home (Cuentas mucho tamaño).– /usr/local - /opt (Mucho tamaño).– /var (Logs bastante tamaño).– swap - /tmp (Depende de la carga).

Page 41: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 41

EstrategiasEstrategias

Se recomienda:– Mantener las cuentas en un disco

diferente del sistema.– Separar los SF de mayor acceso en

diferentes discos (swap y sistema).– Ubicar las particiones de forma que

sea posible redistribuir los discos.– Vigilar el porcentaje de disco libre.

Page 42: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 42

Automatización del Montaje de Sistemas de Ficheros

Automatización del Montaje de Sistemas de Ficheros

Tras montar la partición / el sistema monta el resto de sistemas de ficheros:

– Linux: /etc/fstab– Solaris: /etc/ufstab– AIX: /etc/filesystems– ...

Page 43: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 43

Dispositivos sin Sistema de FicherosDispositivos sin Sistema de Ficheros

Ciertas utilidades pueden usarse para acceso a dispositivos sin uso de sistema de ficheros:

– dd, cpio o tar.

Ejemplo: dd if=data.img of=/dev/fd0

Pueden usarse como utilidades de backup elementales.

Page 44: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 44

Sistemas de BackupSistemas de Backup

Esquemas de backup:– Backups completos: Se copia toda la

información.– Backups incrementales: Sólo los

ficheros modificados se copian.

Habitualmente se combinan los dos esquemas.

Page 45: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 45

Decisiones de BackupDecisiones de Backup

Una estrategia de backup debe incluir:

– Estimación del volumen de datos.– Selección de los ciclos de backup.– Automatización (cliente/servidor).– Verificación del sistema.

Herramientas de backup: Amanda.

Page 46: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 46

Dispositivos RedundantesDispositivos Redundantes

Dispositivos RAID:

sd01

/ /bin

/etc

/usr

/var

sd02 sd03

RAID

/ /bin

/etc

/usr

/var

md1

Page 47: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 47

Tecnología RAIDTecnología RAID

Hay varios modelos de RAID:– Modo lineal: Concatena volúmenes.– RAID 0: Modo alternado de bloques.– RAID 1: Redundancia (Mirroring).– RAID 4: Disco de paridad.– RAID 5: Bloques de paridad.

Discos de reserva: spare disks.Configuración: /etc/raidtab

Page 48: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 48

Cuotas de DiscoCuotas de Disco

Asocia a cada usuario/grupo un limite de espacio en disco.Dos límites:

– Soft limit: Límite informativo.– Hard limit: Espacio máximo

disponible.

Límites aplicables a cada sistema de ficheros. Se verifican en el arranque de la máquina y en cada login.

Page 49: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 49

Configuración de TCP/IPConfiguración de TCP/IP

Configuración del interfaz:– Dispositivo de red (e.g. /dev/le0).– Asignar dirección IP.– Máscara de red.– Dirección Broadcast.– Subred.

Ejemplo:

+

ifconfig eth0 138.100.9.101 netmask 255.255.248.0 up

Page 50: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 50

Configuración de TCP/IPConfiguración de TCP/IP

Encaminamiento IP:– Encaminamiento local.– Encaminamiento dentro de la subred.– Encaminamiento externo (Router).

Ejemplos:route add -host 127.0.0.1 loroute add -net 138.100.8.0 netmask 255.255.248.0 eth0route add default gw 192.168.1.1 eth0route add default ppp0

Page 51: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 51

Configuración de TCP/IPConfiguración de TCP/IP

Configuración dinámica:– Protocolo BOOTP– Protocolo DHCP.

clienteservidor

dhcpd

MAC=0A:12:A1:00:B2:24:AE

IP=138.100.9.201

Page 52: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 52

Configuración de un RouterConfiguración de un Router

Servicio de encaminamiento:– Máquina con dos interfaces de red.– Intercambio de tablas de

encaminamiento entre routers (RIP/OSPF).

– Emisor de ciertos mensajes ICMP.

Demonio: routed, gated

Page 53: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 53

Resolución de NombresResolución de Nombres

Orden de resolución:– /etc/host.conf

Resolución de nombres local:– /etc/hosts

Resolución de nombres remota:– /etc/resolv.conf– Identificador y dominio de la máquina.– Dirección del servidor de nombres.

Page 54: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 54

Configuración de un Servidor de Nombres

Configuración de un Servidor de Nombres

DNS en modo cache:– Resuelve peticiones y almacena los

resultados.– Siempre tiene un DNS superior.

DNS autónomo:– Mantiene una BD propia.– Incluye el anterior.

Demonio: named

Page 55: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 55

Demonios de RedDemonios de Red

Dos modalidades de servicios:– Dependiente del inetd.

– Autónomo (modo standalone).

21

23

80

inetd

in.ftpd

in.telnetd

httpd

Page 56: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 56

Demonio inetdDemonio inetd

Puertos estándar de servicio: /etc/services#nombre puerto/protocolo alias

telnet 23/tcp

time 37/udp timeserver

Programas de servicio: /etc/inetd.conf#servicio socket proto flags usr serv

telnet stream tcp nowait root ....

time dgram udp wait root internal

Page 57: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 57

Servicios RPC de SunServicios RPC de Sun

Servicios de red de SUN:– NFS (Network File

System)– NIS (Network

Information System)

Usan un demonio de enlace: portmapper

nfsd

portmappernfs 1.003nis 1.004

111

function(...)

1

23

Page 58: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 58

Sistemas de Ficheros en RedSistemas de Ficheros en Red

Permite exportar sistemas de ficheros a otras máquinas.•Servidor:

– Asignación de permisos.– /etc/exports o share.

•Cliente:mount -t nfs laurel:/usr/local /opt

Page 59: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 59

Usuarios de Dominio (NIS)Usuarios de Dominio (NIS)

Servicio NIS / NIS+:– Mantiene bases de datos compartidas

por varias máquinas.– Usuarios, grupos y otros ficheros de

configuración.– Organización Cliente/Servidor.

Page 60: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 60

Usuarios de Dominio (NIS)Usuarios de Dominio (NIS)

• Maestro o Servidor NIS:– Define un dominio (domainname).– Iniciar las bases de datos de NIS.– Publicar las bases de datos del

sistema.• Cliente NIS:

– Definir el mismo dominio.– Modificar el mecanismo de búsqueda

de datos en las BD locales/remotas.

Page 61: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 61

Terminales RemotosTerminales Remotos

• Existen tres servicios de terminal remoto:– rsh (remote shell).– rlogin (remote login).– telnet (terminal remoto).

Configuración: – /etc/hosts.equiv – ~/.rhosts

Page 62: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 62

Otros ServiciosOtros Servicios

• Servidor Web:– Apache, NCSA.

• Servidor FTP:– WU-ftp.

• Agente de correo:– Sendmail, Postfix

• Servicios de correo:– IMAP, POP.

Page 63: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 63

Opciones del Protocolo IPOpciones del Protocolo IP

El protocolo IP ofrece:– IP Masquerading: Usar una sola

dirección IP para varias máquinas.– IP Accounting: Estadísticas y análisis

de paquetes.– IP Aliasing: Varias direcciones IP a las

misma tarjeta.– IP Forwarding: Redirección de

paquetes.

Page 64: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 64

Servicios InternosServicios Internos

Otros servicios adicionales UNIX:– Servicio de Impresión (lp).

– Servicio de Programación de Tareas:• Tareas pendientes.• Tareas periódicas.

Page 65: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 65

Servicio de ImpresiónServicio de Impresión

Demonio de Impresión (lpd):– Asociado al dispositivo de impresora.– Gestiona la cola de trabajos.– Preprocesa el documento a imprimir.

lpd

filtro /dev/lp0

/var/spool/lp/...

Page 66: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 66

Filtros de ImpresiónFiltros de Impresión

Pequeños scripts que procesan la entrada (documento) y transmiten su salida a la impresora:

– Filtros texto: retornos de carro y otras opciones de impresión.

– PostScript: Interpretación postscript de la impresora (gs).

Page 67: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 67

Configuración del DemonioConfiguración del Demonio

Fichero: /etc/printcap– Todas las impresoras del sistema.– Impresoras:

• locales.• remotas (otros UNIX o independientes).• compartidas (otros SSOO).

– Ficheros de configuración y filtros.

Page 68: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 68

Programación de TareasProgramación de Tareas

• Demonio atd:– Ejecuta un comando en un instante

determinado.– Informa al usuario (vía mail).

• Demonio crond:– Mantiene una serie de tablas de

tareas habituales: /etc/crontab– Tareas de administración.

Page 69: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 69

Instalación de Nuevo SoftwareInstalación de Nuevo Software

Distribución de Software:– Paquetes de instalación.– Binarios comprimidos.– Código fuente (para dicho SSOO).– Código fuente a portar.

Page 70: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 70

Paquetes de InstalaciónPaquetes de Instalación

El formato de paquete depende del SSOO:

– RedHat y otros linux: RPM.– Solaris: PKG.– AIX: SMIT.– ...

Page 71: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 71

Código BinarioCódigo Binario

Posibles problemas:– Sistemático en la instalación.– Problemas de versiones de librerías y

otros programas, ...– Problemas de seguridad.

Formatos (comprimidos):.tar.gz, .tgz, .tar.Z, .shar o .bz

Page 72: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 72

Código FuenteCódigo Fuente

Posibles problemas:– Configuración de las fuentes: IMake o configure (generan un Makefile).

– Compilador adecuado (C o C++).– Instalación del programa.

$./configure$make$make install

Page 73: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 73

Terminales GráficosTerminales Gráficos

X Window:– Entorno gráfico de los sistemas UNIX.– Arquitectura Cliente/Servidor– Diferentes niveles (librerías) de

desarrollo.– Nuevos problemas de seguridad.

Page 74: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 74

X WindowX Window

Servidor:– Asociado al

terminal gráfico.– Muestra en

pantalla los pixels.

Cliente:– Aplicación con

salida gráfica.– Está asociada a un

servidor.

Servidor X

xterm

xterm

windowmanager

Page 75: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 75

X WindowX Window

Servidor:– Interactúa con el hardware gráfico.– Acepta mensajes X11.

Clientes:– Usan primitivas para dibujar en el

servidor.– Pueden ser aplicaciones remotas.– Gestor de ventanas: window manager

Page 76: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 76

Hardware

Kernel

Desarrollo en X WindowDesarrollo en X Window

• Librerías de alto nivel:– Motif– Qt– ...

• Librerías de bajo nivel:– X11– Xlib

X11

Xlib

Xtoolkit

Motif

Aplicaciones X

Page 77: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 77

XDMXDM

El servicio XDM (X desktop manager):– Proporciona un login gráfico.– Asociado al runlevel 5 (gráfico).– Se rearranca si el servicio cae.– Puede ser accedido desde puestos

remotos.

Page 78: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 78

Interoperabilidad con Microsoft Windows

Interoperabilidad con Microsoft Windows

El protocolo SMB (Session Message Block) lo utilizan los sistemas MSWin para compartir discos e impresoras.

La implementación de este protocolo en UNIX se denomina Samba.

Page 79: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 79

Cliente/Servidor SambaCliente/Servidor Samba

unix windows

C:

printer

/home

printer

<cuentas>

• Gestión de usuarios (cuentas)

• Impresoras compartidas.

• Directorios compartidos.

• Impresoras compartidas.

• Directorios compartidos.

SMB

Page 80: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 80

Servidor SambaServidor Samba

La configuración de un servidor Samba arranca dos demonios:

– smbd: Demonio de SMB.– nmbd : Servicio de nombres NetBIOS.

Configuración: /etc/smb.conf

Page 81: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 81

Cliente SambaCliente Samba

Existen las siguientes herramientas:– smbclient: Conexión a recursos

(modo FTP).– smbsun: Ejecución de programas.– smbprint: Impresión remota.– smbmnt: Permite montar discos

compartidos.

Page 82: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 82

Auditoría del SistemaAuditoría del Sistema

Los directorios /var/log o /var/adm contienen información sobre ciertas operaciones registradas en el sistema:

– Accesos de usuarios.– Mensajes del kernel.– Arranque y parada del sistema.– Errores de ciertos demonios.

Page 83: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 83

Conexiones al SistemaConexiones al Sistema

Ficheros de acceso:– Registra las conexiones.– En algunos casos, tiene formato

binario.– Se consulta por medio del comando last.

Page 84: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 84

Gestión de LogsGestión de Logs

La gestión de los ficheros log comprende:

– Selección de eventos a registrar.– Los ciclos de rotación.– La compresión de los logs.– Verificaciones de integridad.

Page 85: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 85

Carga del SistemaCarga del Sistema

La utilidad uptime proporciona una estimación de la carga del sistema:

Otras utilidades: ps, top, xload, perfmeter, ...

# uptime3:24pm up 6 days, 2:30, 5 users, load average: 0.23, 0.32, 0.26

Page 86: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 86

Memoria del SistemaMemoria del Sistema

Las utilidades como vmstat o sar miden el uso de la memoria del sistema:

– Acceso a swap.– Estado de los procesos.– Memoria usada del sistema.– Porcentaje de CPU usada.

Page 87: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 87

Límites de RecursosLímites de Recursos

• A un usuario se le restringen los límites de recursos a utilizar por medio de la llamada ulimit.– Por lo general los límites generales se

definen en el fichero /etc/profile que todos los usuarios ejecutan.

Page 88: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 88

SeguridadSeguridad

Puntos de interés:– Seguridad Interior: Programas con

permisos.– Seguridad Exterior: Servicios de red.– Detección de Intrusiones: Una vez

que han superado la seguridad.

La mejor defensa es no tener una máquina con instalación estándar.

Page 89: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 89

Seguridad InteriorSeguridad Interior

Programas con permisos de ejecución privilegiada: Bit s.

– Si el programa no se usa: eliminarlo.– Si se usa: instalar la versión más

actualizada.– Restringir los privilegios de ciertos

usuarios (restricted shells).

Page 90: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 90

Seguridad ExteriorSeguridad Exterior

Servicios de red del sistema:– Si no se usa: eliminarlo.– Si se usa: tenerlo actualizado.– Saber quien debe usar cada servicio

(desde dónde se usa).

Page 91: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 91

Filtrado de ConexionesFiltrado de Conexiones

Los TCP wrappers son un paquete de seguridad basado en filtrar conexiones al inetd.Configuración:

– /etc/hosts.allow– /etc/hosts.deny

Page 92: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 92

TCP WrappersTCP Wrappers

# /etc/hosts.deny

ALL: PARANOID # Direciones sospechosas

ALL: ALL # Todos los servicios

# /etc/hosts.allow

telnetd, ftpd: LOCAL, .fi.upm.es

fingerd: ALL: (finger @%h |

mail -s "finger @%h" root)

Page 93: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 93

Salvaguarda de los LogSalvaguarda de los Log

Una intrusión en la máquina intenta borrar sus “huellas”:

– Análisis de los ficheros de log.– Protecciones especiales (append).– Salvaguarda periódica de los log.– Renombrar ficheros de log.

Page 94: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 94

Integridad del SistemaIntegridad del Sistema

La verificación periódica del sistema:– Automatizada (crontab).– Comparar los directorios del sistema.– Chechsums o CRCs de los ficheros.– Fecha/Hora arranque de los servicios.– Puertos de servicio del sistema.

Page 95: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 95

Passwords por la RedPasswords por la Red

La transmisión de passwords por la red puede ser interceptada por medio de sniffers:

– Uso de autorización basada en hosts (~/.rhosts, /etc/host.equiv)

– Transmisiones cifradas (secure shell: ssh).

Page 96: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 96

IP SpooffingIP Spooffing

Otro posible ataque es por medio de suplantar la identidad de otro host:

– Rutas de mensaje extrañas.– Servicios de autenticación:

Certificados, Kerberos, ...

Page 97: Diseño de Sistemas Operativos

Introducción a la Administración de Sistemas Unix 97

Servicios de Red PeligrososServicios de Red Peligrosos

Servicios de red más problemáticos:– Servicio de correo (sendmail).– Servicio FTP (ftp anónimo).– Servicio Web (CGIs).– RPCs (ataques al portmapper).– Protocolos de red: ICMP, SNMP,

ARP,...