administration(sles10) 2[www informatica-practica es mw]
Post on 06-Jun-2015
1.230 Views
Preview:
DESCRIPTION
TRANSCRIPT
1
SuSE Linux
Enterprise Server 10
Administración
Temario
1.- Instalación de SLES 10
2.- Sistemas de ficheros
3.- Seguridad y usuarios
4.- Configuración manual
de la red
5.- Procesos y servicios
6.- Monitorización
7.- Inicio del sistema
8.- Manejo de software
9.- Copias de seguridad
10.- Sistema de
impresión
11.- Acceso remoto
2
TEMA 5
Administración de procesos
y de servicios
Objetivos
Ver y manejar procesos Automatización de tareas
3
Procesos
Linux es un sistema multitarea que permite la ejecución de varios procesos “a la vez”, repartiendo el tiempo de procesador entre ellos.
Un proceso es la instancia de un comando o programa en ejecución .
Cada proceso tiene un identificador PID y un PPID (Proceso padre que creo el proceso).
Se pueden visualizar con ps y top . Un proceso reside en memoria y tiene una
prioridad .
Arbol de Procesos
Los procesos que corren en Linux están organizados en forma de árbol.
Demonio (4)Demonio (2)
Demonio (8) Demonio (7)
Demonio (3)
Login de usuario (10)
Shell Bash (12)
Procesos (13) Procesos (16)Procesos (15)
Init (1)
4
‘foreground’ y ‘background’
Los comandos en una shell pueden ser ejecutados de 2 formas : foreground : no liberan la línea de comandos
hasta que finalizan. background : permiten manejar la linea de
comandos nada más ejecutarlos (se ejecutan segundo plano).
Se consigue añadiendo un '&' tras el comando :
# comando &�Con nohup desligamos el proceso del terminal desde donde es lanzado
# nohup comando &
Comandos bg, fg, jobs y <Ctrl><z> jobs : Visualiza todos los trabajos que han sido lanzados
por la shell y se ejecutan en background asignándoles un número.
<Ctrl><z> : Para un proceso que se esté ejecutando en foreground.
bg : Continua un programa parado en background. fg : Continua un programa parado en foreground o trae a
foreground un programa que se estaba ejecutando en background.NOTA: Los procesos no asignados a un terminal (ej.: los lanzados automáticamente en el momento del arranque) no pueden ser influenciados por estos comandos.
octopus2:~ # cat<Ctrl><Z>[1]+ Stopped catoctopus2:~ # jobs[1]+ Stopped catoctopus2:~ # bg 1[1]+ cat &octopus2:~ # fg 1cat
5
Comando ps (1/3) ps : Process status. Visualiza los procesos de usuario y del sistema. Algunas opciones :
-a : Muestra los procesos de todos los usuarios. -u : Muestra el usuario. -x : Muestra procesos sin un terminal asociado. -l : Salida larga, proporciona más información. -w : No trunca líneas. f : Lista procesos en forma de árbol.
pstree : Muestra los procesos en forma de árbol.[octopus2:~ # ps -auxUSER PID %CPU %MEM VSZ RSS TTY STAT STARTTIME COMMANDroot 1 0.0 0.0 448 232 ? S 08:38 0:05 initroot 2 0.0 0.0 0 0 ? SW 08:38 0:00 [keventd]root 3 0.0 0.0 0 0 ? SW 08:38 0:00 [kapmd]root 4 0.0 0.0 0 0 ? SWN 08:38 0:00 [ksoftirqd_CPU0]root 5 0.0 0.0 0 0 ? SW 08:38 0:00 [kswapd]root 8 0.0 0.0 0 0 ? SW 08:38 0:00 [kinoded]root 9 0.0 0.0 0 0 ? SW 08:38 0:00 [mdrecoveryd]root 12 0.0 0.0 0 0 ? SW 08:38 0:00 [kreiserfsd]root 69 0.0 0.0 0 0 ? SW< 08:38 0:00 [lvm-mpd]root 384 0.0 0.2 1356 608 ? S 08:39 0:00 /sbin/syslogd -aroot 387 0.0 0.5 2276 1444 ? S 08:39 0:00 /sbin/klogd -c 1root 423 0.0 0.0 0 0 ? SW 08:39 0:00 [khubd]bin 485 0.0 0.1 1304 488 ? S 08:39 0:00 /sbin/portmap
Comando ps (2/3)
octopus2:~ # ps -axl
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
0 0 1 0 15 0 448 232 schedu S ? 0:05 init
0 0 2 1 15 0 0 0 contex SW ? 0:00 [keventd]
0 0 3 1 15 0 0 0 schedu SW ? 0 :00 [kapmd]
0 0 4 1 34 19 0 0 ksofti SWN ? 0 :0 [ksoftirqd_CP
0 0 5 1 25 0 0 0 kswapd SW ? 0:00 [k swapd]
0 0 9 1 25 0 0 0 md_thr SW ? 0:00 [mdrecoveryd]
0 0 12 1 15 0 0 0 schedu SW ? 0:00 [kreiserfsd]
0 0 69 1 0 -20 0 0 down_i SW< ? 0:00 [lvm-mpd]
0 0 384 1 15 0 1356 608 schedu S ? 0:00 /sbin/syslogd
0 0 387 1 15 0 2276 1444 syslog S ? 0:00 /sbin/klogd -
0 0 423 1 16 0 0 0 ? SW ? 0:00 [khubd
6
Comando ps (3/3)
Algunos de los campos de información dados por ps : UID : Identificador de usuario. PID: Identificador de proceso. PPID: identificador del proceso padre. TTY: Terminal asignado (? si no tiene). PRI: Prioridad. NI: (nice) número que influye en el ajuste dinámico de la prioridad. SIZE: memoria utilizada por el proceso. STAT: status del proceso. Algunas posibilidades :
R: Runnable. El proceso se está ejecutando. S: Sleeping. Esperando por un evento externo. D: Uninterruptable sleep. Similar a S, pero el proceso no puede ser
terminado. T: Stopped. El proceso está parado. Z: Zombi. El proceso ha terminado pero no ha podido ser
eliminado. TIME: Tiempo de proceso utilizado. COMMAND: nombre del comando.
Prioridades La prioridad de un proceso es un número entre 0 (la
más alta ) y 39 (la más baja ), esto determinará la cantidad de tiempo de CPU que recibirá el proceso.
Con top ó ps axl podemos ver estos valores. Los procesos se ejecutan con una prioridad por
defecto que depende del sistema (15 en general). La prioridad de un proceso es variada
dinámicamente por el sistema basándose en diversos parámetros (ej.: cuánto tiempo de proceso ya han consumido, su status actual ...) que intentan garantizar la estabilidad del sistema .
A través del los comandos nice y renice podemos “influir” en la prioridad con la que se ejecuta un proceso. El valor final, no obstante, será calculado por el sistema.
7
Comandos nice y renice
Prioridad
0 max.
39 min.
15 defecto nice/renice
-20 max.
19 min.
0 defecto
nice : permite lanzar un comando o programa alterando la prioridad con la que se ejecutará. Ej:
#nice --15 vi ---> -15
#nice -15 vi ---> +15 renice : Permite modificar la prioridad de un proceso que ya está siendo ejecutado :
#renice -10 -p 12455 ---> -10 Sólo root puede dar valores negativos a nice/renice => aumentar la prioridad.
Comando top Visualiza en tiempo real los procesos. Algunas ordenes que admite :
r (renice) : Asigna un nuevo valor nice a un proceso. k (kill) : Manda una señal de terminación a un proceso. N,P,M : Ordena procesos de acuerdo PID, CPU utilizada o memoria
(residente) consumida. R: orden inverso. F : Para ordenar por cualquier campo. f : Para añadir más campos. q: Salir.
8
Comando kill
A un programa en ejecución se le pueden mandar señales. La sintaxis es kill - señal PID , Ej :
#kill -SIGTERM 12484 kill por defecto manda una señal de finalización
(SIGTERM 15). También podemos especificar el número correspondiente
en lugar del nombre de la señal. kill –l muestra todas las posibles señales. Algunas señales:
SIGHUP (1): Rearranca el proceso. SIGINT (2): Interrupción desde teclado <Ctrl><c> SIGKILL (9) : Finaliza el proceso inmediatamente. SIGTERM (15): Termina el proceso de forma controlada. SIGCONT (18): Continúa un proceso parado por STOP. STOP (19) : Para un proceso <Ctrl><z>
Comando killall
Mata un programa indicando el nombre del proceso.
La sintaxis es killall proceso , Ej : # killall xeyes
9
Utilidad gnome-system-monitor Para monitorizar los procesos y la carga del sistema mediante una aplicación gráfica
Ordenador -> Más aplicaciones -> gnome-system-monitor
Daemons
Disk And Execution Monitor. Son procesos que se ejecutan en
background => Independientes del terminal (? en la columna TTY de un ps x )
Normalmente se arrancan a la vez que el sistema haciendo disponibles diferentes servicios.
Otras veces son arrancados por un Super-daemon como el inetd o xinetd .
Algunos son reconocibles como tales por que su nombre termina en d (syslogd , httpd ).
10
Control de daemons Los demonios, normalmente, pueden ser controlados a
través de su script correspondientes bajo : /etc/init.d/
Suelen soportar una serie de parámetros estánda r a la hora de invocarlos : start, stop, restart, reload, status.. .
A menudo sus ficheros de configuración residen bajo : /etc/
Ej.;/etc/init.d/cron, /etc/crontab
/etc/init.d/httpd, /etc/httpd/httpd.conf
/etc/init.d/syslog/, /etc/syslog.conf
Podemos dividirlos en 2 tipos: Signal-controlled daemons: Tienden a estar siempre activos(ej.:cupsd )
Interval-controlled daemon: Activo a ciertos intervalos ( ej.:cron o atd )
Práctica
Ejercicio 5-1: Manejo de procesos Linux (pag 5-2 del manual de prácticas)
11
Objetivos
Ver y manejar procesos Automatización de tareas
Automatización de tareas
cron : tareas periódicas. at : tareas puntuales.
12
cron
Los trabajos realizados periódicamente por el sistema son realizados por el servicio cron .
Se ejecuta como un demonio y comprueba cada minuto si hay algo definido para ese momento.
Existen 2 tipos de crons : De usuario. De sistema.
Crons de usuario
Pueden ser creados por cualquier usuario, que no este deshabilitado para ello, con el comando crontab -e .
Este guión se almacena en /var/spool/cron/tabs/ con permisos para root.
Otras opciones para trabajar con el comando son : crontab -l : lista el contenido del guión del usuario
que lo ejecute ( añadiendo -u user , root puede ver el de cualquier usuario ).
crontab -r : borrar el guión existente del usuario que lo ejecute.
El guión tiene líneas con el siguiente formato :minutos(0-59) horas(0-23) Día_del_mes(1-31) mes(1-1 2) día_sem(0-7)* comando_a_ejecutar* = 0 y 7
=domingo
13
Permisos Se definen los usuarios que no pueden
tener crons en : /var/spool/cron/deny (existe por
defecto) El resto podrán tenerlos a no ser que
exista un fichero : /var/spool/cron/allow En cuyo caso sólo los usuarios que figuren
aquí podrán hacerlo. Si ninguno de estos ficheros existe, sólo
root puede introducir trabajos.
Crons del sistema
Vienen con la distribución o son añadidos por root . Se pueden agregar con siguiente formato.1. Introduciendo una línea en el fichero /etc/crontab con
formato : minutos(0-59) horas(0-23) Día_del_mes(1-31) mes(1-12) día_sem(0-7) user comando_a_ejecutar
2. Poniendo ficheros con el formato anterior bajo /etc/cron.d/
3. Poniendo el script o comando directamente bajo alguno de los directorios :
/etc/cron.daily /etc/cron.hourly /etc/cron.monthly/etc/cron.weekly Con lo cual no es necesario ningún guión con el formato
crontab . Si se apaga el sistema, al reiniciarlo se ejecutarán las
tareas pendientes en estos 4 directorios.
14
/etc/crontab
SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bi n
MAILTO=root
#
# check scripts in cron.hourly, cron.daily, cron.we ekly, and cron.monthly
#
-*/15 * * * * root test -x /usr/lib/cron/run-cro ns && /usr/lib/cron/run-crons >/dev/null 2>&1
59 * * * * root rm -f /var/spool/cron/lastrun /cron.hourly
14 0 * * * root rm -f /var/spool/cron/lastrun /cron.daily
29 0 * * 6 root rm -f /var/spool/cron/lastrun /cron.weekly
44 0 1 * * root rm -f /var/spool/cron/lastrun /cron.monthly
at
Permite lanzar trabajos a una hora determinada para que se ejecuten una sola vez.
El servicio atd debe estar arrancado. Controla los permisos de ejecución con
la pareja de ficheros. /etc/at.deny (existe por defecto). /etc/at.allow
15
Introducción de trabajos con at Los comandos son introducidos linea por línea ejecutando at hora
# at 03:50
warning: commands will be executed using /bin/sh
at> /tmp/trabajo1
at> /tmp/trabajo2
at> <EOT>
job 1 at 2004-10-14 03:50
También : hora : now + N (minutes, houres, days, weeks). La ordenes a ejecutar pueden ser pasadas como un script por la
entrada estándar.# at now + 1 minute < /var/tmp/hola
warning: commands will be executed using /bin/sh
job 2 at 2004-10-14 09:48
atq : muestra los trabajos definidos actualmente.
atrm : permite borrar trabajo(por su número).
Práctica
Ejercicio 5-2: Programación de tareas con cron y at (pag 5-6 del manual de prácticas)
16
TEMA 6
Monitorización
Objetivos
Monitorizar un SLES 10 Utilización de los servicios de log Monitorización del acceso al sistema
17
Monitorizar un SLES 10
Vamos a ver las herramientas necesarias para responder a preguntas como: ¿Arrancó el sistema normalmente? ¿Cuál es la versión del kernel? ¿Qué servicios se están ejecutando? ¿Cuál es la carga del sistema?
Información sobre el arranque Los mensajes del sistema originados por el kernel y sus
módulos durante el arranque pueden dar pistas que permitan resolver problemas . Estos mensajes se mantienen dentro de un buffer circular que puede ser visto con el comando dmesg
Esta información junto a la salida los scripts ejecutados durante el arranque se almacenan en el fichero /var/log/boot.msg y pueden ser visualizados a través de YaST -> Miscelanea -> Ver el log de arranque
18
Información sobre el hardware: /proc/ El directorio /proc te permite, entre muchas otras cosas,
ver información del hardware instalado. Este directorio esta almacenado en el espacio de memoria RAM reservado para el kernel.
Algunos de los ficheros disponibles son : /proc/cpuinfo : información del procesador. /proc/interrupts : IRQ's asignadas. /proc/dma : canales DMA utilizados. /proc/bus/pci/devices : dispositivos PCI. /proc/scsi/scsi : dispositivos SCSI. /proc/bus/usb/devices : dispositivos USB.
Información sobre el hardware: comandos (1/3)
hwinfo : informacion detallada del hardware del sistema hwinfo --short para obtener un resumen
hdparm : permite visualizar y modificar parámetros del disco duro.(no funciona con discos SCSI o SATA) hdparm -I /dev/hda : Muestra información proporcionada por el disco duro (sólo ATA/IDE)
hdparm /dev/hda :lista los el valor actual de los parámetros modificables
fdisk : particionador de discos. fdisk -l /dev/hda : Muestra la tabla de particiones actual
19
Información sobre el hardware: comandos (2/3)
iostat : Muestra estadísticas sobre le uso de la CPU y de las transferencias de entrada/salida con los dispositivos. El paquete sysstat debe estar instalado.
iostat -c : Sólo información de la CPU
iostat -d : Sólo información de los dispositivos
iostat N : Da información a intervalos de N segundos. El primer informe es la media desde el arranque del sistema
En cuanto a los informes de consumo de CPU: %user : Procesos ejecutados a nivel de usuario
%nice : Procesos ejecutados a nivel de usuario con prioridad nice
%system : Procesos a nivel de sistema (kernel)
%iowait : Tiempo de espera de la CPU por operaciones de entrada/salida
%steal : Espara debida a que el hypervisor está atendiendo otro procesador virtual
%idle : Tiempo durante el cual la CPU está ociosa (tampoco esperando por E/S)
Información sobre el hardware: comandos (3/3)
lspci , lsusb , lsscsi : muestra información sobre los buses pci, USB y SCSI.
siga : System Information GAthering. Herramienta de SuSE que muestra información detallada del sistema. Por defecto invoca al navegador en texto w3m para mostrar el informe.
sitar : System InformaTion At Runtime. Muestra información del sistema utilizando Perl y leyendo el directorio /proc . Por defecto muestra su salida en varios formatos bajo un directorio en /tmp
20
Información sobre procesos y sistema
uname : Nos muestra la versión del Kernel , el nombre de la máquina , el microprocesador para el que el kernel fue creado, la fecha del kernel, arquitectura , ...
# uname -a
Linux mabsLinux 2.6.11.4-20a-default #1 Wed Mar 23 21:52:37 UTC 2005 i686 i686 i386 GNU/Linux
uptime : Da información sobre : Tiempo que lleva arrancado Número de usuarios Carga del sistema : media de procesos esperando en
la cola en un momento determinado (últimos 1, 5 y 15 minutos)
# uptime
10:58AM funcionando 3 days 21:53, 3 users, carga promedio: 0,01, 0,03, 0,00
Información sobre procesos y sistema
netstat : Nos permite ver el estado de las conexiones, rutas e interfaces en un host.
Parámetros : n : Suprime la traducción de nombres. t : Sólo muestra conexiones TCP. u : Sólo muestra conexiones UDP. p : Muestra el pid/nombre del programa que ha abierto la conexión. a : Muestra todos los sockes, también los que no tienen conexiones
activas e: Amplia la información r : Muestra la tabla de rutas.# netstat -natpActive Internet connections (servers and establishe d)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0 :* LISTEN 4316/portmap
tcp 0 0 0.0.0.0:631 0.0.0.0 :* LISTEN 5091/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0 :* LISTEN 5223/master
tcp 0 0 127.0.0.1:1054 127.0.0 .1:427 TIME_WAIT -
tcp 0 0 :::22 :::* LISTEN 4596/sshd
...
21
Información sobre procesos y sistema
xosview muestra el estado de varios parámetros del sistema (Utilización de CPU, carga media, utilización de memoria, utilización de swap, utilización de red, interrupciones)
Para lanzarlo ejecutar en un terminal del entorno gráfico xosview
Monitorización del espacio en disco El Monitor de Sistema Gnome proporciona a través de su pestaña Dispositivos información similar a la que nos proporciona el comando df y du
Ordenador -> Más aplicaciones -> Sistema -> Monitor del sistema Gnome
22
Práctica
Ejercicio 6-1: Recolección de información sobre SLES 10 (pag 6-2 del manual de prácticas)
Objetivos
Monitorizar un SLES 10 Utilización de los servicios de log Monitorización del acceso al sistema
23
syslog-ng New Generation Syslog Es un daemon utilizado por muchos servicios para registrar eventos. De esta forma el loggin de todos ellos puede ser configurado de forma centralizada
A diferecia de versiones pasadas de syslogd, syslog-ng permite filtrar mensajes en función del contenido de los mismos (no sólo por el servicio que lo generó y su prioridad)
Sus ficheros de configuración principales son: /etc/sysconfig/syslog /etc/syslog-ng/syslog-ng.conf.in /etc/syslog-ng/syslog-ng.conf
/etc/sysconfig/syslog
Contiene parámetros generales que pueden ser válidos tanto para syslog-ng como syslogd (caso de que se emplease)
Entre otra cosas contiene: Parámetros que se pasan durante el arranque al servicio
Si se genera automáticamente el fichero /etc/syslog-ng/syslog-ng.conf a partir de /etc/syslog-ng/syslog-ng.conf.in
24
/etc/syslog-ng/syslog-ng.conf.in
Si está habilitado, SuSEconfig genera el fichero /etc/syslog-in/syslog-in.conf a partir de el.
Tiene la misma sintaxis que /etc/syslog-in/syslog-in.conf
Si se introducen cambios manuales deberán ser siempre en este fichero para que no sean machacados.
Después de introducir los cambios ejecutamos:SuSEconfig --module syslog-ng
/etc/syslog-ng/syslog-ng.conf:Facilities Hace referencia al subsistema que genera el mensaje
Categorías disponibles para el usuario.local0-local7
Sistema UUCP.uucp
Mensajes a nivel de usuario. Utilizado por login por ejemplo.user
Mensajes internos del propio syslog.syslog
Sistema de news.news
Sistema de correo.mail
demonio de impresión.lpr
Todos los mensajes del kernel.kern
demonios del sistema que no tienen su propia categoría.
daemon
cron y at.cron
Utilizado por PAM (Pluggable Authentication Modules).authpriv
Utilizado por ssh entre otros.auth
25
/etc/syslog-ng/syslog-ng.conf:Priorities La prioridad da detalles sobre la urgencia del mensaje
genera la mayor cantidad de log. Debería ser utilizada con cuidado.debug
Mensajes puramente informativos.info
Mensajes que describen estados normales del sistema que deben ser tenidos en cuenta.notice
Mensajes que muestran desviaciones sobre el comportamiento normal.warning
Error.err
Condición crítica para el program que lo muestra.crit
El administrador del sistema es requerido inmediatamente.alert
El sistema no es usable (es demasiado tarde).emerg
/etc/syslog-ng/syslog-ng.conf.in: fileter, destination, log
...
filter f_local4debug { level(debug) and facility(lo cal4); };
filter f_local4info { level(info) and facility(loca l4); };
filter f_local4 {facility(local4) and match (“ERROR :”); };
destination local4debug { file("/var/log/local4.deb ug"); };
destination local4info { file("/var/log/local4.info "); };
destination local4 { file("/var/log/local4"); };
log { source(src) ; filter(f_local4debug) ; destination (local4debug); } ;
log { source(src) ; filter(f_local4info) ; destination (local4info) ; };
log { source(src) ; filter(f_local4 ); destination (local4) ; };
...
26
/etc/syslog-ng/syslog-ng.conf.in: src
fsource src {
#
# include internal syslog-ng messages
# note: the internal() soure is required!
#
internal();
# the following line will be replaced by th e
# socket list generated by SuSEconfig using
# variables from /etc/sysconfig/syslog:
#
unix-dgram("/dev/log");
#
# uncomment to process log messages from ne twork:
#
#udp(ip("0.0.0.0") port(514));
};
Ficheros de log importantes (1/2)
/var/log/messages Es el log principal del sistema y donde se debería acudir a ver cuando algo no funcione correctamente (tail -f /var/log/messages )
/var/log/audit/audit.log Log de AppArmor
/var/log/cups/ Directorio que almacena los logs del sistema de impresión
/var/log/YaST2/ Log para YaST
/var/log/boot.msg Mensajes producidos durante el arranque
27
Ficheros de log importantes (2/2) /var/log/mail
Mensajes producidos por el servicios de correo Debido a la cantidad de mensajes que se pueden originar estos se suelen dividir en los siguiente ficheros: / var/log/mail.err, /var/log/mail.inf , /var/log/mail.warn
/var/log/wtmp Fichero binario que contiene información de quien se ha logeado en el sistema, desde donde y durante cuanto tiempo. Su información puede ser consultada con el comando last
/var/log/lastlog Fichero binario que contiene información sobre cuando fue la última vez que se logearon los usuarios del sistema Puede ser consultado con lastlog
Rotación de logs Es importante asegurar que los logs no alcanzan tamaños
mayores de lo que podemos almacenar. Por esta razón el tamaño y edad de cada log puede ser
monitorizado automáticamente por el programa /usr/sbin/logrotate .
logrotate es ejecutado diariamente por el cron (/etc/cron.daily/logrotate ).
El programa comprueba los ficheros configurados en /etc/logrotate.conf .
Cada fichero puede tener aquí sus propios parámetros que indiquen, por ejemplo : Que el log debe ser comprimido o borrado a intervalos
regulares o cuando determinados tamaños son alcanzados.
Cuantas versiones de los ficheros comprimidos se deben conservar durante cuanto tiempo.
28
/etc/logrotate.conf : Parámetros generales# Ejemplo de fichero. Mantiene parámetros globales o por defecto así como# definiciones exclusivas para alguna ficheros# see "man logrotate" for details# Los logs son rotados o reemplazados una vez por semanaweekly # Se conservan 4 versiones (=>4 semanas) de los ficheros viejosrotate 4# En ese caso el fichero antiguo es salvado con otro nombre creándose uno nuevo vacíocreate# La opción de compresión está desactivada#compress# Descomentar para comprimir con bzip2#compresscmd /usr/bin/bzip2#uncompresscmd /usr/bin/bunzip2# Los paquetes RPM pueden dejar aquí info. especifica de sobre sus necesidadesinclude /etc/logrotate.d# Opción para rotación log para last or wtmp#/var/log/wtmp {# monthly# create 0664 root utmp# rotate 1#}# Otros log específicos de sistema se podrían incluir aquí
/etc/logrotate.d/syslog# Ejemplo de fichero con parámetros específicos
/var/log/mail /var/log/warn /var/log/messages /var/ log/allmessages /var/log/localmessages /var/log/firewall {
compress
dateext # Para renombrar el fichero utiliza una fecha en lugar de un simple número
maxage 365 # log log rotados se borran en 365 días
rotate 99 # 99 versiones
missingok # Si el fichero no existe no da error
notifempty # si está vacío no se rota
size +4096k
create 644 root root # Permisos para los nuevos ficheros
sharedscripts
postrotate # ejecución de script post rotación
/etc/init.d/syslog reload
endscript
}
}
29
Práctica
Ejercicio 6-2: Manejo de los logs del sistema (pag 6-4 del manual de prácticas)
Objetivos
Monitorizar un SLES 10 Utilización de los servicios de log Monitorización del acceso al sistema
30
who
Los siguientes comandos nos ayudan a detectar actividades sospechosas en nuestro sistema
who Muestra que usuarios hay logeados actualmente en el sistema, indicando su hora de conexión y desde donde lo hacen - H: añade cabeceras
-r : da el nivel de ejecución actual
-a : Muestra toda la información# who -H
NOMBRE LÍNEA TIEMPO COMENTARIO
root :0 2007-04-19 07:51
root pts/0 2007-04-19 08:12 (192.168.3.1 39)
root pts/1 2007-04-19 08:49 (192.168.3.1 39)
geeko pts/2 2007-04-19 10:09 (dhcp15.afin a.es)
w
Muestra usuarios actualmente logeados y carga del sistema
# w
10:21:57 up 2:32, 4 users, load average: 0,00, 0 ,00, 0,00
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
root :0 07:51 ?xdm? 1:34 2.44s /opt /gnome/bin/gnome-session
root pts/0 08:12 1:17m 0.65s 0.65s -bas h
root pts/1 08:49 0.00s 0.48s 0.03s w
geeko pts/2 10:09 12:19 0.23s 0.23s -bas h
LOGIN@: Tiempo que lleva durando el login
IDLE : Tiempo que la sesión lleva sin tener actividad
JCPU: Tiempo que han utilizado todos los procesos asignados al terminal (no incluye trabajos en background ya pasados)
PCPU:Tiempo utilizado por el proceso nombra en el campo WHAT
31
finger
Muestra información sobre los usuarios locales: Login, nombre completo, terminal, tiempo sin actividad, tiempo logeado, desde donde
-l : Listado largo# finger
Login Name Tty Idle Login Time Where
geeko geeko pts/2 29 Thu 10:09 dhcp15.afina.es
root root *:0 - Thu 07:51
root root pts/0 1:34 Thu 08:12 192.168.3.139
root root pts/1 - Thu 08:49 192.168.3.139
last
Muestra la información en /var/log/wtmp con todos los logins realizados en el sistema así como los reinicios del mismo
Se puede especificar un nombre de usuario o terminal para restringir la información
# last
root pts/0 192.168.3.139 Thu Apr 19 0 8:12 still logged in
root :0 Thu Apr 19 0 7:51 still logged in
reboot system boot 2.6.16.21-0.8-de Thu Apr 19 0 5:59 (04:50)
root pts/0 192.168.3.139 Wed Apr 18 0 5:06 - 05:06 (00:00)
geeko :0 Wed Apr 18 0 5:02 - down (10:27)
...
32
lastlog
Muestra la información en /var/log/lastlog con el último login realizado por cada usuario del sistema
-u login : Para limitar la información a un sólo usuario
# lastlog
Nombre Puerto Último
at **Nunca ha entrado **
bin **Nunca ha entrado **
...
root pts/1 jue abr 19 08:49:5 8 +0200 2007
...
geeko pts/2 jue abr 19 10:09:3 8 +0200 2007
faillog
Muestra la información en /var/log/faillog con los logins fallidos realizado por cada usuario (cuando se produce un éxito el contador se reinicia)
-u login : Para limitar la información a un sólo usuario
-m N : Establece un número de N intentos fallidos antes de bloquear la cuenta
Para su funcionamiento debemos configurar el uso del módulo pam_tally.so en cada fichero de configuración PAM de las aplicaciones que lo vayan a utilzar (bajo /etc/pam.d/ ): login , xdm, gdm ...
33
TEMA 7
Inicio del sistema
Objetivos
Proceso de arranque. GRUB. Manejo de niveles de ejecución
34
La BIOS y el MBR1. El procesador busca al final de la memoria del sistema , el programa contenido en la BIOS y lo ejecuta. La BIOS no solo controla el primer paso del proceso de arranque sino que también proporciona el interfaz de más bajo nivel con los periféricos . Por esta razón reside en una memoria de sólo lectura siempre disponible.
2. La BIOS procede a comprobar el sistema , buscando entre los dispositivos uno con un sistema de arranque . Una vez encontrado, carga cualquier programa que se encuentre en el pri mer sector del disco (Master Boot Record (MBR)) en memoria. El MBR tiene sólo 512 bytes y contiene, junto con la tabla de particiones, las instrucciones de código máquina necesarias para seguir el arranque. La BIOS, entonces, cede el control a este programa, que representa el primer paso de GRUB o LILO (gestores de arranque).
El gestor de arranque
3. El paso 1 o MBR localiza el paso 2 del gestor de arranque (GRUB o LILO) y carga su primera parte en memoria.4. Una vez cargado el paso 2 , éste muestra un menú gráfico con las opciones disponibles por el usuario.5. Tras seleccionar la opción (ejecutada por defecto o por el usuario), se localiza a través de ésta el kernel ( normalmente bajo el directorio /boot ).
35
Initrd y kernel6. (Opcional) Si el kernel necesita cargar módulos adicionales para poder acceder a hardware involucrado en el arranque , se lanza la generación de un disco imagen en memoria RAM, denominado initrd (formato initramfs).
7. El filesystem root es montado y el gestor de arranque pasa el control al kernel, para que continue el proceso de arranque. En la llamada al kernel se le pueden pasar parámetros que determinarán su comportamiento y el de otros programas invocados por él (ej.: init ).
init
8. Con el acceso al filesystem root habilitado, el kernel ejecuta un script llamado init dentro del filesystem initrd. Este script se encarga de localizar y lanzar, desde la partición root recien montada, el primer programa (PID=1) /sbin/init .
/sbin/init controlará el resto del proceso de arranque y, cuando ocurra, la parada del sistema.
36
Diagrama de arranque
BIOS Boot Manager (GRUB)
kernel
init(antes linuxrc)
Initrd(initramfs)
modulesInitrd(initramfs)
Initrd(initramfs)
/sbin/initSI no existe initrd, los drivers para montar el
sistema de ficheros raiz estan dentro del kernel.
Se carga en memoria
Se carga en memoria
Si existe initrd, continua la carga por
el.
Se cargan los módulosSe ejecuta...
Se descarga de memoria
Generación de initrd
El initrd es creado con los módulos necesarios para acceder al file system.
Estos módulos se determinan por la directiva INITRD_MODULES dentro del fichero /etc/sysconfig/kernel
Si fuese necesario el comando mkinitrd permite generar un nuevo initrd
37
proceso init
El kernel después de cargarse ejecuta el programa ‘init’ y su PID será el 1.
USER PID TTY STAT TIME COMMAND
root 1 ? S 0:02 init [5]
Todos los procesos son hijos, nietos ... de init. Controla también la parada del sistema. La señal 9 (SIGKILL ) no tiene efecto sobre él. El fichero de configuración del proceso init es :
/etc/inittab init alcanzará el nivel de ejecución indicado en este
fichero, arrancando todos los procesos y servicios que sea necesario para ello.
Objetivos
Proceso de arranque. GRUB. Manejo de niveles de ejecución
38
GRUB
GRand Unified Bootloader. Es el gestor de inicio más popular hoy en día. Tiene características más avanzadas que LILO :
Interfaz de comandos interactivo (no sólo un comando con argumentos).
Puede acceder directamente al disco duro, del cual carga su menú de un fichero de texto fácilmente editable.
Su fichero de configuración es :/etc/grub.conf
/boot/grub/menu.lst
gfxmenu (hd0,0)/boot/message # Gráfico splash inicial
color white/blue black/light-gray # Colores para menú de selección
default 0 #Entrada que se utilizará por defecto
timeout 8 #Tiempo de espera antes de utilizar la entrada por defecto
title linux #Título de la entrada ( lo que se ve en el menú) kernel (hd0,0)/boot/vmlinuz root=/dev/hda1 hdd= ide-scsi vga=788
# Localización del kernel más algunos parámetros initrd (hd0,0)/boot/initrd
# Localización del programa iniciador del Ram Disktitle windows
root (hd1,0)
makeactive
chainloader +1
title floppy
root (fd0)
chainloader +1
title failsafe
kernel (hd0,0)/boot/vmlinuz.shipped root=/dev/hda1 ide=nodma apm=off acpi=off vga=normal nosmp disableapic maxcpus=0 3
initrd (hd0,0)/boot/initrd.shipped
39
Nomenclatura GRUB de discos y particiones GRUB designa los discos duros y particiones de distinta
manera que el sistema. (hdD,P)
D= Disco, a partir de 0 (arranque), según se vayan detectando.
P= Partición, a partir de 0. (0...3)=primarias o extendida, (4=>) lógicas.
Ej.: (hd 0) : primer disco del sistema (arranque)=> hda o sda , no
importa. (hd1) : Segundo disco detectado. (hd0,0):Primera partición del primer disco. (hd3,1):Segunda partición del cuarto disco. (hd0,4):Primera partición lógica del primer disco. (hd1,6): tercera partición lógica del segundo disco.
La shell de GRUB
Cuando el sistema no se puede iniciar debido a un error en el gestor de arranque, podemos usar la shell que incorpora GRUB para intentar arrancarlo manualmente.
Podemos acceder a esta shell: Durante la ejecución del sistema # grub
GRUB version 0.92 (640K lower / 3072K upper memor y)
[ Minimal BASH-like line editing is supported. Fo r the first word, TAB
lists possible command completions. Anywhere el se TAB lists the possible
completions of a device/filename. ]
grub> find /boot/vmlinuz
(hd0,1)
Durante el arranque En el menú gráfico de arranque pulsar <esc> y pulsar <c>
40
Configurción de GRUB a través de YaST (1/2)
YaST->
Sistema-> Configuración del cargador de arranque
Configurción de GRUB a través de YaST (2/2)
41
Es posible realizar operaciones de rescate pasándole al gestor de arranque un mensaje que varíe el primer programa que el kernel cargará
Ej.: init=/bin/bash en el campo de comandos del gestor de arranque GRUB arranca un sistema mínimo con una shell bash
El sistema de ficheros / se encontrará montado en sólo lectura, para solucionarlo podemos ejecutar:
mount -o remount,rw,sync /
y poder realizar ya sin problema operaciones como el cambio de la password root
Esta opción es MUY peligrosa y se debe bloquear mediante una contraseña en acceso a los comando GRUB
Para ello debemos editar el fichero /boot/grub/menu.lst y añadir al principio la línea :
password micontraseña
# gfxmenu (hd,0)/message /* Esta línea se debe comentar */
Para acceder a las opciones avanzadas deberemos pulsar la tecla “p”.
Arranque del sistema directamente desde una shell
Si deseamos utilizar una contraseña cifrada en el fichero /boot/grub/menu.lst debemos realizar lo siguiente :
mabsServer # grub
grub> md5crypt
Password: ******
Encrypted: $1$Gr/Oq0$NwuQYNJYNyFbtgSHDsPWf0
grub>
Podemos tambien utilizar el comando grub-md5-crypt .Y copiamos el resultado al fichero /boot/grub/menu.lst
password -- md5 $1$Gr/Oq0$NwuQYNJYNyFbtgSHDsPWf0
Para proteger con contraseña las opciones disponibles en el menú, debemos usar el comando lock .
title SUSE LINUX 9.2
lock
kernel (hd0,5)/boot/vmlinuz root=/dev/hda6 spl ash=silent resume=/dev/hda5
initrd (hd0,5)/boot/initrd
Protección de GRUB con contraseña cifrada
42
Práctica
Ejercicio 7-1: Manejo del gestor de arranque (pag 7-2 del manual de prácticas)
Objetivos
Proceso de arranque. GRUB. Manejo de niveles de ejecución
43
Runlevels (Niveles de ejecución)
Un sistema Linux puede encontrase en uno de los variosestados o niveles de ejecución conocidos como runlevels.
Cada nivel puede implicar el arranque o parada de una serie de servicios.
Existen niveles que implican un estado transitorio hacia el apagado o rearranque del sistema.
Para saber en qué nivel nos encontramos actualmente podemos ejecutar :
#runlevel N 5 Para cambiar de runlevel se utiliza el comando init ,
como root :#init 2
Runlevels
Multiusuario real con red y login gráfico.5
Reinicio del sistema.6
No definido.4
Multiusuario con servicios de red.3
Multiusuario sin servicios de red.2
Modo monousuario, utilizado para resolver problemas y mantenimiento
1
Apaga el sistema.0
UsoRunleve l
44
/etc/inittab Todas las entradas tienen este formato general :
id:runlevels:action:processEn función del campo acción puede variar.
Ej.:id:5:initdefault:
#especifica el runlevel por defectosi::bootwait:/etc/init.d/boot
# El proceso se inicia durante el arranque del sistema y se espera a que termine
ca::ctrlaltdel:/sbin/shutdown -r -t 4 now
#qué hacer cuando se utiliza la combinación de teclas <ctr><alt><supr>l5:5:wait:/etc/init.d/rc 5
#especifica que tiene que ejecutar en el runlevel 53:2345:respawn:/sbin/mingetty tty3
#El terminal 3 está activo en el runlevel 2,3,4 y 5
Scripts de Inicio de servicios Casi todos los scripts de inicialización de servicios se
alojan en /etc/init.d/ Los scripts soportan varios parámetros estándar en su
invocación: start, stop, restart ... Ej.:
/etc/init.d # ./network restart
Shutting down network interfaces:
eth0 device: 3Com Corporation 3c905C-TX/TX-M [ Tornado] (rev 78)
eth0 configuration: eth-id-00:02:1b:f3:34 :55 done
Shutting down service network . . . . . . . . . . . . . done.
Hint: you may set mandatory devices in /etc/sysconf ig/network/config
Setting up network interfaces:
lo
lo IP address: 127.0.0.1/8 done
eth0 device: 3Com Corporation 3c905C-TX/ TX-M [Tornado] (rev 78)
eth0 configuration: eth-id-00:02:1b:f3:34: 55
eth0 IP address: 192.168.1.145/24 done
Setting up service network . . . . . . . . . . . . . . done.
45
Llamada a los scripts de inicio durante el arranque del sistema
La llamada a estos scripts durante el arranque se produce desde enlaces simbólicos ubicados en /etc/init.d/rc X.d/ siendo X el runlevel.
Los enlaces empiezan por una S (Start) o una K (Kill), según se deban arrancar o parar en dicho nivel, más un número del 00 a 99 que indica el orden de ejecución.
Ej.:octopus2:/etc/init.d/rc3.d # ls -l *network
lrwxrwxrwx 1 root root 10 Apr 17 13:22 K18network -> ../network
lrwxrwxrwx 1 root root 10 Apr 17 13:22 S05network -> ../network
Para que no arranque/pare un servicio en un nivel determinado podemos borrar el enlace, renombrarlo.
Administración de scripts de arranque (1/2)
Los comandos insserv o chkconfig permiten administrar la inserción de servicios en el sistema de arranque de forma más cómoda.
Ej.:
# insserv nfsserver (añade servicio)
# insserv -r nfsserver (quita servicio) Para crear nuestro propio script administrable por insserv podemos
utilizar la plantilla /etc/init.d/skeleton . El bloque de inicio contiene directivas que determinan los niveles en
los que el script se insertará, posibles dependencias etc. (INIT INFO )# /etc/init.d/network
### BEGIN INIT INFO
# Provides: network
# Required-Start: $local_fs
# Should-Start: coldplug pcmcia
# Required-Stop:
# Should-Stop:
# Default-Start: 2 3 5
# Default-Stop:
# Description: Configure the network interfaces and set up routing
### END INIT INFO
46
chkconfig , además de ofrecer listados de los servicios y su estado por defecto en cada nivel, permite funcionalidades similiares a insserv
Ej.:# chkconfig cron (estado por defecto en el nivel actual)
cron on
# chkconfig cron -l (listado de los estados por defecto en cada nivel)
cron 0:off 1:off 2:on 3:on 4:off 5:on 6:off
# chkconfig cron off (dedhabilitar servicio en todos los niveles)
# chkconfig cron -l
cron 0:off 1:off 2:off 3:of f 4:off 5:off 6:off
# chkconfig cron on (dedhabilitar servicio en todos los niveles)
# chkconfig cron -l
cron 0:off 1:off 2:on 3:on 4:off 5:on 6:off
# chkconfig -l (listado del estado por defecto de cada servicio en cada nivel)
Makefile 0:off 1:off 2:off 3:of f 4:off 5:off 6:off
SuSEfirewall2_init 0:off 1:off 2:off 3:of f 4:off 5:off 6:off
SuSEfirewall2_setup 0:off 1:off 2:off 3:of f 4:off 5:off 6:off
aaeventd 0:off 1:off 2:off 3:of f 4:off 5:off 6:off
acpid 0:off 1:off 2:on 3:on 4:off 5:on 6:off
...
Administración de scripts de arranque (2/2)
Administración de scripts de arranque por YaST (1/2)
Con yast-> Sistema -> Editor de niveles de ejecución o simplemente
yast runlevel .
47
Administración de scripts de arranque por YaST (1/2)
Modo experto
Cambio de nivel de ejecución durante el arranque del sistema
Se puede introducir el número del nivel de ejecución al cual se desea ir dentro del campo para comandos que ofrece GRUB
O editando la línea (modo carácter ) y poniendo el nivel al final de la misma
Ej.:/boot/vmlinuz
root=/dev/hda2 vga=0x314 resume=/dev/hda1 splash=silent showopts 1
48
Cambio de nivel de ejecución en la línea de comando
El comando init permite al usuario root pasar a un nivel determinado durante la ejecución del sistema
Ej.: init 3, init 0, init 1 halt y poweroff son equivalentes a init
0 y reboot a init 6
Parada del sistema: shutdown Apaga o rearranca el sistema a la hora especificada o tras el tiempo especificado
Informa a los demás usuarios de lo que va a suceder. Podemos personalizar el mensaje
Impide el login de nuevos usuarios La orden puede ser revocada Ej.:
#shutdown -r now
(rebota el sistema inmediatamente)#shutdown -r +5 El sistema se apagará en 5 minutos
(rebota el sistema en 5 minutos mandando el mensaje adjunto a los usuarios)
#shutdown -h 23:59
(Para el sistema (halt) a la hora indicada)#shutdown -c
(revoca la programación de shutdown actual)
49
Cambio del nivel de ejecución Cuando el nivel de ejecución es cambiado mediante init se desencadenan varias acciones (ejemplo de nivel 3 a 5) init consulta en su inittab que scripts se debe ejecutar (/etc/init.d/rc 5 )
Se ejecutan todos los scripts de parada (K* ) del nivel 3 que no tengan un script correspondiente de arranque (S* ) en el nivel 5
Se ejecutan todos los scripts de arranque del nivel 5 que no tuviesen ya otro de arranque en el nivel 3
Para que los cambios en /etc/inittab tengan lugar sin cambiar el nivel de ejecución podemos ejecutar init q
Práctica
Ejercicio 7-2: Manejo de los niveles de ejecución (pag 7-4 del manual de prácticas)
50
TEMA 8
Manejo de software
Objetivos
Manejo de paquetes RPM Verificación y actualización de librerias
51
Distribución de Software
El software se puede distribuir de dos formas Código fuente (hay que compilarlo) Binarios (ya está compilado)
Para que sea más fácil su distribución se suele empaquetar en un único fichero. En formato tar (.tar) En formato RedHat (.rpm) En formato Debian (.deb)
Red Hat Package Manager (RPM)
La mayoría del software es distribuido actualmente ya compilado en forma de paquetes.
Los manejadores de paquetes controlan las versiones instaladas y dependencias con otros paquetes
El manejador de paquetes más popular actualmente es RPM (excepto en Slackware y Debian
http://www.rpmfind.net/linux/RPM/
52
¿ Qué hay dentro de un paquete RPM ?
Dentro de un paquete encontraremos: Los ficheros de la aplicación comprimidos Nombre y versión del paquete Fecha de generación Descripción del mismo Información sobre quién lo construyó Código de integridad en MD5 Requerimientos de otros paquetes
(dependencias )
Componentes de RPM
Manejardor de paquetes: Utilidad que permite la instalación y desinstalación de los paquetes.
Base de datos: Contiene una lista con toda la información de los paquetes instalados
Paquetes: Es el software a instalar que puede ser en código fuente o binario
Etiqueta o nombre del paquete
53
Nomenclatura de un paquete RPM
Ej: ethereal-0.8.9-1.i386.rpm Paquete - versión - patch . arquitectura .rpm
Paquete : Nombre de la aplicación versión Patch : Nivel de parche Arquitectura : La plataforma para la que se ha
realizado la compilación. Ej: i386(Intel) i586Pentium(Intel) i686 Pentium Pro (Intel) Sparc (Sun) Alpha (Digital/Compaq
La base de datos de RPM La información sobre cada paquete instalado es conservada en una base de datos bajo /var/lib/rpm/
Prácticamente cada vez que rpm es utilizado esta base de datos es accedida para cosas como:
Verificar paquetes ya instalados Comprobar ficheros que ya existan Verificar dependencias
� Teniendo un directorio /usr de 1 G aproximadamente la base de datos pude ocupar unos 30 MB. Si esta fuese mayor se puede, tras un backup de la misma, ejecutar rpm --rebuilddb
� Bajo /etc/cron.daily existe el script suse.de-backup-rpmdb que se encarga de ver diariamente si ha habido cambios en la base de datos y hacer un backup bajo /var/adm/backup/rpmdb/
54
Ficheros de configuración de RPM
El fichero de configuración global de RPM es /usr/lib/rpm/rpmrc .
Dado que este fichero podría se sustituido por otro nuevo si actualizamos el manejador de paquetes propiamente dicho es mejor que apliquemos los cambios que necesitemos sobre el fichero /etc/rpmrc o particularmente para cada usuario en ~/.rpmrc
El comando rpm
Es utilizado para operaciones como : Instalar paquetes Actualizar paquetes Desinstalar paquetes Pedir información a la base de datos Verificar un paquete Verificar un fichero instalado Construir un paquete binario a partir del
código fuente
55
Verificación de la autenticidad de un paquete Todos los paquetes RPM distribuidos por SuSE son firmados con la siguiente clave GnuPG:
sles3072:~ # gpg --list-keys -v --fingerprint "buil d@suse.de"
gpg: usando PGP como modelo de confianza
pub 1024D/9C800ACA 2000-10-19 [caduca: 2008-06-21 ]
Huella de clave = 79C1 79B2 E1C8 20C1 890F 9 994 A84E DAE8 9C80 0ACA
uid SuSE Package Signing Key <buil d@suse.de>
sub 2048g/8495160C 2000-10-19 [caduca: 2008-06-21 ]
Esta clave se encuentra almacenada bajo /root/.gnupg/ y /usr/lib/gnupg/
Para realizar la comprobación de un paquete:
rpm --checksig nombre_paquete .rpm
Ej.:# rpm --checksig wget-1.10.2-15.4.i586.rpm
wget-1.10.2-15.4.i586.rpm: sha1 md5 gpg OK
Instalación de Paquetes RPM Para instalar un programa podemos hacer por ej:
rpm -ivh paquete .rpm -i : instalar -v : Muestra el nombre del paquete que está siendo
instalado -h : Muestra marcas “#” según evoluciona la instalación del
paquete Se pueden utilizar ‘*’ en instalaciones y actualizaciones
pero no en eliminaciones rpm -ivh *.rpm
Se pueden instalar paquetes a partir de una url rpm -ivh http://rpmfind.net/redhat/libpcap-0.4.i386 .rpm
Podemos tener errores de dependencias que impedirán la instalación:
rpm -ivh ethereal-0.8.9-1.i386.rpmerror: failed dependencies:
libpcap >= 0.4 is needed by ethereal-0.8.9-1
56
Opciones avanzadas de instalación Si se necesita instalar un paquete a pesar de los
errores que pueda dar rpm, tenemos algunas opciones que ignoran estos mensajes: --force : fuerza la sobreescritura de los
ficheros del paquete existente --nodeps : No comprueba las
dependencias , es útil si se han instalado por otros medios (como compilando código fuente)
--replacefiles : Sobreescribe ficheros que pertenecen a otros paquetes
ej: rpm -ivh --nodeps ethereal-0.8.9-1.i386.rpm
Actualización de Paquetes RPM
La opción -U actualiza de la siguiente forma : Guarda los ficheros config modificados con
extensión .rpmsave Puede generar posibles nuevos ficheros de
configuración con extensión .rpmnew Elimina el paquete antiguo Instala el nuevo paquete
Si el paquete no existe, -U procede igual que -i
Con la opción -F actualiza sólo si existe una versión más antigua de ese paquete.
57
Borrado de paquetes RPM
Para borrar un paquete se utiliza la opción -e ó --uninstall y el nombre del paquete , no el del fichero (sin extensión ni versión ).
rpm -e libpcap
Si otros paquetes dependen de este rpm da un mensaje y no procede
Cuando un paquete es borrado se guardan los archivos de configuración modificados .
Es útil la opción ‘--nodeps ’ cuando se tiene un problema de dependencias que se desea ignorar
La opción '--test ' simula el procedimiento, retornando los posibles problemas que puedan surgir
Información sobre paquetes Para obtener información sobre un paquete:
-qi : Si ya instalado (sólo nombre paquete):# rpm -qi etherealName : ethereal Relocations: (not relocate able)Version : 0.9.6 Vendor: SuSE Linux AG, Nue rnberg, GermanyRelease : 59 Build Date: Mon Oct 14 23: 03:13 2002Install date: Thu May 6 18:00:28 2004 Build Host: ting.suse.deGroup : Productivity/Networking/Diagnostic Source RPM: ethereal-
0.9.6-59.src.rpmSize : 12033439 Lice nse: GPLPackager : http://www.suse.de/feedbackURL : http://ethereal.zing.org/Summary : A graphical network traffic analyserDescription :ethereal is a network traffic analyzer for Unix andUnix-like operating systems....
-qip : Si no está instalado todavía (nombre del fichero):# rpm -qip ethereal -0.10.3-10.i586.patch.rpm
58
Información sobre paquetes -q : nos permite consultar la BBDD de paquetes instalados.
# rpm -q glibc (sólo nombre del paquete)glibc-2.2.5-213
-qa : listar todos los paquetes instalados# rpm -qafilesystem-2002.9.2-56gdb-5.3-57aide-0.9-32...
-qf : Nos dice a que paquete pertenece un fichero# rpm -qf /bin/cpfileutils-4.1.11-107
- qR: lista dependencias con otros paquetes
Para listar los ficheros que contiene un paquete-ql : Si ya está instalado :
#rpm -ql nombre_paquete-qlp :si no está instalado :
#rpm -qlp nombre_paquet-versión. rpm
Verificación de ficheros y paquetes (1/2)
-V paquete : Verifica todos los ficheros de un paquete ya instalado
-Va : Verifica todos los ficheros de todos los paquetes instalados
-Vp paquete.rpm : Verifica todos los ficheros de un paquete instalado con respecto a un paquete sin instalar
-Vf fichero : Verifica un fichero con respecto del original del paquete
El formato de la salida es una cadena de 8 caracteres. Cada uno denota el resultado de un tipo de comparación:
. : El test es satisfactorio
5 : Diferente checksum MD5
S : Diferente tamaño de fichero
L : El atributo de link simbólico ha cambiado
T : La fecha de última modificación del fichero ha cambiado
D : El major o minor number del dispositivo ha cambiado
U : El dueño del fichero ha cambiado
G : El grupo del fichero ha cambiado
M : Los permisos del fichero han cambiado
? : Resultado inesperado
59
Verificación de ficheros y paquetes (2/2)
Un noveno carácter 'c' puede indicar si el fichero es de configuración
Las discrepancias preocupantes son, normalmente, las de los ficheros ejecutables
Ejemplo :# rpm -V apache
S.5....T c /etc/httpd/httpd.conf
S.5....T c /etc/httpd/suse_addmodule.conf
S.5....T c /etc/httpd/suse_define.conf
S.5....T c /etc/httpd/suse_include.conf
S.5....T c /etc/httpd/suse_loadmodule.conf
S.5....T c /etc/httpd/suse_text.conf
missing /var/log/httpd/ssl_engine_log
missing /var/log/httpd/ssl_request_log
.....U.. /var/log/httpd/ssl_scache.dir
.....U.. /var/log/httpd/ssl_scache.pag
missing /var/run/httpd.pid
Práctica
Ejercicio 8-1: Manejo de software con RPM (pag 8-2 del manual de prácticas)
60
Objetivos
Manejo de paquetes RPM Verificación y actualización de librerias
Verificación de librerías
Además de comprobar las dependencias de paquetes podría ser necesario antes de instalar un software comprobar qué librerías dinámicas utiliza.
Esto debería ser resuelto por el programa de instalación pero a veces nos vemos obligados a hacerlo nosotros
Por ejemplo si una aplicación que estamos intentando arrancar falla podemos arrancarla desde la ventana de un terminal y ofrece algún mensaje de error indicando la falta de alguna librería. Entonces se podría necesitar verificar el acceso a las librerías dinámicas
61
Gestión de librerías compartidas
Las librerías son un conjunto de funciones de uso común que los desarrolladores puede utilizar , evitando tener que programar su código.
Son invocadas desde los programas . Cuando se compila un programa se puede hacer
con las librerías dentro del ejecutable (compilación estática ) o fuera (compilación dinámica )
Rutas de algunas librerías compartidas / lib -> Librerías principales /usr/lib -> Librerías suplementarias /usr/X11R6/lib -> Librerías compartidas para X
window
Nomenclatura de librerías y comando ldd
Normalmente tienen un nombre así: nombre_librería-principal - secundaria - patch .so
La extensión ‘so’ es de ‘shared object’ Ej: libcrypt-2.3.2.so
versión principal: 2 versión secundaria: 3 versión de patch: 2
Para ver la librerías que utiliza un programa se utiliza ‘ldd ’ Ej.: # ldd /usr/bin/wget
libssl.so.4 => /lib/libssl.so.4 (0x40034000 ) libcrypto.so.4 => /lib/libcrypto.so.4 (0x40 069000)
62
ld.so.cache y ldconfig Cuando un programa es ejecutado el sistema
comprueba que las librerías necesarias han sido encontradas y cargadas leyendo el fichero /etc/ld.so.cache (fichero binario)
Podemos ver el contenido de la cache con el comando/sbin/ldconfig -p
ldconfig nos permite actualizar esta caché en función de las librerías que encuentre en :
/lib/ /usr/lib Directorios referenciados en Fichero
/etc/ld.so.conf Otros path pasados directamente como opciones
comando ldconfig Los path referenciados en la variable de entorno
LD_LIBRARY_PATH ldconfig se ejecuta durante el arranque del sistema.
Práctica
Ejercicio 8-5: Manejo de librerías compartidas (pag 8-5 del manual de prácticas)
63
TEMA 9
Copias de seguridad
Objetivos Estrategias de backup Backup de ficheros con YaST Creación de Backups con tar Trabajo con cintas Copia de datos con dd Imagen de directorios con rsync Automatización de backups a través de cron
64
Estrategias de backup (1/2)
Incremental: Se hacen copias de los cambios desde el último backup
Diferencial: Se hacen copias desde el último backup completo
Backup completolunesMartes
miércolesjuevesviernes
Backup completolunesMartes
miércolesjuevesviernes
Estrategias de backup (2/2)
Se debe alcanzar un compromiso entre: El tiempo necesario para recuperar una copia de seguridad
La cantidad de datos de los cuales hay que hacer copia
65
Objetivos Estrategias de backup Backup de ficheros con YaST Creación de Backups con tar Trabajo con cintas Copia de datos con dd Imagen de directorios con rsync Automatización de backups a través de cron
Backup de los datos del sistema con YaST (1/8)
Los datos no abarcan el sistema completo sino información de los paquetes que han cambiado y ficheros de configuración críticos
Para crear un backup: YaST->Sistema-> Copia de seguridad del sistema o ejecutar yast backup
66
Backup de los datos del sistema con YaST (2/8)
Se utilizan los perfiles para nombrar a un grupo de diferentes configuraciones tales como nombres de archivos y cómo encontrarlos
Para crear un perfil en Gestión de perfiles->Añadir
Backup de los datos del sistema con YaST (3/8)
Nombre de archivo: Para el fichero que contendrá el backup (path completo)
Ubicación de la copia de seguridad Archivo local Red (NFS) : Servidor NFS
67
Backup de los datos del sistema con YaST (4/8)
Tipo de archivo Crear archivo de
copia de seguridad : para hacer el backup propiamente dicho
Tipo de archivo tar o star (copia de ACL) comprimido con gzip o bzip2
Opciones: Para el particiona- miento en varios volúmenes
Crear sólo lista de ficheros encontrados
Backup de los datos del sistema con YaST (5/8)
Copia de seguridad de archivos que no pertenecen a ningún paquete
Mostrar lista de ficheros antes de crear el archivo : Para poderla editar manualmente antes de generar el bakcup
Comprobar suma MD5 en lugar de hora y tamaño: Se utiliza un hash MD5 en la comprobación (es más seguro pero necesita más tiempo)
Descripción del archivo: Literal opcional que puede describir algo al respecto del backup
68
Backup de los datos del sistema con YaST (6/8)
Elementos excluidos de la búsqueda : Nos la oportunidad de evitar que ciertos directorios no entren en el backup o de introducir nuestras propias excepciones antes de lanzar la búsqueda de ficheros susceptibles de ser salvados
Backup de los datos del sistema con YaST (7/8)
Si hemos marcado Mostrar lista de ficheros antes de crear el archivo en el paso 5 tenemos la oportunidad descartar ficheros del backup
69
Backup de los datos del sistema con YaST (8/8)
Datos resumen del backup
Recuperación de los datos del sistema con YaST (1/5)
Para recuperar el sistema YaST->Sistema-> Recuperar sistema o yast restore
El backup a recuperar puede estar en un Archivo local , accesible a través de la Red (NFS) o en un Dispositivo extraible
70
Recuperación de los datos del sistema con YaST (2/5)
Descripción del archivo con la copia de backup
Recuperación de los datos del sistema con YaST (3/5)
Opciones Avanzadas
Activar configuración de cargador de arranque depués de restaurar (para LILO)
Ejecutar SuSeconfig después de restaurar
Directorio destino : Si vamos a recuperar en sobre una localización distinta de la original /
71
Recuperación de los datos del sistema con YaST (4/5)
Selección de paquetes a restaurar Restaurar la
base de datos RPM (si se encuentra en los archivos de reserva)
Recuperación de los datos del sistema con YaST (5/5)
Resumen de la restauración
72
Práctica
Ejercicio 9-1: Backup de ficheros con YaST (pag 9-2 del manual de prácticas)
Objetivos Estrategias de backup Backup de ficheros con YaST Creación de Backups con tar Trabajo con cintas Copia de datos con dd Imagen de directorios con rsync Automatización de backups a través de cron
73
tar
tar <opciones> fichero directorio Opciones:
cvf : Empaqueta (c) el contenido de directorio en el paquete (f) fichero, dando infomación adicional (v)
tvf : Lista el contenido del paquete fichero xvf : Extrae el contenido del paquete fichero X : Excluye ficheros (pasados en una lista) C: Para extraer en un directorio distinto del
actual r : incluye ficheros en archivo tar ya existente u: Sólo incluye ficheros en el archivo cuando
son más recientes que los que ya existen d: compara los ficheros en el archivo con los
del filesystem
tar : ejemplos
tar -cvf /back/etc.tar /etc
Empaqueta todo lo que encuentra bajo /etc (le quita la '/' antes) en el fichero /back/etc.tar
tar -cvf /dev/st0 /home
Pasa a cinta el contenido del directorio home tar -cvf /dev/st0 /home -X lista.txt
Pasa a cinta el contenido del directorio home menos los ficheros especificados en lista.txt
tar -xvf /dev/st0
Extrae contenido de cinta en directorio actual tar -xvf /test1/test.tar -C /test2 home/user1/.bash rc
Extrae el fichero home/user1/.bashrc contenido en /test1/test.tar sobre el directorio /test2
74
Backups incrementales y diferenciales con tar (1/2) Snapshots:
Consiste en crear un fichero especial, a la vez que se hace la copia, que contiene información sobre desarrollo del proceso de backup. Para ello se necesita primero un backup total utilizando la opción -g nombre_del_fichero
Ej.:
tar -czf fich_backup_total -g fich_snapshot /home
En la siguiente backup salvarán sólo los ficheros que han cambiado utilizando una línea similar a la siguiente:
tar -czf fich_backup_incremetal - g fich_snapshot /home
Backups incrementales y diferenciales con tar (2/2) find + tar
Consiste en utilizar find para localizar los ficheros con las fechas adecuadas. Estos ficheros alimentan al tar que procede a simplemente empaquetarlos
Primero se realiza un backup completo. Ej.:
tar cvzf /backup/backup_completo.tar.gz /home
En los siguientes backups utilizamos find. Ej.:
find /home -type f -newer /backup/backup_completo.t ar.gz -print0 | tar –null -cvzf /backup/backup_lunes.tar. gz -T -
print0 y --null aseguran que los ficheros con espacios en el nombre sean también copiados
-T permite que los fichero pasados al tar por la entrada estandar sean incluidos en el paquete
Un problema de este método es que si el proceso es largo se puden producir modificaciones en los ficheros originales antes de que se cierre el fichero de backup (ya que esa fecha y hora será referencia posterior)
75
Práctica
Ejercicio 9-2: Backups con tar (pag 9-3 del manual de prácticas)
Objetivos Estrategias de backup Backup de ficheros con YaST Creación de Backups con tar Trabajo con cintas Copia de datos con dd Imagen de directorios con rsync Automatización de backups a través de cron
76
Trabajo con cintas
Para trabajar con cintas utilizamos el comando mt
Los dispositivos de cinta en Linux son siempre SCSI y pueden ser accedidos a través de: /dev/st0 : primer unidad de cinta (con rebobinado)
/dev/nst0 : misma unidad sin rebobinado
Status de una cinta
#mt -f /dev/st0 status
Drive type = Gegeric SCSI-2 tape
Drive status = 620756992
Sense key error = 0
Residue count = 0
File number = 0 <--- Principio de la cinta
Block number = 0 <--
Tape block size o bytes. Density code 0x25 (unknown )
Soft error count since last status=0
General status bits on (410100000): BOT ONLINE IM_R EP_EN
Begin of tape -----------^
77
Posicionamiento de la cinta
#mt -f /dev/nst0 fsf 1 <--- Siguiente fichero
#mt -f /dev/nst0 status
Drive type = Gegeric SCSI-2 tape
Drive status = 620756992
Sense key error = 0
Residue count = 0
File number = 1 <--- Principio de siguiente fichero
Block number = 0 <--
Tape block size o bytes. Density code 0x25 (unknown )
Soft error count since last status=0
General status bits on (81010000): EOF ONLINE IM_RE P_EN
End of file-----------^
Para volver un fichero para atrás : bsf
Tras una lectura
Después de leer el archivo ( con un tar -xvf /dev/nst0 por ejemplo) la cinta está al final del fichero
#mt -f /dev/nst0 status
Drive type = Gegeric SCSI-2 tape
Drive status = 620756992
Sense key error = 0
Residue count = 0
File number = 1
Block number = 18 <-- distinto de 0
Tape block size o bytes. Density code 0x25 (unknown )
Soft error count since last status=0
General status bits on (1010000):ONLINE IM_REP_EN
78
Otras operaciones con cintas Para rebobinar:#mt -f /dev/nst0 rewind
Para expulsar la cinta#mt -f /dev/nst0 offline
Se recomienda trabajar con la compresión desactivada para favorecer recuperaciones frente a errores. Para comproba r en que modo se encuentra:
#mt -f /dev/st0 datacompression
Compression on
Para desactivar la compresión (activa por defecto)#mt -f /dev/st0 datacompression off
Algunas cintas, sobre todo DAT, pueden dar problemas al ser leídas en Unix debido a un tamaño diferente de bloque para solucionarlo:
#mt -f /dev/st0 setblk 512
(con tar se puede utilizar el parámetro -b )
Objetivos Estrategias de backup Backup de ficheros con YaST Creación de Backups con tar Trabajo con cintas Copia de datos con dd Imagen de directorios con rsync Automatización de backups a través de cron
79
dd
Lee de la entrada estándar y escribe en la salida estándar.
Con los parámetros adecuados se puede trabajar con ficheros : dd if=fichOrg of=fichCopia
Podemos especificar dispositivos : dd if=/dev/sda1 of=particion.arranque
(crea imagen de un filesystem en un fichero) La copia se hace con tamaño de bloque 512 bytes
que puede ser variado con el parámetro bs=
Podemos hacer una copia del MBR de un disco :dd if=/dev/sda of=/tmp/mbr_backup bs=512 count=1
Práctica
Ejercicio 9-3: Creación de imagenes con dd (pag 9-6 del manual de prácticas)
80
Objetivos Estrategias de backup Backup de ficheros con YaST Creación de Backups con tar Trabajo con cintas Copia de datos con dd Imagen de directorios con rsync Automatización de backups a través de cron
Copias locales con rsync (1/2) Podemos hacer una copia de un directorio sobre otro con el
comando:
rsync -a / dir_org / dir_espejo
Si sólo queremos copiar el contenido del directorio y no el propio directorio
rsync -a / dir_org / . / dir_espejo (nótese el . )
Si ejecutamos el mismo comando de nuevo sólo los ficheros que han cambiado o que son nuevos serán copiados
Las opción -a (archive mode) es un compendio de varias otras opciones que copian:
-l : enlaces simbólicos
-p : permisos de acceso
-o : dueños de los ficheros
-g : grupos de los ficheros
-t : fechas de los ficheros
-r : recursividad
81
Copias locales con rsync (2/2) Algunas opciones útiles de rsync
-a : modo archivo
-x : no sigue links simbólicos a otros sistemas de ficheros
-v : da más información
-z : comprime los datos durante la sincronización
--delete : borra ficheros que ya no existen en los directorios originales
--exclude-from : no copia archivos referenciados en el fichero de exclusión
Ej.:rsync -a --exclude-from=/home/exclude
/home/. /shadow/home
Copias remotas con rsync
Es posible que rsync utilice a ssh para hacer copias sincronizadas de forma segura a través de la red.
Ej.:
rsync -ave ssh root@DA1:/home/tux /backup/home/
-e : Establece la shell remota a utilizar (ssh ) También funciona en dirección contraría:
rsync -ave ssh /backup/home/tux root@DA1:/home/
82
Práctica
Ejercicio 9-4: Backups de un directorio home con rsync (pag 9-8 del manual de prácticas)
Objetivos Estrategias de backup Backup de ficheros con YaST Creación de Backups con tar Trabajo con cintas Copia de datos con dd Imagen de directorios con rsync Automatización de backups a través de cron
83
Automatización de backups
Cron : De usuario : crontab -e De sistema:
/etc/crontab /etc/cron.d/
Ej.: 0 1 * * 6 root /root/bin/backup.sh
/etc/cron.daily , /etc/cron.weekly ...
TEMA 10
Sistema de impresión
84
Objetivos
Configuración de impresoras locales Administración de colas y trabajos con comandos Funcionamiento de CUPS Configuración y administración de un servidor de impresión Utilización del interfaz web para administrar CUPS
¿Cuando configurar una impresora local?
Durante la instalación Sobre el cuadro de diálogo de
Configuración hardware . Las impresoras locales son detectadas automáticamente
Si la detección automática no funciona podemos seleccionar el link impresoras
Después de la instalación YaST->Hardware->Impresoras O yast2 printer desde un terminal
85
Paquetes necesarios Los siguientes paquetes se instalan automáticamente si configuramos SLSE 10 como un servidor de impresión:
cups : Contiene el daemon de impresión cupsd
cups-client : proporciona las herramientas de impresión en línea de comandos
cups-libs : debería instalarse siempre ya que algunos programas como Samba enlazan con estas librerías
cups-drivers y cups-drivers-stp : Proporcionan los ficheros PPD para las colas de impresión
cups-SUSE-ppds-dat : contiene un fichero /etc/cups/ppds.dat pregenerado
Para arrancar o parar cups: # rccups start # rccups stop
Añadir impresoras locales con YaST (1/4)
Al arrancar YaST->hardware->impresora se procede a reconocer cualquier impresora conectada localmente
Para configurar una impresora reconocida pero que no tiene colas todavía la marcamos y pulsamos Editar
86
Añadir impresoras locales con YaST (2/4)
Se muestran las características que por defecto se van a configurar sobre la cola
Podemos variar:
Su nombre
El modelo detectado
El archivo PPD asignado
El tipo de conexión
Añadir impresoras locales con YaST (3/4)
Ajustes de filtro: Tamaño y orientación del papel, número de páginas por hoja ...
Ajustes de restricciones: Usuarios que pueden o no utilizar la impresora
Ajustes de estado y portada:
Establecer si la cola está operativa o no
Especificar páginas de inicio y fin de trabajo
87
Añadir impresoras locales con YaST (4/4)
Finaliza la configuración de la cola
Impresoras de red (1/11)
Cups soporta los siguientes protocolos para la impresión a través de la red: IPP (Internet Printing Protocol)
Basado en HTTP Comparado con otros protocolos permite transmitir más información relacionada con el trabajo
Utilizado por CUPS también para las transferencias internas de datos
Su puerto es el 631
URI=> ipp:// servidorcups / impresora / cola
LPD (Line Printer Daemon) Transmite algo de información relativa al trabajo como la cola de impresión (LPT, LPT1, LP1...)
El puerto es el 515
Ejemplo de URI=> lpd:// host / LPT1
88
Impresoras de red (2/11)
SMB (Standard Message Block) CUPS también soporta la conexión a impresoras compartidas de Windows
Puertos: 137, 138 y 139 Ejemplos de URIs:
smb://usuario:password@workgroup/servidor/impresora smb://usuario:password@servidor/impresora smb://servidor/impresora
Socket Se utiliza para conectar a una impresora equipada con una conexión de red
Algunos de los puertos utilizados habitualmente son el 9100 y el 35
Ejemplo de URI:
socket:// servidor :9100/
Impresoras de red (3/11)
Al arrancar YaST->hardware->impresora
pulsamos Añadir
89
Impresoras de red (4/11)
Seleccionamos Impresora de red
Impresoras de red (5/11)
Seleccionamos el protocolo de impresión
Veremos a continuación la configuración para CUPS y Socket o impresión directa
90
Impresoras de red: CUPS (6/11)
Sólo cliente de CUPS: Permite acceder a las cola de impresión en un servidor en concreto
El servicio cupsd no se ejecuta localmete (no hay impresoras locales)
Es la mejor elección si sólo se tiene un servidor para toda la red
En el fichero /etc/cups/cliente.conf se añade una entrada:
ServerName IP
Impresoras de red: CUPS (7/11)
CUPS con broadcasting: Permite tanto impresoras locales como remotas
Se ejecuta localmente el servicio cupsd
Las impresoras que se anuncien en la red son mostradas automáticamente y puestas a disposición de los usuarios
Se puede limitar desde que direcciones se aceptan los anuncios de impresoras y reconfigurar el firewal local
91
Impresoras de red: CUPS (8/11)
Cola IPP remota : Para acceder a una cola en concreto en un servidor determinado
Permite tanto impresoras locales como remotas
Se ejecuta localmente el servicio cupsd
Impresoras de red: Socket (9/11)
Para impresoras conectadas directamente a la red elegimos Imprimir directamente a una impresora de red
92
Impresoras de red: Socket (10/11)
Impresoras en red como las HP DirectJet soportan la Impresión directa a través del puerto TCP
Impresoras de red: Socket (11/11)
Por último podemos:
Dar una serie de datos para la representación local de la cola
Compartir la cola marcando Impresora compartida
Usar filtro local . Con lo que se nos muestra el asistente para determinar el tipo de impresora remota y las características como tamaño y orientación de papel, restricciones de acceso...
93
Configuración de una impresora a través de la línea de comandos (1/2)
La configuración de una impresora desde la línea de comandos se realiza a través del comando lpadmin .
lpadmin -p nombreImpresora [-E] [-v dispositivo][-p driver ]
Parámetros : p : nombre de la impresora. E : Activa la impresora v : dispositivo/protocolo de conexión. P : driver a utilizar (Localizados en
/usr/share/cups/model )
Ej :lpadmin -p hpLaserjet5 -v parallel:/dev/lp0 -P
/usr/share/cups/model/Postscript.ppd.gz -E
Configuración de una impresora a través de la línea de comandos (2/2) Algunos de los protocolos de conexión soportados son los
siguientes : parallel : conexión vía puerto paralelo. Ej :
lpadmin -p hpLaserjet5 -v parallel:/dev/lp0
usb : conexión vía puerto usb. Ej :lpadmin -p hpLaserjet5 -v usb:/dev/usb/lp0
socket : conexión a una impresora de red. Ej :lpadmin -p hpLaserjet5 -v socket://192.168.4.100:91 00
lpd : impresora ubicada en servidor LPD.lpadmin -p hpLaserjet5 -v lpd://impresora/lpt1
ipp : mediante protocolo IPP. Ej :lpadmin -p hpLaserjet5 -v ipp://impresora/hp
smb : impresoras compartidas en windows. Ej :lpadmin -p hpLaserjet5 -v smb://windowsxp/impresora
94
Práctica
Ejercicio 10-1: Cambio de la configuración de impresión (pag 10-1 del manual de prácticas)
Objetivos
Configuración de impresoras locales Administración de colas y trabajos con comandos Funcionamiento de CUPS Configuración y administración de un servidor de impresión Utilización del interfaz web para administrar CUPS
95
Documentación para los comandos
Bajo /usr/share/doc/packages/cups/ tenemos: Los manuales de usuario: sum.html y
sum.pdf Los manuales de administración:
sam.html y sam.pdf
Los comandos permiten utilizar dos convenciones distintas: Estilo Berkley Estilo System V
Mandar trabajos (1/2) Berkley:
lpr -P cola fichero
System V: lp -d cola fichero
Si no se especifica la cola será la de por defecto
En ambos casos podemos incluir opciones adicionales con -o : Berkley:
lpr -P cola -o opcion fichero System V:
lp -d cola -o opcion fichero
96
Mandar trabajos (2/2)
Ej.:# lpr -P lp -o PageSize=A3 documento.ps
Para ver opcines: lpoptions -l Para mandar trabajos a impresoras remotas:
Berkley: lpr -P cola @servidor fichero
System V: lp -d cola -h servidor fichero
Ej.:# lp -d lp -h srv12.afina.es documento.ps
Mostrar trabajos en la cola Berkley:
lpq -P cola lpq -a muestra trabajos en todas las colas
System V: lpstat -o -p cola
Si no se especifica ninguna cola se muestran todas
97
Cancelación de trabajos Berkley:
lprm -P cola nº_trabajo
System V: cancel cola-nº_trabajo
Administración de colas Para deshabilitar (parar) o activar una impresora utilizamos :
/usr/bin/disable cola
/usr/bin/enable cola
Ej.:#lpq
Lj4050 is ready
No entries
#/usr/bin/disable lj4050
#lpq
Lj4050 is not ready
No entries
Si la cola no va a estar disponible durante demasiado tiempo es posible que convenga rechazar nuevos trabajos con
/usr/sbin/reject cola
Para activarla de nuevo /usr/sbin/accept cola
Ej.:#/usr/bin/reject lj4050
#lpr /etc/fstab
lpr: unable to print file: sever-error-notaccepting -jobs
No entries
98
Configuración de colas (1/3)
Las opciones específicas de cada impresora que afectan al aspecto de los trabajos se almacenan en un fichero, con el nombre de la cola y extensión ppd , bajo: /etc/cups/ppd /
PPD (PostScript Printer Description) que describe las propiedades y opciones de una impresora (como su resolución)
Durante las instalación de SLES 10 se crean los ficheros PPD que dan soporte a las distintas impresoras /usr/share/cups/model/
Para ver las opciones disponibles en una cola:
lpoptions -p cola -l
Configuración de colas (2/3)
La salida mostrada por el comando lpoptions tiene la estructura: opción / cadena : valor valor valor ...
Ej.:# lpoptions -l
HalftoningAlgorithm/Halftoning Algorithm: Accurate *Standard WTS
REt/REt Setting: Dark Light *Medium Off
TonerDensity/Toner Density: 1 2 *3 4 5
Manualfeed/Manual Feed of Paper: Off On
InputSlot/Media Source: *Default Tray1 Tray2 Tray3 Tray4 Envelope Manual Auto
Copies/Number of Copies: *1 2 3 4 5 6 7 8 9 10 11 1 2 13 ...
PageSize/Page Size: A4 *Letter 11x17 A3 A5 B5 Env10 EnvC5 EnvDL ...
PageRegion/PageRegion: A4 Letter 11x17 A3 A5 B5 Env 10 EnvC5 EnvDL EnvISOB5 ...
Resolution/Resolution: 75x75dpi 150x150dpi 300x300d pi *600x600dpi
Economode/Toner Saving: *Off On
El * significa la opción activa actualmente
99
Configuración de colas (3/3)
Ejemplo de cambio de una opción:
# lpoptions -p cola -o PageSize=letter
Si el cambio lo realiza root se almacena en /etc/cups/lpoptions y afecta a todos los usuarios del host
Si lo hace un usuario cualquiera sólo le afecta a él, almacenándose el cambio en el fichero ~/.lpoptions
El fichero PPD de la cola nunca es modificado Para hacer que el cambio afecte incluso a usuarios a través de la red: lpadmin -p cola -o opción =valor
classes Podemos definir classes como la agrupación de un conjunto de colas de similares características
Cuando un trabajo sea enviado a una clase este será procesado por la primera cola que se encuentre libre
Para definir una clase le añadimos su primera cola: lpadmin -p cola -c clase
Para eliminar una cola de una impresora: lpadmin -p cola -r clase
Una clase sin ninguna cola es automáticamente borrada
Para ver que colas están asignadas a qué clases podemos consultar el fichero:
/etc/cups/classes.conf
100
Práctica
Ejercicio 10-2: Manejo de impresoras desde la línea de comandos (pag 10-6 del manual de prácticas)
Objetivos
Configuración de impresoras locales Administración de colas y trabajos con comandos Funcionamiento de CUPS Configuración y administración de un servidor de impresión Utilización del interfaz web para administrar CUPS
101
Secuencia de eventos
1. El trabajo es creado por un usuario o programa
2. El trabajo es almacenado en una cola (/var/spool/cups ) en forma de 2 ficheros: Los datos a imprimir Información adicional: (ej: quién lo mando, a qué
impresora)
3. El demonio cupsd , en su momento, toma el trabajo y determina el tipo de datos a imprimir, convirtiendo el fichero a un formato dependiente de la impresora
4. cupsd manda el trabajo a la impresora. Cuando éste finaliza de ser impreso lo borra de la cola ( y no antes)
Filtrado o conversión de datos a imprimir (1/5)
Los pasos que cups cubre son los siguientes:1.Conversión a PostScript2.Contabilidad3.Conversión al formato específico de la
impresora4.Salida hacia la impresora
102
Filtrado o conversión de datos a imprimir (2/5)
Los pasos que cups cubre son los siguientes:1.Conversión a PostScript
A. El tipo de datos es determinado con la ayuda del fichero /etc/cups/mime.types
B. Los datos son convertidos a PostScript a través de la herranienta especificada en
/etc/cups/mime.convs
2.Contabilidad3.Conversión al formato específico de la
impresora4.Salida hacia la impresora
Filtrado o conversión de datos a imprimir (3/5)
Los pasos que cups cubre son los siguientes:1.Conversión a PostScript2.Contabilidad
Se determina el número de páginas con la herramienta /usr/lib/cups/filter/pstops registrándose en el fichero /var/log/cups/page_log
Si se necesita, pstops podrían realizar filtrados como seleccionar páginas específicas a imprimir o agregar varias páginas en la misma hoja
3.Conversión al formato específico de la impresora
4.Salida hacia la impresora
103
Filtrado o conversión de datos a imprimir (4/5)
Los pasos que cups cubre son los siguientes:1.Conversión a PostScript2.Contabilidad3.Conversión al formato específico de la
impresora/etc/cups/ppd/ cola .ppd (PostScript Printer Description)
define como tiene que tener lugar la conversión: Impresoras no PostScrip t: Se ejecuta un filtro para
hacer la conversión al formato adecuado ( Ej.: /usr/lib/cups/filter/cupsomatic )
Impresora PostScript : Los datos no necesitan ser convertidos .
4.Salida hacia la impresora
Filtrado o conversión de datos a imprimir (5/5)
Los pasos que cups cubre son los siguientes:1.Conversión a PostScript2.Contabilidad3.Conversión al formato específico de la
impresora4.Salida hacia la impresora
Antes de enviar el trabajo a la impresora se ejecuta un filtro adicional (contenido en el directorio /usr/lib/cups/backend/ ) en función del tipo de conexión con la impresora :
canon, epson, http, ipp, lpd, parallel, serial usb ...
104
Colas de impresión En lugar de mandar directamente los trabajos a las impresoras lo hacemos a las colas de impresión que a su vez se asocian con las impresoras correspondientes
Cada cola tiene sus características particulares
Una impresora puede tener más de una cola asociada. Cada una de estas colas podrá variar en la forma en la que los trabajos son tratados (calidad fotográfica, borrador, tamaño del papel ...)
Cada cola de impresión es descrita en el fichero : /etc/cups/printers.conf
Y como ya se ha dicho, cada cola tiene su propio fichero de opciones bajo /etc/cups/ppd/
En el lado del cliente algunas aplicaciones (OpenOffice por ej.) necesitan que las colas estén dadas de alta en el fichero /etc/printcap
/etc/cups/printers.conf
# Printer configuration file for CUPS v1.1.23
# Written by cupsd on Tue Apr 24 01:01:59 2007
<DefaultPrinter hplj4>
Info LaserJet 4 on sles3072
Location sles3072 computer
DeviceURI parallel:/dev/lp0
State Idle
Accepting Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
</ Printer >
<Printer hplj4_1>
Info
Location
DeviceURI ipp://192.168.13.129/printers/hplj4
State Idle
Accepting Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
</ Printer >
105
Ficheros de log Bajo /var/log/cups/ tenemos :
access_log : lista cada acceso IPP (HTTP) al servidor
error_log : Los tipos de mensajes se denotan por las siguientes letras al principio de la línea:
E: error W: el servidor fue incapaz de ejecutar una acción I : información D: debugging
Se puede controlar el nivel de los mensajes registrados a través de la directiva logLevel en el fichero /etc/cups/cupsd.conf
page_log : Lista los trabajos enviados al sistema de impresión con información de su números de páginas, número de copias...
Objetivos
Configuración de impresoras locales Administración de colas y trabajos con comandos Funcionamiento de CUPS Configuración y administración de un servidor de impresión Utilización del interfaz web para administrar CUPS
106
Difusión de la información de las impresoras
CUPS puede enviar a intervalos (30 segundos) información a toda la red con de cada impresora configurada en el sistema (unos 80 bytes)
Esto facilita el acceso de los clientes a las mismas
Para ello envía mensajes a direcciones de broadcast (ej.: 192.168.101.255)
Podemos configurar esta característica a través de YaST o directamente sobre el fichero /etc/cups/cups.conf
Configuración de un servidor de impresión a través de YaST (1/7)
Al arrancar YaST->hardware->impresora se procede a reconocer cualquier impresora conectada localmente
Para definir las condiciones de compartición de una impresora la marcamos y sobre el menu Otra seleccionamos Ajustes avanzados de Cups
107
Configuración de un servidor de impresión a través de YaST (2/7)
Marcamos Ajustes del servidor cups
Configuración de un servidor de impresión a través de YaST (3/7)
Aunque la Navegación esta activada por defecto es necesario todavía indicar el rango de direcciones a las que se enviará la información pulsando Añadir
Ejemplos de valores admintidos:
192.168.101.255
10.255.255.255 @LOCAL
108
Configuración de un servidor de impresión a través de YaST (4/7)
Los recursos disponibles son los siguientes:
/(root) : todos los recursos
/printers : todas las colas
/jobs : trabajos de impresión
/admin : configuración del servidor
Sobre ellos podemos ajustar los permisos correspondientes pulsando Cambiar permisos
Configuración de un servidor de impresión a través de YaST (5/7)
Denegar, permitir: Un cliente que no esté en la directiva Denegar , o lo esté en Permitir tendrá el acceso permitido. Por defecto se permite.
Permitir, Denegar: Un cliente que no esté en la directiva Allow , o que lo esté en Deny será rechazado. Por defecto se deniega el acceso
109
Configuración de un servidor de impresión a través de YaST (6/7)
Es posible también limitar el acceso por usuario o grupo
Yast-> Hardware->Impresora , marcamos la impresora pulsamos Editar , marcamos Ajustes de restricciones
Para denotar grupos los hacemos con la @. Ejemplo: @users
Configuración de un servidor de impresión a través de YaST (7/7)
Para permitir el acceso de los usuarios con comando: lpadmin -p cola -u allow:user2,user2 lpadmin -p cola -u allow:@users
Para restringir el acceso: lpadmin -p cola -u deny:geeko,@guest
Para permtir imprimir a todos: lpadmin -p cola -u allow:all lpadamin -p cola -u deny:none
110
Restricción de acceso al interfaz web
El fichero /etc/cups/cups.conf viene configurado para restringir el acceso al interfaz web de administración de CUPS
<Location /admin>
AuthType BasicDigest
AuthClass Group
AuthGroupName sys
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
</Location>
El tipo de autenticación BasicDigest utiliza como base de datos de passwords el fichero /etc/cups/passwd.md5
Inicialmente no hay definido ningún usuario
Para generar este fichero y añadir el primer usuario al grupo sys:
lppasswd -a root -g sys
El nombre del usuario no tiene porque existir en en el sistema Linux
Práctica
Ejercicio 10-3: Restricción de acceso (pag 10-8 del manual de prácticas)
111
Objetivos
Configuración de impresoras locales Administración de colas y trabajos con comandos Funcionamiento de CUPS Configuración y administración de un servidor de impresión Utilización del interfaz web para administrar CUPS
Pagina inicial
Como ya se ha visto CUPS proporciona un interfaz web administrativo sobre la URL:http://servidor:631
El acceso a este interfaz está puede estar restringido
112
Tareas de administración
http://servidor:631/admin
Añadir clases Administrar
clases Administrar
trabajos Añadir impresoras Administrar
impresoras
Tareas de administración
El interfaz web ofrece una gran cantidad de documentos de ayuda tanto en formato HTML como pdf
113
Práctica
Ejercicio 10-4: Utilización del interfaz web para manejar CUPS (pag 10-10 del manual de prácticas)
TEMA 11
Acceso remoto
114
Objetivos
Acceso remoto seguro con OpenSSH Administración remota con YaST
Conceptos Básicos de Criptografía
La Criptografía utiliza técnicas para: Cifrar los datos Probar la autenticidad de los mismos
La información utilizada para cifrar y descifrar los datos se conoce como Clave
Existen dos tipos de cifrado Cifrado simétrico Cifrado asimétrico
115
Algoritmos de clave pública (1/4)
K-2K-2K-1K-1
Hola Hola caracola caracola ......
89sdiwew89sdiwewerwe4554 erwe4554 ......
Hola Hola caracola caracola ......
K-1K-1 K-2K-2
Hola Hola caracola caracola ......
89sdiwew89sdiwewerwe4554 erwe4554 ......
????????????????????????????????????????????????
K-1K-1 K-1K-1
116
Algoritmos de clave pública (2/4)
K-2K-2K-1K-1
Hola Hola caracola caracola ......
89sdiwew89sdiwewerwe4554 erwe4554 ......
Hola Hola caracola caracola ......
K-1K-1
K-2K-2
Hola Hola caracola caracola ......
89sdiwew89sdiwewerwe4554 erwe4554 ......
????????????????????????????????????????????????
K-2K-2
K-2K-2
Algoritmos de clave pública (3/4)
ClaveClavePúblicaPública
ClaveClavePrivadaPrivada
Hola Hola caracola caracola ......
89sdiwew89sdiwewerwe4554 erwe4554 ......
Hola Hola caracola caracola ......
ClaveClavePrivadaPrivada
ClaveClavePúblicaPública
Hola Hola caracola caracola ......
89sdiwew89sdiwewerwe4554 erwe4554 ......
Hola Hola caracola caracola ......
ClaveClavePrivadaPrivada
ClaveClavePúblicaPública
117
Comparación de algoritmos de encriptación
DES 56 bits
3DES 168 bits
IDEA 128 bits (uso no comercial libre
BLOWFISH 488 bits (variable)
AES 128,192,256 bits
RSA/DSA 512, 1024, 2048 bits
Clave simétrica
Clave Pública
118
Funciones Hash (1/4)
En las líneas de sintaxis, salvo que se indique lo contrario, el texto enminúscula representa parámetros reemplazables, mientras que el textoen mayúsculas debe escribirse tal como aparece...
affg#12!5g3U8…affg#12!5g3U8…
N. Cte. de caracteresN. Cte. de caracteres
affg#12!5g3U8…affg#12!5g3U8…
En las líneas de sintaxis, salvo que se indique lo contrario, el texto enminúscula representa parámetros reemplazables, mientras que el textoen mayúsculas debe escribirse tal como aparece...
Función Función hashhash
119
120
Funciones Hash (4/4)
MD5
SHA-1
•Message Digest 5
•Desarrollado por RSA
•128 bit
•Secure Hashing Algorithm
•Desarrollado por el National Institute of Standars and Technology
•160 bits
SSH
SSH hace posible la comunicación segura sobre redes no seguras y presenta una alternativa a: telnet, rlogin, rsh y rcp
Incluye no sólo funcionalidades de los comandos “r ” y telnet , también tiene funcionalidades de ftp
Permite proteger las comunicaciones X11 y cualquier otra comunicación TCP, encapsulándolos en un túnel seguro
121
Funcionalidades Proporcionadas
Login en una máquina remota Ejecución interactiva o no de comandos en equipos remotos
Copiado de ficheros entre diferentes hosts Mecanismo de autenticación de alto rendimiento y comunicación criptográfica segura sobre redes no seguras
Completa sustitución de los comandos “r” Port Forwarding Tunneling
El Protocolo SSH versión 1
Conexión SSH
Cliente Servidor
2Envió de las Host Key& Server Key Públicas
4 Sólo el servidor es capazde descifrar el número aleatorio y sólo él tiene laclave secreta, conocida como clave de sesión
5
Genera un númeroaleatorio de 256 bits(clavesimétrica) y locifra usando las clavespública del servido r
1El cliente abre la conexión
3
Comprueba si la Host Key escorrecta en ~/.ssh/known_hosts
Puerto 22
•El servidor ssh mantiene 2 parejas de claves asimétricas :- host pair : De larga duración y almacenadas en
/etc/ssh/ssh_host_key.pub (pública)/etc/ssh/ssh_host_key (privada)
-Server pair : Cambia cada hora normalmente y no reside en el HD
122
Protocolo SSH versión 2
El protocolo SSH versión 1 no tiene un mecanismo para asegurar la integridad de la conexión.
Cualquier atacante puede insertar paquetes con datos en la sesión existente
El protocolo SSH versión 2 contiene mecanismos, conocidos como HMAC (Keyed-Hash Message Authtentication Code), para evitar esto. Están definidos en el RFC-2104
Funcionamiento de SSH2Conexión SSH
Cliente Servidor
2Envió de la Host KeyPública (RSA ó DSA)
4
Como en SSH1, la comunicación se cifrasimétricamente5
Utilizan el algoritmo llamadoDiffie-Hellman por el cual seponen de acuerdo en la clavede sesión
1El cliente abre la conexión
3
Comprueba si la clave escorrecta en ~/.ssh/known_hosts
Puerto 22
La diferencia fundamental con ssh 1 es que aquí se utiliza HMAC paragarantizar la integridad de los mensajes y el empleo del mecanismo Diffie-Hellman para acordar la clave simétrica o de sesión Claves públicas del servidor en :
/etc/ssh/ssh_host_ rsa _key.pub/etc/ssh/ssh_host_ dsa _key.pub
123
Configuración de las versiones
Conectando por telnet al puerto 22 podemos ver qué versiones son soportadas SSH-1.5-OpenSSH_3.0p1 – sólo SSH1 SSH-1.99-OpenSSH_3.0p1 – SSH1 y SSH2 SSH-2.0-OpenSSH_3.0p1 – sólo SSH2
El servidor SSH define las versiones soportadas en la instrucción Protocol del fichero /etc/ssh/ssh d_config
El cliente puede configurarlo en el fichero /etc/ssh/ssh_config o al invocar el comando usando ssh -1 ó ssh -2
Comandos del Cliente
ssh : cliente SSH, sustituye a rlogin , rsh y telnet . Nombre alternativo slogin
scp : copia ficheros en modo seguro. Sustituye a rcp
sftp : ofrece un interfaz similar a un cliente ftp en línea de comando (comandos ls, get, put)
ssh-agent : Puede manejar la claves RSA y responder a peticiones del servidor simplificando la autenticación
ssh-keygen : Genera claves RSA
ssh-add : Registra nuevas claves en el agente ssh (ssh-agent)
124
El comando ssh
Login con un usuario distinto del local: ssh -l geeko brutus.example.com
o ssh geeko @brutus.example.com
Tunel para aplicaciones gráficas ssh -X brutus.example.com
Ejecución de comandos remotos ssh -l root 192.168.30.29 shutdown -h now
Copia de ficheros remotos scp /etc/passwd geeko@brutus.exa.com:/tmp
Práctica
Ejercicio 11-1: Utilización de ssh (pag 11-2 del manual de prácticas)
125
Comandos del Servidor
Recoge las claves públicas de host de los servidores SSH y las muestra en la salida estándar para poder compararlas (e incluirlas) con la clave en /etc/ssh/ssh_known_hosts
ssh-keyscan
Agente SSH. El script de inicio se llama /etc/init.d/sshd
sshdDescripciónComando
El servidor prueba su identidad implícitamente ya que sólo puede descifrar la clave de sesión generada por el cliente si tiene la clave privada.
Para que esto funcione el cliente debe asegurarse de que la clave pública que tiene realmente pertenece al servidor.
El cliente comprueba la autenticidad en
/etc/ssh/ssh_known_hosts
o ~/.ssh/known_hosts
La primera vez que conectamos con un servidor podemos importar su clave pública que se guardará en el fichero ~/.ssh/known_hosts
Mecanismos de Autentificación
126
Autenticación en el Servidor (I) Hay 4 métodos que se definen en el fichero
/etc/ssh/sshd_config Autenticación basada en el Host
(sshd_config: HostbasedAuthentication )
Basada en los ficheros /etc/hosts.equiv , /etc/shosts.equiv,~/.rhosts o ~/.shosts
Es totalmente insegura y normalmente no soportada por el servidor
Autenticación RSA basada en el Host (sshd_config: RhostsRSAAuthentication )
Combinación de la anterior y RSA.
Sólo soportada en SSH versión 1
Las claves públicas de los clientes se almacenan en el servidor (/etc/ssh/ssh_known_hosts o ~/.ssh/known_hosts )
Ahora es el cliente el que tiene que probar que tiene la clave privada que está almacenada en /etc/ssh/ssh_host_key
Autenticación en el Servidor (II)
Autenticación con clave pública (RSA/DSA)
(sshd_config: RSAAuthentication ) en SSH1 (sshd_config: PubkeyAuthentication ) en SSH2 Es el método más seguro. El usuario prueba que conoce la clave privada mediante un procedimiento de pregunta-respuesta que puede ser llevado a cabo automáticamente por ssh-agent
Autenticación por Clave (sshd_config: PasswordAuthentication) Autenticación vía contraseña Unix. La transferencia de la clave está cifrada
127
Autenticación RSA
1. Se pone la clave pública del usuario en el servidor (normalmente en el HOME del usuario)
2. La clave privada únicamente está en el cliente
3. El cliente informa al servidor de qué clave pública se usará para la autenticación
4. El servidor comprueba si tiene la clave
5. El servidor cifra un número aleatorio usando la clave pública y la pasa al cliente
6. Sólo el cliente es capaz de descifrar el número
7. El cliente envía un checksum MD5 del número
Generación de un par de claves Se utiliza el comando ssh-keygen El par es diferente en SSH1 y SSH2 Sin opciones se crea una clave SSH1 y se almacenan en ~/.ssh/identity (privada) y ~/.ssh/identity.pub (pública)
Con la opción -t dsa |rsa se genera una clave SSH2 Ej.:
#ssh-keygen -t rsa La clave privada DSA se almacena en
~/.ssh/id_ dsa y la pública en ~/.ssh/id_ dsa .pub
La clave privada RSA se almacena en ~/.ssh/id_ rsay la pública en ~/.ssh/id_ rsa .pub
128
Configuración de la autenticación RSA/DSA
Copiar la clave pública al servidor Guardarla en
~/.ssh/authorized_keystux@earth > scp .ssh/id_dsa.pub sun:tux-pubkey
...
tux@sun > cat tux-pubkey >> .ssh/authorized_keys
Uso de ssh-agent y ssh-add
Cada vez que usamos ssh ó scp se nos pide la contraseña de nuestra clave pública
Para evitar esto se puede usar ssh-agent y ssh-add
Si queremos que funcione en el entorno gráfico hay que añadir dos variables en el fichero ~/ .xsession usessh=“yes” sshagent=“yes”tux@earth > ssh-agent bashtux@earth > ssh-add .ssh/id_rsa
129
Práctica
Ejercicio 11-2: Utilización de ssh (pag 11-4 del manual de prácticas)
Objetivos
Acceso remoto seguro con OpenSSH Administración remota con YaST
130
Administración Remota
Podemos realizar una administración remota del servidor X a través de VNC.
VNC (virtual network computing) es una solución cliente/servidor que permite controlar un servidor X remoto mediante un navegador WEB (Con soporte Java ), konqueror o un cliente nativo VNC por lo que los 2 sistemas no tienen por que ser del mismo tipo
YaST incluye un módulo para la activación de la administración remota.
Activación desde YaST
YaST -> Servicios de Red ->Administración remota
ó # yast2 remote
131
Acceso remoto (1/2) Activamos el aceso remoto arrancando el servicio
xdm /etc/init.d/xdm restart
Podemos acceder de 3 maneras diferentes : Cliente VNC : hostname:5901 Konqueror : vnc://hostname:5901 Navegador WEB con soporte JAVA :
http://hostname:5801
Acceso remoto (2/2) http://hostname:5801
132
Práctica
Ejercicio 11-3: Administración remota (pag 11-6 del manual de prácticas)
top related