2. Mayo 2010 RedHat Linux 5 2
Presentación
Destinatarios
Personal que quiera comenzar a sacar
productividad a su entorno de Linux-Unix
Requisitos previos
Experiencia en el manejo de algún sistema
operativo
Conocer conceptos de informática básica
Objetivos
Entender los fundamentos del sistema
operativo y la necesidad de su administración
Obtener una base sólida de conceptos y
conocimientos aplicables al día profesional
3. Mayo 2010 RedHat Linux 5 3
Contenidos
I. Introducción al Sistema
Operativo Red Hat Linux
II. Sistema de Ficheros UNIX
III. El Shell UNIX
IV. Manejo de Procesos
V. Servicios de Red
VI. Administración del Sistema
4. Mayo 2010 RedHat Linux 5 4
Contenidos
I. Introducción al Sistema
Operativo Red Hat Linux
II. Sistema de Ficheros UNIX
III. El Shell UNIX
IV. Manejo de Procesos
V. Servicios de Red
VI. Administración del Sistema
5. Mayo 2010 RedHat Linux 5 5
I. Introducción al Sistema
Operativo Red Hat Linux
1. Introducción a UNIX
2. Instalación del Sistema
3. Arranque del Sistema
4. Niveles de Ejecución
5. Comandos Básicos de UNIX
6. Ejercicios
6. Mayo 2010 RedHat Linux 5 6
1. Introducción a UNIX
Sistema Operativo
Laboratorios Bell (principios 70’s)
Entorno de trabajo para desarrollo de
aplicaciones (programar)
Multiprogramación
Tiempo compartido
Adaptaciones
Compañía Nombre comercial
IBM AIX
Sun Microsystems Solaris
HP HP-UX
7. Mayo 2010 RedHat Linux 5 7
1. Introducción a UNIX
Versiones para PC
Linux
FreeBSD
BeOS
Linux
Linus Torvalds (Universidad Helsinki)
Inspirado en Minix
Actualmente numerosas “distribuciones”
Fedora
SuSE
RedHat
GuadaLinex
Ubuntu
…
8. Mayo 2010 RedHat Linux 5 8
1. Introducción a UNIX
Características de UNIX
Sistema Multiusuario
Alta estabilidad
Shell “sencillo” y potente
Case Sensitive
Permite desarrollo de aplicaciones
Libre distribución
Por y para programadores
Open Source
Cada vez más cercano al usuario
9. Mayo 2010 RedHat Linux 5 9
1. Introducción a UNIX
Estructura de los sistemas UNIX
Núcleo (Kernel)
Módulos de gestión
Hardware
Procesos
Recursos
Herramientas
Apache
Samba
KDE
GNOME
…
Intérprete de órdenes (Shell)
10. Mayo 2010 RedHat Linux 5 10
2. Instalación del Sistema
Diferentes maneras de instalar
Desde CD/DVD
Mediante Kickstart
Fichero .ks para instalación desatendida
Debe ser accesible por red (nfs, ftp, http)
O por diskette, CD o DVD
Desde código fuente
Tener claro:
Qué paquetes se quieren instalar
Qué hardware tenemos
Qué seguridad necesitamos
Qué usuarios debemos habilitar
Cómo vamos a particionar los discos
11. Mayo 2010 RedHat Linux 5 11
2. Instalación del Sistema
Anaconda
12. Mayo 2010 RedHat Linux 5 12
2. Instalación del Sistema
1. Idioma y teclado
13. Mayo 2010 RedHat Linux 5 13
2. Instalación del Sistema
2. Particionado
14. Mayo 2010 RedHat Linux 5 14
2. Instalación del Sistema
3. Gestor de Arranque (GRUB)
15. Mayo 2010 RedHat Linux 5 15
2. Instalación del Sistema
3. Gestor de Arranque (GRUB)
16. Mayo 2010 RedHat Linux 5 16
2. Instalación del Sistema
4. Configuración de Red
17. Mayo 2010 RedHat Linux 5 17
2. Instalación del Sistema
5. Zona Geográfica
18. Mayo 2010 RedHat Linux 5 18
2. Instalación del Sistema
6. Contraseña de súper-usuario (root)
19. Mayo 2010 RedHat Linux 5 19
2. Instalación del Sistema
7. Selección de paquetes a instalar (YUM)
20. Mayo 2010 RedHat Linux 5 20
3. Arranque del Sistema
Primer arranque
21. Mayo 2010 RedHat Linux 5 21
3. Arranque del Sistema
Primer arranque (Cortafuegos y Seguridad)
22. Mayo 2010 RedHat Linux 5 22
3. Arranque del Sistema
Primer arranque (Actualizaciones y Usuarios)
23. Mayo 2010 RedHat Linux 5 23
3. Arranque del Sistema
Proceso secuencial que
Inicia el sistema físico
Carga el gestor GRUB
Carga el Kernel y el Sistema Operativo
Muestra la pantalla de Login
Modo texto
Modo gráfico
Muestra la pantalla de Password (oculto)
Muestra el Prompt
[usuario@máquina directorio]$
[usuario@máquina ~]#
Carga el entorno gráfico
25. Mayo 2010 RedHat Linux 5 25
3. Arranque del Sistema
GRUB
Sector MBR y sector secundario (Kernel)
(hdx,y) identifica discos IDE o SCSI como
partición y del dispositivo x
Permite arranque manual
Pasándole argumentos en arranque
Mediante fichero /boot/grub/grub.conf
26. Mayo 2010 RedHat Linux 5 26
3. Arranque del Sistema
Instalación de Software Adicional
RHEL provee sistema de actualización
Requiere un usuario válido para la RHN
CentOS es totalmente compatible
Otras posibilidades:
Compilar e instalar los fuentes
Mediante paquetes RPM
rpm –qa
rpm –ql paquete.rpm
rpm –Uvh paquete.rpm
rpm –e paquete.rpm
Mediante el gestor YUM
27. Mayo 2010 RedHat Linux 5 27
3. Arranque del Sistema
YUM
Instalar o actualizar software desde
repositorios de Internet
Ficheros .repo en /etc/yum.repos.d/
name, baseurl, gpgcheck, gpgkey
Comandos:
yum install nombre_paquete
yum remove nombre_paquete
yum search patron
yum provide patron
Repositorio no oficial:
RPMForge en http://dag.wieers.com/
28. Mayo 2010 RedHat Linux 5 30
5. Comandos Básicos de UNIX
exit
Cierra la sesión de usuario
who [am i], w, whoami
Muestra información a cerca de los usuarios conectados
write <usuario>
Escribe un mensaje a otro usuario conectado
Control+D para finalizar
mesg [y|n]
Permite habilitar y deshabilitar mensajes de otros
usuarios
date
Muestra la fecha y hora actuales
echo <mensaje>
Muestra el mensaje escrito
29. Mayo 2010 RedHat Linux 5 31
5. Comandos Básicos de UNIX
cal [mes] [año]
Muestra un calendario
uname
Muestra información del sistema UNIX
passwd [usuario]
Permite cambiar el password
lpr <archivo>
Envía un archivo a la impresora
script [archivo]
Crea un fichero de script con lo que escriba el usuario
(typescript por defecto)
man <comando>
Muestra ayuda de manual para distintos comandos
clear
Limpia la pantalla
30. Mayo 2010 RedHat Linux 5 32
6. Ejercicios
1.1 Iniciar una sesión. ¿Qué prompt aparece?
Finalizar la sesión con exit. ¿Qué pasa al
invocar EXIT?
1.7 Visualizar la hora en formato “Son las HH horas
y MM minutos”
1.10 Visualizar el calendario de Septiembre de 1950
1.11 Visualizar Septiembre de 1752 y consultar el
manual de cal
1.13 Modificar el password e intentar acceder con el
antiguo
1.16 Consultar las órdenes “banner”, “time” y “open”
31. Mayo 2010 RedHat Linux 5 33
6. Ejercicios
1.2 Enviar mensajes a otros usuarios. ¿Cómo se
puede evitar?
1.12 Determinar el día de la semana en que nació
1.14 Visualizar el nombre, versión y hardware
soportado por su sistema
1.15 ¿Qué órdenes están relacionadas con uname y
con passwd?
1.17 Consultar la sección “juegos” del manual
1.00 Instalar Acrobat Reader
1.00 Reiniciar el sistema para actualizar los cambios
32. Mayo 2010 RedHat Linux 5 34
Contenidos
I. Introducción al Sistema
Operativo Red Hat Linux
II. Sistema de Ficheros UNIX
III. El Shell UNIX
IV. Manejo de Procesos
V. Servicios de Red
VI. Administración del Sistema
33. Mayo 2010 RedHat Linux 5 35
II. Sistema de Ficheros UNIX
1. Archivos y Sistema de Archivos
2. Comandos de Archivos y
Directorios
3. Búsqueda de Archivos y Textos
4. Seguridad de Archivos
5. Las MTOOLS
6. Ejercicios
34. Mayo 2010 RedHat Linux 5 36
1. Archivos y Sistema de Archivos
Archivo
Conjunto de datos con un nombre
En UNIX, secuencia de bytes (8 bits)
Identificados por path en el árbol de directorios
Número mágico
Directorio
Archivo especial que contiene información para
localizar otros archivos
Directorio raíz o root (/)
Path
Camino (absoluto/relativo)
../.
Directorios interesantes
/dev /bin /etc /usr
/usr/bin /usr/lib /usr/mail /usr/man
35. Mayo 2010 RedHat Linux 5 37
1. Archivos y Sistema de Archivos
Árbol de directorios
36. Mayo 2010 RedHat Linux 5 38
1. Archivos y Sistema de Archivos
Nombre de archivos
Hasta 255 caracteres ASCII
Evitar: * ? > < | [ ] $ " ( ) …
Sistema de Archivos
Aplicación para la administración de datos
almacenados en dispositivos de
almacenamiento secundario
Llamadas al Sistema
Conjunto de funciones del Sistema Operativo
para manipular archivos
37. Mayo 2010 RedHat Linux 5 39
2. Comandos de Archivos y Directorios
ls
Listado de directorio
pwd (print working directory)
Muestra el directorio actual
PS1, variable Shell que representa el prompt
Ejemplo: PS1 = `$pwd> `
cd
Cambia de directorio
mkdir
Crea un directorio
rmdir
Elimina un directorio
38. Mayo 2010 RedHat Linux 5 40
2. Comandos de Archivos y Directorios
cat
Muestra el contenido de un archivo
more
Muestra el contenido de un archivo por páginas
head y tail
Muestra las primeras o últimas N líneas de un
fichero
cp
Copia un archivo
mv
Mueve un archivo
rm
Elimina un archivo
39. Mayo 2010 RedHat Linux 5 41
3. Búsqueda de Archivos y Textos
UNIX incluye varios comandos para realizar
búsqueda de archivos y texto dentro de archivos
Expresiones Regulares (Tema III)
Comandos de búsqueda:
which <archivo>
Busca <archivo> en el PATH de usuario
whereis <orden>
Busca una orden devolviendo su ubicación y la
página de manual en que se encuentra
id [usuario]
Devuelve los identificadores de un usuario
(número de usuario y grupo)
40. Mayo 2010 RedHat Linux 5 42
3. Búsqueda de Archivos y Textos
find <path> <expresión>
Una de las órdenes de búsqueda más
potentes de UNIX
Busca una expresión en toda la estructura de
directorios de un path
Ejemplos
find / -name ifconfig
find / –user root
find / -size +M (tamaño en bloques)
find / -mtime –N (modificado en días)
41. Mayo 2010 RedHat Linux 5 43
4. Seguridad de Archivos
Permisos
¿Quién puede hacer qué?
¿Quién?: usuario, grupo y otros
¿Qué?: rwx indicando lectura, escritura y
ejecución en binario
9 permisos en grupos de 3 dígitos octales
Ejemplo:
Permiso Usuario Grupo Otros
rwxr-xr-- rwx rx r
Binario 111 101 100
Octal 7 5 4
42. Mayo 2010 RedHat Linux 5 44
4. Seguridad de Archivos
Se aplica el permiso en octal
chmod 754 <archivo>
Cambia los permisos de un archivo
Alternativas
u, g, o para indicar quién
+, - para poner o quitar
r, w, x para indicar qué
Ejemplos:
chmod o-x <archivo>
chmod +w <archivo>
chmod go-rx <archivo>
43. Mayo 2010 RedHat Linux 5 45
4. Seguridad de Archivos
umask
Máscara de usuario que indica los permisos
por defecto para un nuevo archivo
Muestra el permiso en octal
Se puede modificar indicando la diferencia
con el permiso implícito 666
Ejemplo:
Cambiar el permiso por defecto a 640
666 – 640 = 26
Ejecutar umask 26
44. Mayo 2010 RedHat Linux 5 46
4. Seguridad de Archivos
chown
Cambia el propietario de un fichero
chgrp
Cambia el grupo al que pertenece un fichero
Cambio de usuario
su [usuario]
Se debe indicar el password
Por defecto cambia a root
Cambio de grupo
newgrp [grupo]
Sólo válido para los grupos permitidos por el
administrador
<
45. Mayo 2010 RedHat Linux 5 47
5. Las MTOOLS
Herramientas para manipular archivos
de diskette
Emulan órdenes DOS
Mismo nombre precedido de ‘M’
Admiten A: para referirnos al diskette
Comandos de directorio:
mdir lista los subdirectorios actuales
mmd crea un directorio
mrd elimina un directorio
mcd cambia de directorio
46. Mayo 2010 RedHat Linux 5 48
5. Las MTOOLS
Comandos de fichero:
mcopy
Copia un fichero DOS
mmove
Mueve un fichero DOS
mdel
Eliminar un fichero DOS
mren
Renombra un fichero DOS
mformat
Formatea un diskette DOS
47. Mayo 2010 RedHat Linux 5 49
6. Ejercicios
2.1 ¿Cuál es su directorio HOME? ¿Existe algún
archivo oculto en este directorio?
2.3 Determinar el tipo de: /etc/hosts, /usr/bin,
/etc/group, /bin/ls, /bin/login, /usr/lib/X11 y
/usr/include/stdio.h
2.5 ¿Quién es el propietario de /etc/passwd? ¿A qué
grupo pertenece? ¿Qué permisos tiene?
2.6 Crear en HOME un directorio COPIA y copiar
/etc/passwd. ¿Quién es el propietario y grupo de
este archivo?
2.10 Crear en HOME un directorio .OCULTO e intente
visualizarlo con ls. Copiar /etc/hosts a este
directorio y mostrar su contenido. Hacer lo
mismo con /bin/cp
48. Mayo 2010 RedHat Linux 5 50
6. Ejercicios
2.12 ¿Se puede cambiar el nombre de un directorio
mediante mv?
2.13 Copiar /etc/group en COPIA/grupo y cambiar
los permisos para que cualquiera pueda
modificarlo
2.15 Eliminar los directorios COPIA y .OCULTO
2.16 ¿Qué valor de máscara permitiría que se
creasen los ficheros con permisos rw-r--r--?
2.17 ¿Cuáles son sus identificadores de usuario y
grupo?
2.18 Modificar los identificadores de usuario y grupo
2.4 Visualizar las 7 primeras líneas y las 12 últimas
de /etc/inittab
49. Mayo 2010 RedHat Linux 5 51
Contenidos
I. Introducción al Sistema
Operativo Red Hat Linux
II. Sistema de Ficheros UNIX
III. El Shell UNIX
IV. Manejo de Procesos
V. Servicios de Red
VI. Administración del Sistema
50. Mayo 2010 RedHat Linux 5 52
III. El Shell UNIX
1. Características Básicas
2. Variables del Shell
3. Expresiones Regulares y Filtros
4. Ejercicios
5. Shell Scripting
6. Ejercicios
51. Mayo 2010 RedHat Linux 5 53
1. Características Básicas
Intérprete de comandos ejecutado
automáticamente al iniciar sesión
NO es el Sistema Operativo
Lee una orden, la analiza y la pasa al
kernel para que la ejecute
También
Sustituye variables Shell por referencias
Genera nombres de archivo (metacaracteres)
Maneja E/S y tuberías (|)
Verifica si es una orden Shell o un programa
Busca la imagen binaria del programa
52. Mayo 2010 RedHat Linux 5 54
1. Características Básicas
Modos de invocación:
Orden &
Ejecuta la orden en segundo plano
Orden1 ; Orden2
Ejecuta las órdenes secuencialmente
(Orden1 ; Orden2)
Ejecuta las órdenes como un grupo
Orden1 | Orden2
Ejecuta la orden 2 con el resultado de la 1 como
entrada
Orden1 `Orden2`
Ejecuta la orden 1 con la salida de la 2 como
argumento
Orden1 && Orden2
Orden1 || Orden2
53. Mayo 2010 RedHat Linux 5 55
1. Características Básicas
history
Almacena un histórico de órdenes
invocadas
Ordenadas por número de secuencia
Accesibles por número de secuencia
Accesibles mediante las fechas arriba
y abajo
Ejemplos:
!517 ejecuta la orden 517
!vi ejecuta la última orden que
empiece por vi
54. Mayo 2010 RedHat Linux 5 56
2. Variables del Shell
HOME
Directorio de trabajo original del usuario
PATH
Caminos de búsqueda para programas
PS1
Prompt primario
PS2
Prompt secundario
TERM
Características del terminal
TMOUT
Segundos que espera por una entrada de usuario
$
Identificador del proceso de Shell
55. Mayo 2010 RedHat Linux 5 57
2. Variables del Shell
Se pueden crear variables
Nombre=valor
Para usarla hay que anteponer $
Sólo existen en el Shell no en el entorno
Proceso de sustitución de variables
Busca símbolos $
Sustituye la variable si es válida
Ejecuta la orden
Ejemplo:
nombre=Oliver
echo Hola $nombre
56. Mayo 2010 RedHat Linux 5 58
2. Variables del Shell
Sustituciones
Almacenar el resultado de una orden en una
variable
Encerrando la orden entre acentos graves (`)
Ejemplo:
fecha=`date`
echo $fecha
Metacaracteres
? Sustituye cualquier carácter excepto .
[] Define un conjunto de caracteres
* Sustituye cero o varios caracteres
57. Mayo 2010 RedHat Linux 5 59
2. Variables del Shell
Alias
Permiten invocar órdenes con distinto
nombre
Ejemplo:
alias dir=“ls -ld”
Se eliminan con unalias
unalias dir
Entrecomillado
Mediante comilla simple (')
Mediante comilla doble (")
Mediante barra de escape ()
58. Mayo 2010 RedHat Linux 5 60
3. Expresiones Regulares y Filtros
Filtro
Cualquier proceso que lea de la entrada estándar
(teclado) y escriba en la salida estándar (pantalla)
Ejemplo:
cat sin argumentos
Expresión Regular
Patrón que permite filtrar cadenas
[] uno de un conjunto de caracteres
* repetición cero o más
? repetición uno o más
() agrupación de patrones
Ejemplo:
([a-zA-Z][0-9]*)+
59. Mayo 2010 RedHat Linux 5 61
3. Expresiones Regulares y Filtros
sort
Filtro que ordena un fichero
Orden alfabético (-n para numérico)
-t permite indicar separador
+x indica el número de campo (base 0)
Ejemplo:
sort –t: +4 fichero
wc
Contador de líneas, palabras y caracteres
-l, -w, -c
Ejemplo:
who | wc -l
60. Mayo 2010 RedHat Linux 5 62
3. Expresiones Regulares y Filtros
cut
Filtra un fichero por filas (-f) o columnas (-c)
-d permite indicar separador
Ejemplo:
cut –c 1-4 –f 1,7 –d ‘:’ fichero
tr
Filtro que “traduce” un texto
tr cadena1 cadena2 < fichero
-d, -s, -c
Ejemplos:
tr [A-Z] [a-z] < fichero
ls –lR | tr –s ‘ ’
tr –d [a-z] < fichero
61. Mayo 2010 RedHat Linux 5 63
3. Expresiones Regulares y Filtros
pr
Formatea un fichero para impresión
Añade cabecera y pie a cada página
Ejemplo:
pr fichero | lpr
tee
Filtro que bifurca una tubería
Se emplea entre dos comandos enlazados por |
-a Añade la salida al fichero sin sobrescribir
Ejemplo:
ls –l | tee listado | wc
62. Mayo 2010 RedHat Linux 5 64
3. Expresiones Regulares y Filtros
grep, egrep
Busca expresiones regulares en ficheros
Ejemplos:
grep '^1' fichero
grep '.$' fichero
grep '[^aeiou]' fichero
Modificadores:
-i ignora mayúsculas y minúsculas
-n muestra los números de línea
-v muestra las líneas que no coinciden
rgrep, zgrep
Buscan en directorios y ficheros comprimidos
63. Mayo 2010 RedHat Linux 5 65
3. Expresiones Regulares y Filtros
sed
Lee ficheros línea a línea aplicando patrones
secuencialmente
Admite especificar patrones en un script (-f)
Admite números de línea en el patrón
Por defecto muestra las líneas por pantalla
Se puede evitar con –n
/patrón/
/patrón/d elimina líneas con patrón
s/anterior/nuevo/g sustituye en todo el fichero
Ejemplos:
sed '/^$/d' fichero
sed '/s/a/A/g' fichero
sed 1,3d fichero
64. Mayo 2010 RedHat Linux 5 66
3. Expresiones Regulares y Filtros
awk
Más potente que sed
Admite programación similar a C
Admite combinaciones de expresiones regulares
Procesa registro a registro
BEGIN y END referencian principio y fin de fichero
Por defecto registro=línea y campo=palabra
Programa awk:
patrón {acción}
Ejemplos:
awk '{print}' fichero
who | awk 'BEGIN {FS=":"}
/^a[^:]*/ {print $1}'
65. Mayo 2010 RedHat Linux 5 67
4. Ejercicios
4.3 Sustituir el prompt por “esperando orden>” y el
secundario por “continuar>”
4.4 Asignar a D1 el directorio /usr/local/bin. ¿Cómo
podemos movernos a este directorio?
4.7 Crea un directorio bin y copiar de /bin todo lo
que comience por a, b ó c
4.7 Crear un directorio etc y copiar de /etc todo lo
que tenga nombre de 5 letras
4.7 Crear un directorio include y copiar todos los
ficheros .h de /usr/include
4.0 SED. Quitar las líneas que no acaben en ‘s’.
Mostrar las líneas 3, 4 y 5. Poner paréntesis
entre todas las letras mayúsculas. Pasar a
mayúscula todas las vocales.
66. Mayo 2010 RedHat Linux 5 68
4. Ejercicios
4.15 Crear un archivo meses y ordenarlo
alfabéticamente
4.16 Crear un archivo uid.ord a partir de
/etc/passwd ordenado por el campo UID. Hacer
lo mismo por el campo GID sin sobrescribir
4.0 AWK. Mostrar el login de los usuarios
conectados. Mostrar la primera palabra de cada
línea. Mostrar las líneas impares.
5.1 Mostrar el mes actual con una única orden
5.6 Buscar los archivos creados en los dos últimos
días con tamaño mayor de 1KB
5.12 Mostrar en mayúsculas el contenido de un
archivo de texto
67. Mayo 2010 RedHat Linux 5 69
5. Shell Scripting
Órdenes relacionadas con el entorno
export
Exporta una variable al entorno
env
Muestra las variables del entorno
set
Asigna un valor a una variable
unset
Elimina el valor de una variable
Ejemplos:
set PATH=.
export nombre
68. Mayo 2010 RedHat Linux 5 70
5. Shell Scripting
Entrada/Salida
Archivos E/S estándar
stdin teclado
stdout pantalla
stderr pantalla
Redirección de E/S
> Redirecciona la salida
< Redirecciona la entrada
2> Redirecciona el error
>> y 2>> Redireccionan anexando
cat > fichero
Forma sencilla de crear ficheros
Finalizar con Control+D
69. Mayo 2010 RedHat Linux 5 71
5. Shell Scripting
Se pueden crear ficheros con conjuntos de
órdenes Shell
Variables especiales
$0 Nombre del script
$i Argumento i-ésimo
# Número de argumentos
* Argumentos en formato cadena
@ Argumentos en formato de lista
? Código de retorno de la última orden
Comandos interesantes
read Pide una variable al usuario
trap Captura señales de excepción
71. Mayo 2010 RedHat Linux 5 73
6. Ejercicios
4.8 Listar ficheros de /usr/bin que empiecen por c
4.9 Listar los archivos de /etc que empiecen por b,
c, d, …, x
4.10 Listar los archivos de /etc que no empiecen por
c, d, …, t
4.2 Visualizar las variables locales y del entorno.
Crear una variable local YO y pasarla al
entorno. ¿Cómo se borra el contenido de YO?
4.12 Crea un fichero hola con la salida de banner
hola. Enviar el archivo a un usuario con write
4.00 Crear alias para la orden wc
72. Mayo 2010 RedHat Linux 5 74
Contenidos
I. Introducción al Sistema
Operativo Red Hat Linux
II. Sistema de Ficheros UNIX
III. El Shell UNIX
IV. Manejo de Procesos
V. Servicios de Red
VI. Administración del Sistema
73. Mayo 2010 RedHat Linux 5 75
IV. Manejo de Procesos
1. Programas y Procesos en Linux
2. Terminación de Procesos
3. Planificación de Tareas
4. Demonios Linux
5. Ejercicios
74. Mayo 2010 RedHat Linux 5 76
1. Programas y Procesos
Programa
Conjunto de instrucciones y datos
almacenados en fichero
Proceso
Programa en ejecución
PID identifica un proceso
PPID identifica al padre del proceso
Estados de un Proceso
En Ejecución
Durmiendo
Listo
Otros (creado, zombie, desalojado, …)
75. Mayo 2010 RedHat Linux 5 77
1. Programas y Procesos
Todos los procesos de usuario finalizan
con la sesión
Incluidos los background
nohup orden &
Ejecuta la orden en background
No se detiene al finalizar sesión
Escribe en un fichero nohup.out
ps lista los procesos del usuario
-l formato largo
-e todos los procesos
-f información completa
76. Mayo 2010 RedHat Linux 5 78
1. Programas y Procesos
nice –N orden
Ejecuta un programa con prioridad N
Todos pueden aumentar de 1 a 19
Sólo el administrador puede disminuir
Por defecto prioridad 10
time orden
Devuelve información de tiempos de
ejecución
77. Mayo 2010 RedHat Linux 5 79
2. Terminación de Procesos
kill –señal PID
Manda una señal al proceso de PID asociada
Señales importantes:
1. Desconexión (HANGUP)
5. Paso de depuración
6 y 7. Error de hardware
10. Error de memoria
15. Terminar proceso (ignorable)
9. Matar proceso (no ignorable)
Invocar siempre kill -9 para matar un proceso
ps para conocer su PID
78. Mayo 2010 RedHat Linux 5 80
3. Planificación de Tareas
Trabajos
Múltiples procesos simultáneos
Número entre corchetes al ejecutar en
segundo plano
jobs devuelve los trabajos y su estado
Se puede terminar un trabajo
kill %N
Se puede detener y reiniciar un trabajo
Control+Z suspende un trabajo
fg lo reinicia
bg lo reinicia en segundo plano
79. Mayo 2010 RedHat Linux 5 81
3. Planificación de Tareas
cron
Ejecuta tareas a horas específicas
Escritas en ficheros crontab
crontab fichero
Minuto, Hora, Día, Mes, Año, DiaSemana
Tarea igual que en Shell pero con % para
indicar ficheros de entrada
/usr/lib/cron/cron.allow y cron.deny
Por defecto sólo root
80. Mayo 2010 RedHat Linux 5 82
4. Demonios Linux
Monitores de disco y ejecución (DAEMON)
Personajes de la mitología griega que se
encargaban de tareas que los dioses no podían
preocuparse
Servicios
Scripts de control en /etc/init.d
service start|stop|restart|status|reload
Súper Demonio
Demonio creado para activar otros demonios
xinetd demonio para servicios de Internet
defaults /etc/xinetd.conf
Servicios /etc/xinetd.d/
84. Mayo 2010 RedHat Linux 5 86
5. Ejercicios
4.19 ¿Cuántos procesos se están
ejecutando? ¿Cuántos son suyos?
4.20 Enviar kill -9 al intérprete de órdenes
4.21 Iniciar sleep 5000 en segundo plano,
cerrar la sesión y volver a conectar
4.22 ¿Cuánto tarda en ejecutarse ps?
4.23 Iniciar vi, detenerlo y enviarlo a
background. ¿Cuántos trabajos hay?
4.0 Detener el servicio yumupdatesd
4.00 Añadir un servicio a xinetd
85. Mayo 2010 RedHat Linux 5 87
Contenidos
I. Introducción al Sistema
Operativo Red Hat Linux
II. Sistema de Ficheros UNIX
III. El Shell UNIX
IV. Manejo de Procesos
V. Servicios de Red
VI. Administración del Sistema
86. Mayo 2010 RedHat Linux 5 88
V. Servicios de Red
1. Introducción
2. Administración de la Red
3. Conexión Remota
4. Sistemas de Archivos en Red
5. IPTABLES
6. Ejercicios
87. Mayo 2010 RedHat Linux 5 89
1. Introducción
LAN
Red local de pocos ordenadores
WAN
Red extendida de múltiples ordenadores
Ethernet
Estándar para redes LAN
TCP/IP
Protocolos de transporte y red Internet
Aplicaciones:
HTTP
FTP
Conexión remota
e-mail
Sistemas de archivos en red
…
89. Mayo 2010 RedHat Linux 5 91
2. Administración de la Red
Interfaces de red
/etc/sysconfig/networking/devices/ifcfg-eth0
lo /etc/hosts
ifconfig/iwconfig
Muestra información de los dispositivos
netstat
Muestra el estado de las conexiones de red
route
Muestra la tabla de enrutado
traceroute destino
Muestra la ruta para llegar a destino
iptables
90. Mayo 2010 RedHat Linux 5 92
3. Conexión Remota
telnet [servidor][puerto]
ssh [usuario@maquina]
-X permite un túnel a servidor × local
Habilitarlo en /etc/ssh/ssh_config
gnome-session --display=:1
Xnest :1 -geometry 800x600 &
rdesktop*
Acceso remoto a máquinas Windows
-k es-es –f <máquina>
Ejercicios:
Conectar remotamente al Servidor Windows 2003
del profesor
Conectar remotamente a RHEL5
91. Mayo 2010 RedHat Linux 5 93
4. Sistemas de Archivos en Red
NFS
Protocolo de compartición de archivos
tradicional de UNIX
Servidor exportar sistema de archivos
montable por los clientes
Servicios nfs y portmap
Servidor
/etc/exports
exportfs cliente:/directorio
Cliente
mount –t nfs <servidor>:<dispositivo>
<punto>
showmount -a
92. Mayo 2010 RedHat Linux 5 94
4. Sistemas de Archivos en Red
Samba
Protocolo de compartición de recursos
Windows
Procesos
Demonio smbd servidor y autenticación
Demonio nmbd NetBios
Demonio winbind autenticación de usuarios
Windows en UNIX
Servicio smb samba-server
/etc/samba/smb.conf
testparm
smbclient –L servidor
93. Mayo 2010 RedHat Linux 5 95
5. IPTABLES
Firewall Linux por excelencia
Tablas
Mangle
Manipulación de paquetes (TTL, TOS, …)
Nat
Traducción de direcciones
Filter
Reglas de filtrado de paquetes
Tráfico
PREROUTING y POSTROUTING
INPUT y OUTPUT
FORWARD
94. Mayo 2010 RedHat Linux 5 96
5. IPTABLES
Cadenas usadas por cada tabla
Mangle Nat Filter
PREROUTING X X
INPUT X X
FORWARD X X
OUTPUT X X X
POSTROUTING X X
95. Mayo 2010 RedHat Linux 5 97
5. IPTABLES
Reglas:
-p protocolo
-s dirección origen del paquete
-d dirección destino del paquete
-i interfaz local de entrada
-o interfaz local de salida
-j Acción a realizar
DROP, ACCEPT, REJECT, RETURN, QUEUE
iptables –t <tabla> -A <tráfico>
<filtro> <acción>
96. Mayo 2010 RedHat Linux 5 98
5. IPTABLES
Ejemplos:
service iptables save
IPTABLES=/sbin/iptables
# Borrado de las reglas de enrutado
$IPTABLES -F FORWARD
# Borrado de las reglas de entrada al FIREWALL
$IPTABLES -F
$IPTABLES -t mangle -F
$IPTABLES -t nat -F
# Borrado de las cadenas de Usuario
$IPTABLES -X
$IPTABLES -t mangle -X
$IPTABLES -t nat -X
# Políticas por defecto a DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
97. Mayo 2010 RedHat Linux 5 99
6. Ejercicios
7.1 Determinar el nombre y dominio de tú
máquina
7.3 Determinar la IP de www.gui.uva.es
13.1 Comprobar la configuración de red del
sistema
13.3 Visualizar la tabla de enrutado del
sistema
13.0 Establecer reglas de IPTABLES para
permitir acceso completo hacia fuera de
una red pero no permitir la entrada al
puerto SSH
98. Mayo 2010 RedHat Linux 5 100
Contenidos
I. Introducción al Sistema
Operativo Red Hat Linux
II. Sistema de Ficheros UNIX
III. El Shell UNIX
IV. Manejo de Procesos
V. Servicios de Red
VI. Administración del Sistema
99. Mayo 2010 RedHat Linux 5 101
VI. Administración del Sistema
1. Introducción a la Administración
2. Administración de Usuarios y
Grupos
3. Administración del Sistema de
Archivos
4. Copias de Seguridad y Recuperación
5. Parada y Arranque del Sistema
6. Ejercicios
100. Mayo 2010 RedHat Linux 5 102
1. Introducción a la Administración
Administrar
Analizar los requerimientos del sistema
Determinar el HW y SW necesarios
Instalar y configurar hardware y software
Mantenimiento del sistema (errores,
actualizaciones, rendimiento, …)
Migraciones transparentes
Mantener usuarios y grupos
Asistir e informar
Respetar la privacidad
Mantener políticas de seguridad
…
101. Mayo 2010 RedHat Linux 5 103
2. Administración de Usuarios y
Grupos
Ficheros asociados:
/etc/passwd Fichero texto con 7 campos
usuario:clave:idUSR:idGRP:comentarios:
HOME:programaInicio
/etc/group Fichero texto con 4 campos
grupo:password:idGRP:miembros
/etc/shadow Fichero texto con 9 campos
usuario:clave:ultimoCambio:sgteCambio:
debeCambiar:diasAviso:diasCaduca:
diasDeshab:reservado
Clave=“!” cuenta bloqueada
Clave=“*” cuenta desactivada
102. Mayo 2010 RedHat Linux 5 104
2. Administración de Usuarios y
Grupos
Comandos de root asociados:
useradd <usuario>
-D muestra los valores por defecto
groupadd <grupo>
passwd [usuario]
-d elimina el password
gpasswd –A usuario grupo
Delega en un usuario como admin de grupo
–a y –d para añadir y eliminar miembros
Ejercicio:
Crear grupo, usuario y contraseña
103. Mayo 2010 RedHat Linux 5 105
2. Administración de Usuarios y
Grupos
Comandos de root asociados:
chage
Cambia los tiempos de una contraseña
-m tiempo mínimo para cambiarla
-M tiempo máximo antes de cambiarla
-W días de antelación con que se avisa
-I días hasta que se bloquea la cuenta
Ejercicio:
Hacer que se deba cambiar la contraseña cada
12 días pero no antes del Jueves y que avise
con 2 días de antelación
104. Mayo 2010 RedHat Linux 5 106
2. Administración de Usuarios y
Grupos
105. Mayo 2010 RedHat Linux 5 107
2. Administración de Usuarios y
Grupos
106. Mayo 2010 RedHat Linux 5 108
2. Administración de Usuarios y
Grupos
Otros comandos asociados:
pwck
Comprueba inconsistencias en /etc/passwd
grpck
Comprueba inconsistencias en /etc/group
chsh
Cambia el Shell de un usuario
Sólo admite los existentes en /etc/shells
chfn
Cambia la información de un usuario
Ejercicio:
Comprobar posibles inconsistencias y cambiar la
información de nuestro usuario
107. Mayo 2010 RedHat Linux 5 109
2. Administración de Usuarios y
Grupos
Otros comandos asociados:
userdel
Elimina un usuario
groupdel
Elimina un grupo
wall
Informa a todos los usuarios
/etc/motd
Mensaje de inicio de sesión
Ejercicio:
Cambiar el motd para que diga que se van a
borrar todos los usuarios y borrar los grupos
creados. ¿Qué pasa con los usuarios?
108. Mayo 2010 RedHat Linux 5 110
2. Administración de Usuarios y
Grupos
Permisos: chmod
Permisos especiales:
A parte de usuario y grupo existen usuario
efectivo y grupo efectivo para procesos
También determinan permisos
4. set-uid Se ejecuta como propietario
2. set-gid Se ejecuta como grupo
1. sticky-bit Programa de código compartido
chmod +s <programa>
chmod +t <programa>
Ejercicios:
Comprobar el set-uid de /usr/bin/passwd
Activar el sticky-bit del directorio $HOME
109. Mayo 2010 RedHat Linux 5 111
2. Administración de Usuarios y
Grupos
SELinux
Proyecto de la NSA para construir un sistema de
control de acceso basado en políticas
Integrado en el núcleo del sistema
Refuerza la seguridad basada en permisos
protegiendo contra aplicaciones maliciosas (set-
uid root)
Fija “contextos” (id -Z) que indican cuando un
objeto puede acceder a otro
Contexto = identidad + rol + dominio
Permisos muy concretos sobre sujetos y objetos
110. Mayo 2010 RedHat Linux 5 112
2. Administración de Usuarios y
Grupos
system-config-selinux
111. Mayo 2010 RedHat Linux 5 113
2. Administración de Usuarios y
Grupos
112. Mayo 2010 RedHat Linux 5 114
3. Administración del Sistema de
Archivos
Archivo UNIX
Inodo + secuencias de bytes
Tipos de Archivo
Ficheros
Directorios (pares inodo-nombre de archivo)
Dispositivos
Tipo bloque
Tipo carácter
Tuberías
Enlaces
mknod
Crea inodos que apuntan a dispositivos (b, c) y
tuberías (p)
113. Mayo 2010 RedHat Linux 5 115
3. Administración del Sistema de
Archivos
Sistema de Archivos
Bloque de arranque
Superbloque
Almacena información del estado del disco
Lista de inodos
Propietario, grupo, tipo, permisos, tamaño
Bloque de datos
Creación de un sistema de archivos
1. Crear el archivo de dispositivo
mknod
2. Crear el sistema de archivos
mke2fs y distintos mkfs
3. Montar el nuevo sistema de archivos
mount
114. Mayo 2010 RedHat Linux 5 116
3. Administración del Sistema de
Archivos
Montaje de dispositivos
mount <dispositivo> <directorio>
El dispositivo debe tener un sistema de
archivos
El directorio debe estar vacío
El uso del dispositivo es transparente
-t tipo para montar un tipo de sistema
ext2/3, msdos, nfs, smb, Reiser, …
-a monta todos los sistemas de archivos
-r monta el dispositivo en solo lectura
umount <dispositivo>
Ejercicio:
Crear un alias para montar y desmontar el DVD
115. Mayo 2010 RedHat Linux 5 117
3. Administración del Sistema de
Archivos
/etc/fstab
Fichero que contiene información con los
dispositivos a montar por defecto
Dispositivo, montaje, sist. archivos, opciones
Por defecto solo lectura, solo root y ejecutable
Cambiar las opciones a user para permitir
fsck
Comprueba inconsistencias en el sistema de
archivos
Automático ante un apagón
-r pregunta antes de reparar
-a modo automático
116. Mayo 2010 RedHat Linux 5 118
3. Administración del Sistema de
Archivos
Particiones
Dispositivos lógicos sobre un dispositivo físico
Primarias y extendidas (máximo 4) y lógicas
fdisk
-l Lista las particiones actuales
parted
Entorno GNU de edición de particiones
print, rm, rescue, resize, check, …
En cualquier caso se debe desmontar el
volumen antes de modificarlo
Swap
Partición de intercambio
mkswap <dispositivo>
117. Mayo 2010 RedHat Linux 5 119
3. Administración del Sistema de
Archivos
118. Mayo 2010 RedHat Linux 5 120
3. Administración del Sistema de
Archivos
119. Mayo 2010 RedHat Linux 5 121
3. Administración del Sistema de
Archivos
RAID
Mecanismo de redundancia de información ante un
fallo eventual
Utilizar varios discos o particiones de discos como
un único dispositivo
mdadm
-l nivel de RAID (0, 1, 4, 5, …)
-n número de dispositivos
Modos:
Create, Assemble, Manage, Monitor, Build
Creación:
mdadm -C /dev/md0 -l0 -n2 /dev/hda1
/dev/sdb1
mdadm -C /dev/md0 -l5 -n5 /dev/sd{a,b,c,d,e}1
120. Mayo 2010 RedHat Linux 5 122
3. Administración del Sistema de
Archivos
RAID
Consultar:
mdadm --detail --scan
/etc/mdadm.conf
mdadm -E /dev/hda1
Iniciar un RAID existente:
mdadm -As /dev/md0
mdadm -A /dev/md0 /dev/hdb1 /dev/hdc1
Añadir discos:
mdadm /dev/md0 --add /dev/hdc1
Eliminar discos:
mdadm /dev/md0 --fail /dev/hdc1 --remove
/dev/hdc1
121. Mayo 2010 RedHat Linux 5 123
4. Copias de Seguridad y
Recuperación
Existen numerosas órdenes para
realizar copias de seguridad
Cada sistema aporta las suyas
propias para facilitar la tarea
Tipos de backup
Desestructurado
Completo+Incremental
Espejo+Diferencial
Contínuo
122. Mayo 2010 RedHat Linux 5 124
4. Copias de Seguridad y
Recuperación
tar
Se creo para grabar en cinta magnética
Permite guardar y recuperar
c nuevo archivo
r añade a archivo
u actualiza archivo
x extraer archivos
dd
Comando para duplicar disco
Lento pero útil cuando todos los discos son
iguales y van a cambiar poco
123. Mayo 2010 RedHat Linux 5 125
4. Copias de Seguridad y
Recuperación
dump
-level# tipo de backup (0-9)
-A archivo tabla de contenidos
-f archivo fichero de salida
-j# nivel de compresión bzlib
-M habilita múltiples volúmenes
restore
-f archivo fichero de origen
-r reconstruye el sist. archivos
-A archivo lee la tabla de contenidos
-M habilita múltiples volúmenes
124. Mayo 2010 RedHat Linux 5 126
5. Parada y Arranque del Sistema
/etc/init productor general de procesos
/etc/inittab
Acciones permitidas:
respawn activar el proceso indicado siempre
wait ejecutar el proceso esperando fin
once ejecutar el proceso sin esperar
boot ejecutar sólo al arrancar
bootwait boot + wait
powerfail ejecutar ante fallo de alimentación
powerwait powerfail + wait
off ignorar o matar
sysinit ejecutar antes de acceder al shell
initdefault nivel de ejecución inicial en arranque
125. Mayo 2010 RedHat Linux 5 127
5. Parada y Arranque del Sistema
Parada del sistema
shutdown [modificadores] hora [msg]
-r reiniciar
-h apagar
-F fuerza fsck
-c cancelar
-k aviso
Se debe indicar una hora en formato
HH:MM o con el alias now
126. Mayo 2010 RedHat Linux 5 128
6. Ejercicios
10.1 Crear un usuario alumno en el grupo users.
Debe iniciar /bin/sh en /home/alumno
10.3 Obligar a que alumno cambie su contraseña en
el siguiente inicio
10.9 Añadir a /etc/motd un mensaje banner
11.3 Crear un nuevo sistema de archivos y montarlo
en /ejercicio
11.8 Crear un directorio /mp3 compartido por
Samba. Debe ser público y de sólo lectura
12.8 Iniciar la máquina observando la secuencia de
encendido. ¿Qué PID tiene init?
12.12Detener la máquina esperando 2 minutos y
enviando un mensaje a todos los usuarios
conectados