Curso Linux: Administración de Sistema y Servicios CURSO LINUX: Administración de Sistema y Servicios 1 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios GNU GPL Linux Software Libre Kernel GNU/Linux Distribución Linux Debian Paquete (K)Ubuntu KDE Gnome Emule 2 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Introducción a GNU/Linux Introducción a GNU/Linux 8 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Introducción a GNU/Linux GNU/Linux ● Herramientas GNU + Linux (núcleo). ● Compatible con UNIX (GNU's Not UNIX). ● Sistema multiusuario y multitarea. Bash 9 ● Herramienta GNU. ● Shell, intérprete de comandos. Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Shell:Intérprete de órdenes Curso Linux: Administración de Sistema y Servicios GSyC - 2010 La Shell I 5 Curso Linux: Administración de Sistema y Servicios Introducción a GNU/Linux Shells ● Existen muchas shells: sh,csh,ksh,bash... ● Entorno de trabajo: Case sensitive: sensible a mayúsculas (ECHO != echo). ➔ Sintáxis: comando arg1 arg2... argn ➔ Si un programa no está en el PATH: ./programa ➔ Prompt: ➔ • $: usuario normal • #: usuario administrador (root) 10 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Introducción a GNU/Linux Comandos ● 11 Manejo del sistema de ficheros: ls, cd, cp, mv, rm, mkdir, rmdir... ● Información sobre ficheros: cat, more, less, file... ● Busquedas: find, whereis, locate... ● Filtros: grep, sed, cut, tr... ● Usuarios y grupos: id, whoami, su, sudo... ● Permisos: chmod, chown, chgrp... ● Otros: date, tar, gzip, echo... Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Introducción a GNU/Linux Tuberías ● Un proceso en un sistema UNIX-like tiene inicialmente abiertos 3 canales: 0: STDIN o entrada estándar ➔ 1: STDOUT o salida estándar ➔ 2: STDERR o salida de error ➔ ● Imaginémonos una refinería: ➔ 12 Metes crudo por 0 (STDIN), consigues gasolina por 1 (STDOUT) y bastantes residuos por el “desagüe” 2 (STDERR). Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Introducción a GNU/Linux Tuberías ● Redirigiendo la salida de un comando: ➔ > : redirigir STDOUT a un fichero: ls > listado.txt ➔ >>: redirigir STDOUT al final de un fichero (añadir): ls >> listados.txt ➔ 2>: redirigir STDERR a un fichero: ls 2> errores.txt ➔ 2>>: redirigir STDERR al final de un fichero: ls 2>> errores.txt ➔ 2>&1: redirigir STDOUT y STDERR a un fichero: ls > salida 2>&1 13 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Introducción a GNU/Linux Tuberías ● Redirigiendo la entrada de un comando: ➔ <: redirigir el contenido de un fichero a STDIN: tr a A < fichero.txt ● | : es posible recoger la salida de un desagüe y conducirlo a la entrada de otro comando. cat fichero.txt | tr a A echo "Solo la X de este texto" | cut ­d" " ­f3 14 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Sistemas de ficheros en Unix ● ● ● En un sistema Unix todo son archivos: memoria física, ratón, modems, teclado... Filosofía de diseño de grán éxito y potencia, aunque también peligrosa: un simple error de permisos puede permitir modificar todo un disco duro. Tipos de archivos: ➔ ficheros planos ➔ directorios ➔ ficheros especiales (dispositivos) • orientados a carácter • orientados a bloque 2 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Comandos en GNU/Linux Comandos para búsqueda de archivos ● find (busca ficheros en directorios) ● locate (busca patrones en bases de datos) ● ● 3 whereis (busca el binario, el fuente y la página de ayuda de un fichero) which (busca comandos en el PATH) Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Gestión de Usuarios y Grupos Características de usuarios Unix ● ● 4 Los sistemas Unix son sistemas multiusuario. Cada usuario tiene una serie de características propias y asociadas: ➔ uid: identificativo de usuario (debe ser único) ➔ gid: identificativo de grupo ➔ home: carpeta de trabajo o personal ➔ shell: interprete de comandos Comandos: ➔ who/whoami/id (muestra información de usuarios) ➔ su/sudo (cambia de usuario o privilegios) Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Administración de permisos de ficheros Permisos de ficheros en sistemas Unix ● ● ● 9 Todos los archivos en Unix tienen permisos que indican que y quien puede hacer o no hacer una acción con el archivo. Es la base de la seguridad de Unix. 2 formas de notación: ➔ Modo alfabético ➔ Modo octal Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Administración de permisos de ficheros Permisos de ficheros en sistemas Unix ● 10 Modo alfabético Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Administración de permisos de ficheros Permisos de ficheros en sistemas Unix ● 11 Modo octal Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Administración de permisos de ficheros Cambiando los permisos ● 12 Solo es posible alterar los permisos si el usuario que lo está haciendo es el propietario del archivo. ➔ chmod [ugoa][+­][rwx] archivo ➔ u (propietario), g (grupo), o (resto), a (todos) ➔ + / ­: añadir / eliminar permisos ➔ r (lectura), w (escritura), x (ejecución) ➔ chmod [modo_octal] archivo Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Montaje de dispositivos Diferencia Linux <-> Windows ● En Windows los directorios se montan sobre unidades físicas: C:\Carpeta D:\Drivers\vga ● En Linux los dispositivos se montan en directorios de la estructura de ficheros: /home/usuario /media/cdrom 33 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Montaje de dispositivos Dispositivos y “devices” asociados ● Disco duro IDE y CDROM: /dev/hdXY ➔ X: Número de disco/dispositivo_IDE (a, b, c...) ➔ Y: Número de partición (1, 2, 3...) /dev/hda /dev/hda1 /dev/hdb3 ● Disco duro SCSI, SATA y externos USB: /dev/sdXY /dev/sda /dev/sda1 /dev/sdc4 34 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Montaje de dispositivos Particiones primarias y lógicas ● Máximo 4 primarias: /dev/hda1 /dev/hda2 /dev/hda3 /dev/hda4 ● Una de ellas se puede establecer como partición extendida: /dev/hda4 ● Se pueden crear varias particiones lógicas en una extendida: /dev/hda5 /dev/hda6 ... ● 35 Linux puede arrancar desde una partición lógica, no así Windows que requiere una primaria. Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Montaje de dispositivos /etc/fstab # /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 /dev/hda1 / ext3 defaults,errors=remount­ro 0 1 /dev/hda3 /home ext3 defaults 0 2 /dev/hda2 none swap sw 0 0 /dev/hdb1 /media/hdb1 ext3 defaults 0 1 /dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0 ● 36 La opción “user” permite que un usuario normal (no root) monte la partición. Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Montaje de dispositivos mount ● Para montar dispositivos manualmente. ● Si el dispositivo existe en fstab: mount punto_de_montaje ó mount /dev/dispositivo ➔ Ej: mount /dev/hdc = mount /media/cdrom0 ● Si el dispositivo no existe en fstab: mount ­t TIPO_SIS_FICHEROS /dev/dispositivo punto_montaje ➔ Ej: mount ­t iso9660 /dev/hdc /media/cdrom0 mount ­t ext3 /dev/hdb1 /media/disco_2 mount ­t vfat /dev/hda2 /mnt/windowsXP 37 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Montaje de dispositivos mount (II) ● Notas: ➔ Una partición de tipo VFAT no dispone de permisos ni dueños/grupos así que no se puede usar el comando “chown” ni “chmod” para permitir a usuarios la escritura. • La partición por defecto es del usuario que la monta (la puede montar cualquiera si tiene la opción “user”). • Se puede fijar el dueño de la partición con la opción “uid”, el grupo con “gid” y los permisos con “umask” (ojo, “umask” es la máscara invertida). ● 38 ¡¡ man mount !! Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Montaje de dispositivos umount ● Desmonta un dispositivo: umount /dev/dispositivo ó umount punto_de_montaje ● ¡ Sólo si el dispositivo no está usado por ningún proceso! ➔ Si un usuario tiene una terminal en /media/cdrom no se podrá desmontar el dispositivo. ➔ Para comprobar qué procesos están usando un dispositivo: lsof punto_de_montaje Ej: lsof /media/cdrom 39 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Montaje de dispositivos pmount / pumount ● 40 Igual que mount/umount pero no requiere que exista el punto de montaje. ➔ Facilidad para manejar dispositivos extraibles (pendrives, cds, tarjetas...). ➔ Permite el montaje a usuarios normales. Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Administración de procesos Procesos en Unix ● ● ● 13 Los sistemas Unix son sistemas multitarea. Se pueden estar ejecutando distintas tareas a la vez y cada tarea es un proceso. El kernel es el encargado de asignarle una parte de la memoria para su ejecución. Los procesos tienen un dueño y vienen definidos por sus permisos. Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Administración de procesos Procesos en Unix ● 14 Se caracterízan por: ➔ pid: número identificador de proceso (único) ➔ ppid: nº de identificador del proceso padre ➔ user: dueño del proceso Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Niveles de Ejecución En los sistemas Unix hay 7 (0...6) niveles de ejecución 65 ● nivel 0: estado de parada (halt) ● nivel 1: monousuario ● nivel 2, 3 y 5: multiusuario ● nivel 4: no tiene un uso específico ● nivel 6: estado de reinicio (reboot) Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Niveles de Ejecución Init ● Es el primer proceso que se crea (PID=1). ● Se configura mediante /etc/inittab. ➔ Sintaxis id:nivel:accion:proceso • id: nombre de la línea • nivel: nivel o niveles en los que la línea debe procesarse • accion wait (espera), once (solo 1 vez), respawn (rearranca una vez finalizado), off (ignora la línea) • proceso: path del proceso a ejecutar 66 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Niveles de Ejecución Init ➔ Valores típicos del archivo /etc/inittab: id:2:initdefault l0:0:wait:/etc/init.d/rc 0 l1:1:wait:/etc/init.d/rc 1 l2:2:wait:/etc/init.d/rc 2 l3:3:wait:/etc/init.d/rc 3 1:2345:respawn:/sbin/getty 38400 tty1 2:23:respawn:/sbin/getty 38400 tty2 z6:6:respawn:/sbin/sulogin # CTRL­ALT­DEL! ca:12345:ctrlaltdel:/sbin/shutdown ­t1 ­a ­r now 67 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Arranque del sistema ● ● 68 Cuando la máquina se inicia en un nivel de ejecución N se ejecutan todos los scripts que empiecen por 'S' o 'K' contenidos en /etc/rcN.d/ con las siguientes particularidades. ➔ Si el nombre del script comienza por S se le pasa como parámetro 'start'. ➔ Si el nombre del script comienza por K se le pasa como parámetro 'stop'. Normalmente todos estos ficheros de /etc/rcN.d son enlaces a scripts localizados en /etc/init.d/ Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Configurando servicios en arranque y parada update­rc.d ● ● Herramienta para configurar automágicamente los enlaces a los scripts de init tipo System V que están en /etc/rcN.d/[S|K]NNnombre y que apuntan a los scripts /etc/init.d/nombre. Ejemplos # update­rc.d 3ware defaults # update­rc.d script start 90 1 2 3 4 5 . stop 20 0 6 . 69 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Administración de procesos Trabajando con procesos ● ● ● 15 Control de procesos ➔ ps / pstree (resumen de los procesos activos) ➔ top (muestra las tareas de linux) Señales entre procesos ➔ kill / killall (termina o “mata” procesos) Control de trabajos ➔ jobs (visulaiza los trabajos en segundo plano) ➔ bg / fg (envía / trae procesos a segundo plano ➔ & (ejecución en segundo plano) Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Sistemas de archivos locales ● ● Forma en que el SO organiza, gestiona y mantiene la jerarquía de archivos y directorios en un dispositivo de almacenamiento. Linux soporta gran cantidad de sistema de ficheros: ➔ Orientados a disco • Nativos ext, ext2, ext3, reiserfs, xfs, jfs • Externos msdos, vfat, ntfs, iso9660, ufs ➔ Distribuidos • nfs, smb, codafs 16 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Ficheros importantes Ficheros de configuración (/etc/) ● 17 Inicio del sistema ➔ hostname (nombre de la máquina) ➔ inittab (procesos de arranque y niveles de ejecución) ➔ fstab / mtab (información sobre sistemas de ficheros) ➔ rc.d (servicios en el arrancar y parar del sistema) Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Ficheros importantes Ficheros de configuración (/etc/) (II) ● 18 Usuarios ➔ passwd / group (usuarios y grupos del sistema) ➔ shadow (contraseñas cifradas) ➔ sudoers (lista de que usuarios que pueden ejecutar qué) Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Ficheros importantes Ficheros de comunicación con el kernel (/proc/) ● 19 Es un pseudo sistema de ficheros que se usa como interfaz para hablar con el kernel ➔ cpuinfo (procesador del sistema) ➔ meminfo (memoria libre y usada del sistema) ➔ loadavg (carga del sistema) ➔ filesystems (sistemas de ficheros soportados por el kernel) ➔ pci (listado de los dispositivos pci) ➔ sys (permite modificar variables del sistema) ➔ uptime (tiempo de funcionamiento) ➔ version (versión del sistema) Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Sistemas de ficheros en Unix Comandos para el manejo del sistema de ficheros (II) linux:~$ ls ­lha / linux:~$ pwd linux:~$ cd ../../etc linux:~$ touch /home/linux/fichero linux:~$ date +%d/%m/%y linux:~$ cp ­a /var/log /backup/ linux:~$ mkdir ­p /tmp/prueba/creacion/directorio linux:~$ rm ­rf /home/linux/carpeta/ 28 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Sistemas de ficheros en Unix Estructura de los Sistemas de Ficheros ● 29 Estándar de la Jerarquía de Ficheros (FHS) ➔ Se encarga de definir los directorios principales y sus contenidos en Linux y otros sistemas Unix. ➔ Mayor facilidad en el uso de distintos sistemas Unix. Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Sistemas de ficheros en Unix Estructura de los Sistemas de Ficheros (II) 30 ● /bin/ /sbin/: comandos esenciales del sistema ● /boot/: kernel y archivos de arranque ● /dev/: dispositivos esenciales ● /etc/: archivos de configuración globales ● /home/: directorios personales de usuarios ● /lib/: librerías para comandos esenciales ● /mnt/ /media/: puntos de montaje ● /usr/: ficheros “compartidos” no esenciales ● /var/: ficheros variables frecuentemente ● /tmp/: ficheros temporales Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Comandos en GNU/Linux Comandos para paginar y visualizar archivos ● cat (muestra el contenido de ficheros por pantalla) ● more / less (pagina el contenido de ficheros) ● 31 head / tail (muetra las primeras / últimas líneas de un fichero) Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Comandos en GNU/Linux Comandos para paginar y visualizar archivos (II) linux:~$ cat -n /etc/passwd linux:~$ more /etc/fstab linux:~$ less /etc/passwd linux:~$ cat /etc/passwd /etc/group linux:~$ tail -f /var/log/syslog linux:~$ head -n 1 /etc/passwd 32 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Comandos en GNU/Linux Comandos para búsqueda de archivos (II) linux:~$ find / ­name passwd linux:~$ locate halt linux:~$ whereis cat adduser linux:~$ which grep linux:~$ whereis cd linux:~$ find ~/ ­type f ­atime +5 ­exec rm {} \; 20 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Comandos en GNU/Linux Comandos para filtrado de archivos 21 ● grep (muestra líneas coincidentes) ● sed (editor de streams) ● cut (corta texto) ● tr (traduce o elimina caraceteres) Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Comandos en GNU/Linux Comandos para filtrado de archivos (II) linux:~$ grep -ri nameserver /etc/ linux:~$ grep -c bash /etc/passwd linux:~$ sed "s/root/rat/g" /etc/passwd linux:~$ cut -f1,6 -d: /etc/passwd linux:~$ echo traduccion | tr [a-z] [A-Z] 22 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Comandos en GNU/Linux Otros comandos interesantes ● wc / sort (cuenta / ordena palabras) ● df / du (muestra la ocupación del sistema de ficheros) ● ● 23 tar / gunzip / bzip2 (empaqueta / comprime ficheros) history (muestra el historial del intérprete de comandos) Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Comandos en GNU/Linux Otros comandos interesantes linux:~$ df -h linux:~$ du -sh /var/log linux:~$ tar cvzf /var/log/backup.tgz /etc/ /home/ linux:~$ history linux:~$ sort -r /etc/group linux:~$ wc -l /etc/passwd 24 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Gestión de Usuarios y Grupos Gestión de Usuarios ● adduser (crear usuarios) ● usermod (modificar usuarios) ● deluser (eliminar usuarios) Gestión de Grupos 5 ● addgroup (añade grupo o usuario a grupo) ● groupmod (modifica grupo) ● delgroup (elimina grupo o usuario de grupo) Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Gestión de Usuarios y Grupos Gestión de Usuarios linux:~$ adduser alumno linux:~$ addgroup consultec linux:~$ adduser –­home /home/consultec/alumno –­shell /bin/sh ­–uid 5001 –­ingroup consultec alumno linux:~$ usermod –-shell /bin/bash alumno linux:~$ adduser alumno softwarelibre • Esto añade a “alumno” al grupo “softwarelibre” 6 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Gestión de Usuarios y Grupos Cambiando el propietario y grupo ● 7 Para cambiar el propietario o grupo puede hacerse a través del nombre o del identificativo (uid o gid). ➔ chown (cambiar el propietario) ➔ chmod (cambiar el grupo) Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Gestión de Usuarios y Grupos Cambiando el propietario y grupo linux:~$ ls -l ~/documentos/linux.pdf -rw-rw-r-- 1 alumno alumno 2684 ene 2 21:09 linux.pdf linux:~$ chown alumno:consultec ~/documentos/linux.pdf linux:~$ ls -l ~/documentos/linux.pdf -rw-rw-r-- 1 alumno consultec 2684 ene 2 21:09 linux.pdf linux:~$ id aktor uid=500(aktor) gid=500(aktor) grupos=500(aktor) linux:~$ chown 500 ~/documentos/linux.pdf linux:~$ ls -l ~/documentos/linux.pdf -rw-rw-r-- 1 aktor consultec 2684 ene 8 2 21:09 linux.pdf Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Sistemas de ficheros en Unix Desplazándose por el sistema de ficheros 25 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Sistemas de ficheros en Unix Rutas en el sistema de ficheros ● ● Absolutas: desde el directorio raiz hasta el archivo deseado. Relativas: desde el directorio actual hasta el archivo deseado. Caracteres especiales ● *: sustituye una cantidad cualquiera de caracteres ● ?: sustituye exactamente un carácter ● []: sustituye un carácter de los indicados Expansión de comandos y archivos 26 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Sistemas de ficheros en Unix Comandos para el manejo del sistema de ficheros 27 ● ls (lista contenido de directorios) ● cd / pwd (cambia /muestra la ruta de directorio) ● touch (crea fichero vacío o actualiza existente) ● cp / mv / rm (copia / mueve/ elimina fichero) ● mkdir / rmdir (crea / elimina directorio) ● man / info (ayuda sobre comandos) ● echo (muestra una línea de texto) ● date / cal (muestra la hora del sistema) ● file (muestra el tipo de fichero) ● halt / reboot (apaga el sistema) Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Sistemas de ficheros en Unix Comandos para el manejo del sistema de ficheros (II) linux:~$ ls ­lha / linux:~$ pwd linux:~$ cd ../../etc linux:~$ touch /home/linux/fichero linux:~$ date +%d/%m/%y linux:~$ cp ­a /var/log /backup/ linux:~$ mkdir ­p /tmp/prueba/creacion/directorio linux:~$ rm ­rf /home/linux/carpeta/ 28 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Sistemas de ficheros en Unix Estructura de los Sistemas de Ficheros ● 29 Estándar de la Jerarquía de Ficheros (FHS) ➔ Se encarga de definir los directorios principales y sus contenidos en Linux y otros sistemas Unix. ➔ Mayor facilidad en el uso de distintos sistemas Unix. Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Sistemas de ficheros en Unix Estructura de los Sistemas de Ficheros (II) 30 ● /bin/ /sbin/: comandos esenciales del sistema ● /boot/: kernel y archivos de arranque ● /dev/: dispositivos esenciales ● /etc/: archivos de configuración globales ● /home/: directorios personales de usuarios ● /lib/: librerías para comandos esenciales ● /mnt/ /media/: puntos de montaje ● /usr/: ficheros “compartidos” no esenciales ● /var/: ficheros variables frecuentemente ● /tmp/: ficheros temporales Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Comandos en GNU/Linux Comandos para paginar y visualizar archivos ● cat (muestra el contenido de ficheros por pantalla) ● more / less (pagina el contenido de ficheros) ● 31 head / tail (muetra las primeras / últimas líneas de un fichero) Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios (parte 2) Comandos en GNU/Linux Comandos para paginar y visualizar archivos (II) linux:~$ cat -n /etc/passwd linux:~$ more /etc/fstab linux:~$ less /etc/passwd linux:~$ cat /etc/passwd /etc/group linux:~$ tail -f /var/log/syslog linux:~$ head -n 1 /etc/passwd 32 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Networking en GNU/Linux Networking 78 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Configuración de la red ● Las interfaces de red se configuran en el fichero '/etc/network/interfaces' (man interfaces). aktor@irontec:~$ cat /etc/network/interfaces auto eth0 eth1 iface eth0 inet static address 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255 gateway 192.168.0.1 iface eth1 inet dhcp 79 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Configuración de la red Configuración manual de la red ● ifconfig: configura interfaces de red. Asigna IP, máscara, gateway, etc. $ ifconfig eth0 192.168.0.12 netmask 255.255.255.0 up ● route: añade rutas estáticas. Ejemplo típico: $ route add default gw 192.168.0.1 $ route add ­net 10.10.0.0 netmask 255.255.255.0 gw 192.168.0.100 $ route ­n (muestra tabla de rutas) ● /etc/resolv.conf: indica los servidores DNS $ cat /etc/resolv.conf nameserver 195.235.113.3 80 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Configuración de la red ● IP alias: crear un interfaz de red sobre otro. ➔ Una misma red física puede albergar distintas redes con distinto direccionamiento y rango. $ ifconfig eth0:1 192.168.1.123 netmask 255.255.255.0 $ ifconfig eth0:1 eth0:1 Link encap:Ethernet HWaddr 00:14:85:E8:D3:AF inet addr:192.168.1.123 Bcast:192.168.1.255 Mask:255.255.255. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:217 Base address:0xe800 81 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Configuración de la red Configuración manual de la red ● ● 82 /etc/hosts: realiza una resolución directa de nombre a IP sin realizar consulta DNS. Normalmente este fichero se mira antes de preguntar al servidor DNS (sólo para consulta de tipo A). Para asegurarnos que el sistema pregunte al DNS o al fichero '/etc/hosts' para resolver nombres de host hay que mirar el fichero '/etc/nsswitch.conf' Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Configuración de la red Configuración automática de la red (DHCP) ● ● Configuración para el arranque: en /etc/network/interfaces definimos la interfaz como “inet dhcp” Configuración manual: ➔ se utiliza un cliente dhcp como dhclient o pump # dhclient eth0 # pump ­i eth0 83 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Comandos básicos de administración de red netstat: muestra conexiones de red ● ● Comando potente que permite mostrar casi toda la información de la configuración TCP/IP de la máquina (man netstat). Ejemplos: netstat ­atup # muestra tambien procesos netstat ­a # muestra todas las conex. netstat ­a | grep LISTEN netstat ­a | grep ESTABLISHED netstat ­nrv # muestra tabla de rutas 86 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Gestores de arranque Grub ● Datos de interes del archivo menu.lst: default 0 timeout 3 title Ubuntu, kernel 2.6.12­10­386 root (hd0,1) kernel /boot/vmlinuz­2.6.12­10­386 root=/dev/hda2 ro quiet splash initrd /boot/initrd.img­2.6.12­10­386 savedefault boot title Microsoft Windows root (hd0,2) savedefault makeactive chainloader +1 64 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Gestión de Paquetes en GNU/Linux Gestión de Paquetes 70 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Paquetes .deb DPKG, Sistema de gestión de paquetes de Debian ● Permite la instalación, borrado y mantenimiento de .debs dpkg ­i paquete.deb: instala un paquete. ➔ dpkg ­r [­­purge] paquete: elimina un paquete ➔ dpkg ­L paquete: muestra el contenido completo de un paquete. ➔ dpkg ­S file: busca paquetes que contengan el fichero. ➔ dpkg ­l: muestra la lista completa de paquetes instalados en el sistema. ➔ dpkg ­s paquete: muestra información del estado de un paquete. ➔ 71 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Paquetes .deb APT, front-end avanzado para DPKG ● ● APT resuelve dependencias. Al instalar un paquete puede que éste dependa de otro u otros para su funcionamiento. APT detecta esta dependencia e instala los paquetes necesarios. Funcionamiento: Se crea una base de datos local con la información de los paquetes instalables. Para crear esta base de datos hace falta un fichero con las fuentes (/etc/apt/sources.list) de donde bajarse la información. ➔ Esta base de datos local hay que actualizarla periódicamente (apt­get update) ➔ 72 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Paquetes .deb APT, front-end avanzado para DPKG ● Funcionamiento (cont.): Cuando se solicita la instalación de un paquete, APT comprueba primero en el sistema que el paquete no esté ya instalado y posteriormente comprueba en la base de datos local si el paquete está disponible. ➔ Si el paquete está disponible entonces se conecta a la fuente en cuestión para bajarse el paquete (archivo .deb). Estos paquetes bajados se guardan en /var/cache/apt/archives ➔ Posteriormente se procede a la instalación y configuración automática del paquete. Si el paquete necesita datos de configuración nos los pedirá el APT. ➔ 73 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Paquetes .deb APT, front-end avanzado para DPKG ● Definición de fuentes para APT: Se definen en el fichero /etc/apt/sources.list ➔ Se pueden configurar con un asistente ejecutando apt­ setup. ➔ Para leer CDs con fuentes podemos utilizar también apt­ cdrom. ➔ ● Ejemplo de sources.list básico: deb http://ftp.fi.debian.org/debian stable main contrib non­free deb http://ftp.se.debian.org/debian­non­US stable/non­US main contrib non­free deb http://security.debian.org/ stable/updates main contrib non­free 74 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Paquetes .deb apt­cache: realiza búsquedas sobre la base de datos local de paquetes. ● Útil para la obtención de información sobre software disponible. apt­cache search patron: busca paquetes que cumplan un patrón. ➔ apt­cache show paquete: muestra la información de un paquete ➔ apt­cache depends paquete: muestra las dependencias del paquete. ➔ apt­cache rdepends paquete: muestra las dependencias inversas del paquete. ➔ 75 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Paquetes .deb apt­get: interfaz para instalar y desinstalar paquetes así como para la generación y actualización de la base de datos local de paquetes. apt­get update: Actualiza la base de datos local de paquetes. ➔ apt­get upgrade: Actualiza todos los paquetes instalados que pueda (solo si hay versiones nuevas disponibles) ➔ apt­get dist­upgrade: Actualiza todos los paquetes que pueda incluso cuando la actualización implique la instalación de paquetes nuevos. ➔ apt­get install paquete1 paquete2...: Instala paquetes ➔ 76 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Paquetes .deb apt­get apt­get remove [­­purge] paquete1 paquete2 ... : Desinstala paquetes. ➔ apt­get clean: elimina archivos descargados en /var/cache/apt/archives (para liberar espacios, NO desinstala los paquetes). ➔ 77 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Gestión de Incidencias en GNU/Linux Gestión de Incidencias 89 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Herramientas de monitorización top ● ● Herramienta presente en todos los Unix que muestra información de forma continua (cada 3s.) sobre el estado del sistema, incluyendo la lista de procesos que más CPU están usando. Los procesos pueden ser ordenados en base a: Recursos: utilización de CPU, memoria... ➔ Usuarios: uid, gid... ➔ Procesos: prioridad, estado... ➔ 90 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Herramientas de monitorización top 91 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Herramientas de monitorización htop ● ● 92 Herramienta similar a top pero con soporte para desplazamiento vertical entre los procesos. Permite gestionar los procesos (reiniciarlos, matarlos..) sin tener que conocer su PID. Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Herramientas de monitorización htop 93 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Herramientas de monitorización slmon ● ● Herramienta que permite monitorizar el rendimiento de un sistema en tiempo real. Los recursos que monitoriza son: Carga de CPU ➔ Memoria ➔ Interfaces de red ➔ Nº de usuarios logueados ➔ Sistemas de ficheros ➔ Procesos ➔ 94 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Herramientas de monitorización slmon 95 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Herramientas de monitorización iostat ● Estadísticas de CPU y acceso a disco (man iostat) Linux 2.6.15­26­686 (mihost) 22/11/06 avg­cpu: %user %nice %system %iowait %steal %idle 51,29 0,01 0,42 0,13 0,00 48,15 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn hda 2,55 14,45 59,21 13825459 56666320 hdb 0,09 18,78 7,29 17967684 6978592 • %user: Uso de CPU en nivel de usuario. • %nice: Uso de en nivel de usuario con prioridad. • %system: Uso de CPU a nivel de sistema (kernel). • %iowait: Porcentaje de tiempo esperando peticiones I/O de disco. • %steal: Tiempo de espera involuntario por uso de varios CPU's (virtuales). • %idle: Tiempo de espera sin recibir petición I/O de disco. 96 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Herramientas de monitoriazión potion ● Consumo de ancho de banda por interfaz y conexión. potion eth0 97 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Recuperación ante errores Gestores de Arranque: LiLo ● En caso de que algo haya machacado nuestro MBR... El objetivo es ejecutar /sbin/lilo de nuestro sistema para volver a escribir el MBR de la máquina y que lilo vuelva a funcionar. ➔ Para ello podemos arrancar de diferentes formas: ➔ • Diskette de arranque preparado de antemano + /sbin/lilo • CD 1 de Debian GNU/Linux con opcion rescue, rescbf24 o similar: • Live CD (Knoppix o similar) + montar disco + chroot + /sbin/lilo (más complicada) 98 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]> Curso Linux: Administración de Sistema y Servicios Recuperación ante errores Gestores de Arranque: Grub ● En caso de que algo haya machacado nuestro MBR... ➔ Podemos recuperarlo de varios modos • Arrancamos con live-CD, montamos la partición, chroot y ejecutamos grub­install /disco/duro • Arrancamos con live-CD, consola, shell de grub (grub) y ejecutamos: grub> root(hd0,0) grub> setup(hd0) grub> quit 99 Iker Sagasti Markina <[email protected]> | Iñaki Baz Castillo <[email protected]>