You are on page 1of 228

Introduccin a GNU/Linux

2011-07-12 (v1.0)

PortantierInformationSecurityIntroduccinaGNU/Linux

Fabian Portantier

Consultor en Seguridad Informtica Fantico de GNU/Linux (Debian) Mail: fabian@portantier.com Web: www.portantier.com
PortantierInformationSecurityIntroduccinaGNU/Linux

Componentes del Sistema

El kernel (ncleo): Linux

Las herramientas (GNU)

Otro software
PortantierInformationSecurityIntroduccinaGNU/Linux

Distribuciones (I)

Conjunto de software Distintos objetivos (servidor, laptop, etc) Compilaciones propias Soporte y otros servicios
PortantierInformationSecurityIntroduccinaGNU/Linux

Distribuciones (II)

Debian GNU/Linux RedHat Enterprise Linux Gentoo Ubuntu (basada en Debian)


PortantierInformationSecurityIntroduccinaGNU/Linux

Bash

Intrprete de comandos Nuestro mejor aliado Posibilidad de scripting Disponible en casi todas las distribuciones
PortantierInformationSecurityIntroduccinaGNU/Linux

Otros intrpretes

korn tcsh dash csh


PortantierInformationSecurityIntroduccinaGNU/Linux

Comandos bsicos (I)

pwd cd ls echo cat

Muestra el directorio actual Cambia de directorio Lista archivos y directorios Imprime los parametros por pantalla Muestra archivos por pantalla
PortantierInformationSecurityIntroduccinaGNU/Linux

Comandos bsicos (II)

more man date hostname uname

Pagina archivos por pantalla Muestra la ayuda de comandos Muestra/Modifica la fecha y hora Muestra/Modifica nombre de host Muestra descripciones de sistema
PortantierInformationSecurityIntroduccinaGNU/Linux

Tuberas

Permiten utilizar la salida de un comando como entrada para otro comando. Por ejemplo: grep 'fabian' lista.txt | sort Lo anterior pasa el resultado del comando 'grep' al comando 'sort'.

PortantierInformationSecurityIntroduccinaGNU/Linux

Redirecciones (I)
Entrada estndar (<): (cat < leeme.txt) Salida estndar (>): (echo 'hola' > leeme.txt) Sobreescribe (echo 'hola' >> leeme.txt) Agrega Error estndar (2>): (ping mx.gmail.com 2> error.txt) Sobreescribe (ping mx.gmail.com 2>> error.txt) Agrega
PortantierInformationSecurityIntroduccinaGNU/Linux

Redirecciones (II)
Salida y error estndar al mismo lugar: ping mx.gmail.com > log.txt 2>&1 Salida a la pantalla y a un archivo: ping mx.gmail.com | tee log.txt Salida y error a la pantalla y a un archivo: ping mx.gmail.com 2>&1 | tee log.txt
PortantierInformationSecurityIntroduccinaGNU/Linux

Procesos

PortantierInformationSecurityIntroduccinaGNU/Linux

Valores de inters

PID: Identificador de proceso UID: Identificador de usuario GID: Identificador de grupo

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'ps'

Lista los procesos activos Opciones comunes: a Lista todos los procesos (que tengan TTY) x Aunque no tengan TTY asociada u Aunque no sean del usuario que invoca

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'pstree'

Lista los procesos en forma de rbol Facilita la visualizacin de padres e hijos Vemos como todo nace del proceso 'init'

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'top'

Monitorea los procesos actuales del sistema Se actualiza en tiempo real Muestra valores de rendimiento (CPU, RAM)

PortantierInformationSecurityIntroduccinaGNU/Linux

Seales
HUP(1) INT(2) KILL(9) Deslogueo / Recarga de configuracin Interrumpir (igual que ctrl+c) Terminar forzadamente

TERM(15) Terminar amistosamente TSTP(20) Detener (igual a ctrl+z) CONT(18) Continuar ejecucin (igual a fg o bg)
PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'kill' (I)

Sirve para enviar seales a los procesos

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'kill' (II)


kill -l n (Describe la seal 'n') kill -n 15 TERM kill -s signum -pid (Enva 'signum' al proceso 'pid') kill -s 15 2231 kill -s sigdsc -pid (Enva 'sigdsc' al proceso 'pid') kill -s TERM 2231
PortantierInformationSecurityIntroduccinaGNU/Linux

Planos de ejecucin (I)


Listar trabajos actuales: jobs Ejecutar en segundo plano: comando & Traer a primer plano: fg (el primer trabajo) fg %n (el trabajo nmero 'n')
PortantierInformationSecurityIntroduccinaGNU/Linux

Planos de ejecucin (II)

Detener un trabajo ctrl + z Llevar a segundo plano bg (el primer trabajo) bg %n (el trabajo nmero 'n')

PortantierInformationSecurityIntroduccinaGNU/Linux

Planos de ejecucin (II)

Ejecucin contnua nohup comando (por default enva la salida a nohup.out)

PortantierInformationSecurityIntroduccinaGNU/Linux

Prioridades de ejecucin

PortantierInformationSecurityIntroduccinaGNU/Linux

Prioridades de ejecucin
Definen cmo el kernel asigna los recursos Valores numricos desde -20 a +19 Menor nmero, mayor prioridad Slo root puede usar valores negativos Slo root puede aumentar prioridades
PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'nice'
Define la prioridad del proceso a ejecutar Sin argumentos muestra la prioridad por defecto Ejemplos para ejecutar 'vi' con prioridad '-10': nice --10 vi /etc/passwd nice -n -10 vi /etc/passwd
PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'renice'

Modifica la prioridad de los procesos renice -10 -u fabian Prioridad '-10' a los procesos de 'fabian' renice -10 -p 501 Prioridad '-10' al proceso 501

PortantierInformationSecurityIntroduccinaGNU/Linux

Bsqueda y reemplazo de texto

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'grep' (I)


Nos permite filtrar lneas de texto Uso: grep [opciones] regex [archivos] Ejemplos: grep root /etc/passwd cat /etc/passwd | grep root
PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'grep' (II)

Opciones comunes: -c -i -n -v Muestra slo el nmero de coincidencias Ignora maysculas y minsculas Muestra los nmeros de lnea Invierte la expresin regular

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'sed' (I)

Nos permite modificar lneas de texto Uso: sed [opciones] comando [archivos] sed [opciones] -e com1 -e com2... [archivos]

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'sed' (II)

Acciones: d Elimina las lneas que concuerden s Substituye las lneas que concuerden Flags: g Reemplaza todas las concordancias n Reemplaza 'n' concordancias (default 1)

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'sed' (III)

Ejemplos: Reemplazar sed s/favian/fabian/g /etc/passwd Eliminar sed /fabian/d /etc/passwd (si, est bien)

PortantierInformationSecurityIntroduccinaGNU/Linux

Almacenamiento

PortantierInformationSecurityIntroduccinaGNU/Linux

En linux, todo son archivos.

PortantierInformationSecurityIntroduccinaGNU/Linux

Jerarqua del Sistema de Archivos

FHS (Filesystem Hierarchy Standard)

www.pathname.com/fhs

Define cmo el FS Unix debe ordenarse


PortantierInformationSecurityIntroduccinaGNU/Linux

Directorios estndar
/ /bin /sbin /dev /etc /lib /boot /home /tmp /var /usr Raz del sistema* Ejecutables* Ejecutables de root* Dispositivos* Archivos de configuracin* Libreras* Archivos de arranque Directorios de usuarios Archivos temporales Archivos variables Archivos ajenos al core del sistema

* Necesarios antes de montar otras particiones


PortantierInformationSecurityIntroduccinaGNU/Linux

El directorio /dev

Contiene archivos que apuntan a dispositivos

Son archivos especiales

No se deben manipular directamente!


PortantierInformationSecurityIntroduccinaGNU/Linux

Dispositivos de disco

/dev/hdxn (IDE) /dev/hda1 /dev/sdxn (SCSI/SATA) /dev/sda1

PortantierInformationSecurityIntroduccinaGNU/Linux

Dispositivos de disco
fabian@debian:~$ ls -l /dev/sd* brw-rw---- 1 root disk 8, 0 Jun 10 11:44 /dev/sda brw-rw---- 1 root disk 8, 1 Jun 10 11:44 /dev/sda1 brw-rw---- 1 root disk 8, 2 Jun 10 11:44 /dev/sda2 brw-rw---- 1 root disk 8, 3 Jun 10 11:44 /dev/sda3 brw-rw---- 1 root disk 8, 5 Jun 10 11:44 /dev/sda5 b = Dispositivo de bloques
PortantierInformationSecurityIntroduccinaGNU/Linux

Tipos de particiones
Primaria Contienen un sistema de archivos. Slo puede haber 4 por cada disco fsico. (Nmeros 1-4) Extentida No contiene sistemas de archivos, si no particiones lgicas. Slo puede haber 1 por cada disco fsico. (Nmeros 1-4) Lgica Existen dentro de una particin extendida. Contienen sistemas de archivos. (Nmeros 5-16)
PortantierInformationSecurityIntroduccinaGNU/Linux

Sistemas de archivos
ext2 ext3 ext4 msdos vfat ntfs iso9660 nfs swap proc Formato tradicional de Linux Igual a ext2, pero con journaling ltima versin de los FS 'ext' FAT MS-DOS, limitado a nombres 8.3 Virtual FAT Nativo de Windows desde Win2k El formato estndar de los CD-ROMs Sistema de archivos de red Particiones de intercambio FS Virtual para interfaz con el kernel
PortantierInformationSecurityIntroduccinaGNU/Linux

FS Transaccionales (journaling)

Implementa transacciones

Evita la corrupcin de datos

Permite el apagado 'brusco' sin problemas


PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'fdisk'

Uso: fdisk -l (lista los discos reconocidos) fdisk disco (permite ver/editar el disco)

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'fdisk'
Opciones comunes:
a d l m n p q t w On/Off la opcin 'booteable' de una particin primaria Borra la particin Lista las particiones del disco Muestra la ayuda Agrega una nueva particin Muestra la tabla de particiones Sale descartando los cambios Cambia el tipo de particin Escribe los cambios de las particiones
PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'fdisk'

root@debian:~# fdisk -l Disk /dev/sda: 80.0 GB, 80026361856 bytes Device Boot Start /dev/sda1 * 1 /dev/sda2 1460 /dev/sda3 9362 /dev/sda5 9362 End 1459 9361 9729 9729 Blocks Id 11719386 83 63472815 83 2955929+ 5 2955928+ 82 System Linux Linux Extended Linux swap

PortantierInformationSecurityIntroduccinaGNU/Linux

Crear una particin con 'fdisk'

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'mkfs'
Permite crear sistemas de archivos Opciones comunes:
-c -L -n -q -v -j Comprueba el dispositivo antes de crear el FS Define la etiqueta (Label) del FS (slo ext) Define la etiqueta (11 char) del FS (slo msdos) Modo 'quiet', reduce la salida por pantalla Modo 'verbose', ms salida por pantalla Crea un sistema con 'journal' (ext3)
PortantierInformationSecurityIntroduccinaGNU/Linux

Crear un sistema de archivos ext3 con 'mkfs'

PortantierInformationSecurityIntroduccinaGNU/Linux

Espacio de intercambio (swap)

Sirve para extender la memoria RAM Pueden ser particiones o archivos Linux suele utilizar particiones Listados en /proc/swaps
PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'mkswap'

Permite crear un FS para intercambio Uso: mkswap dispositivo Ejemplo: mkswap /dev/sda5

PortantierInformationSecurityIntroduccinaGNU/Linux

/etc/fstab
Tabla de FS, con los siguientes campos:
dispositivo: Archivo, UUID o etiqueta del volmen. punto de montaje: Directorio en que se va a montar. tipo: El tipo de sistema de archivos opciones: Opciones de montaje frecuencia de volcado: Utilizada por el comando 'dump' pass: Usado por fsck (1=root, 2=otros, 0:deshabilitado)
PortantierInformationSecurityIntroduccinaGNU/Linux

/etc/fstab

# <fs> proc /dev/sda1 /dev/sda2 /dev/sda5 /dev/scd0

<m point> <type> <options> <d><p> /proc proc defaults 00 / ext4 errors=remount-ro 0 1 /home ext4 defaults 02 none swap sw 00 /media/cd iso9660 user,noauto 00

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'mount'

Sirve para montar un FS en un directorio. Uso: mount <opciones> dispositivo mount <opciones> directorio mount <opciones> dispositivo directorio

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'mount'

Opciones comunes: a o r t w Monta los FS de /etc/fstab (salvo 'noauto') Especifica las opciones de montaje Monta en modo slo lectura Especifica el tipo de sistema de archivos Monta en modo lectura / escritura

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'mount'
Opciones de montaje (/etc/fstab, o mount -o)
async auto defaults dev exec noauto noexec nosuid nouser Modo de escritura asincrnico Monta con la opcin '-a' de mount Implica 'rw, suid, dev, exec, auto, nouser y async Interpreta los archivos de bloque o especiales Permite la ejecucin de programas No se monta con la opcin '-a' de mount Prohibe la ejecucin de programas Inhibe el efecto de los bits suid y sgid Prohibe ser montado por usuarios
PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'mount'

Opciones de montaje (/etc/fstab, o mount -o)


ro rw suid sync user users Monta en modo slo lectura Monta en modo lectura / escritura Habilita los bits suid y sgid Modo de escritura sincrnico Montar por usuario, no desmontar por otros Permite que cualquier usuario montar / desmontar

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'mount'

Ejemplos: mount mount /dev/sdc1 /mnt/disco

PortantierInformationSecurityIntroduccinaGNU/Linux

Montar la particin creada


mkdir /mnt/disco echo contenido > /mnt/disco/archivo1.txt mount /dev/sdxx /mnt/disco ls /mnt/disco echo otra cosa > /mnt/disco/archivo2.txt ls /mnt/disco mount umount /dev/sdxx ls /mnt/disco
PortantierInformationSecurityIntroduccinaGNU/Linux

Mantenimiento de Sistemas de Archivos

PortantierInformationSecurityIntroduccinaGNU/Linux

Escritura asincrnica

Permite reservar recursos

Optimiza las operaciones de rescritura

Mejora el rendimiento del sistema


PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'df' (I)

Muestra el espacio libre de los FS montados Opciones comunes: h Muestra los valores en formato 'entendible' t Filtra los FS por el tipo pasado como parmetro l Se limita a los FS locales

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'df' (II)

Ejemplo: root@debian:~# df -h -l -t ext4 Filesystem Size Used Avail /dev/sda1 12G 5.4G 5.1G /dev/sda2 60G 45G 12G Use% 52% 79% Mounted on / /home

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'du' (I)

Muestra el espacio utilizado por archivos/directorios Opciones comunes: a Muestra todos los archivos, no slo los directorios c Produce un reporte total h Muestra la informacin en formato leble s Muestra un sumario para cada directorio S Excluye directorios del reporte

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'du' (II)

Opcin interesante: --max-depth Define la profundidad de directorios a analizar

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'du' (III)


Ejemplo: root@debian:/# du --max-depth=1 -h 12M ./boot 8.4M ./etc 520K ./root 1.8G ./var 111M ./lib 3.4G ./usr 4.9M ./bin 1.1M ./tmp 4.5M ./sbin 5.3G .
PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'tune2fs'

Modifica parmetros de los sistemas de archivos Uso: tune2fs [opciones] dispositivo

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'tune2fs'
Opciones comunes: l cn in L j mn rn Lista los parmetros modificables Define el nmero mximo de montajes en 'n' Define el mximo tiempo entre comprobaciones Define la etiqueta del volmen Agrega 'journaling' al volmen Define el porcentaje de bloques reservados en 'n' Define el nmero de bloques reservados en 'n'
PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'fsck' (I)

Realiza comprobaciones en el sistema de archivos Uso: fsck [opciones] [-t tipo] [opciones-fs] volmen

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'fsck' (II)

Opciones comunes (fsck): A Comprueba la lista de volmenes de /etc/fstab N No se ejecuta, slo muestra lo que se habra hecho t Especifica el tipo de FS a comprobar

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'fsck' (III)

Opciones comunes (e2fsck): c f p y Comprueba si existen bloques daados Comprueba, aunque parezca que todo est bien Reparacin automtica, sin consultar al usuario Constesta 's' a todas las preguntas

PortantierInformationSecurityIntroduccinaGNU/Linux

Cuotas de Disco

PortantierInformationSecurityIntroduccinaGNU/Linux

Cuotas

/etc/fstab /etc/passwd /etc/group

Sistemas de archivos Usuarios Grupos

PortantierInformationSecurityIntroduccinaGNU/Linux

Cuotas

Generalmente en bloques de 1024 bytes Cinco tipos de cuotas distintas Deben ser soportadas por el kernel

PortantierInformationSecurityIntroduccinaGNU/Linux

Tipos de cuota (lmites)

Lmite duro (hard) por usuario Define la cantidad mxima de espacio que un usuario puede utilizar. Una vez alcanzado dicho lmite, el usuario va a ser incapaz de escribir nuevos datos.

PortantierInformationSecurityIntroduccinaGNU/Linux

Tipos de cuota (lmites)

Lmite blando (soft) por usuario Cuando este lmite es superado el usuario va a ser notificado de que se est acercando a la cantidad mxima de espacio que puede utilizar.

PortantierInformationSecurityIntroduccinaGNU/Linux

Tipos de cuota (lmites)

Lmite duro (hard) por grupo Una vez alcanzado este lmite, ninguno de los usuarios del grupo va a poder escribir nuevos datos, aunque el usuario individualmente no haya alcanzado su lmite.

PortantierInformationSecurityIntroduccinaGNU/Linux

Tipos de cuota (lmites)


Lmite blando (soft) por grupo Una vez alcanzado este lmite, el grupo entra en el 'perodo de gracia'. Si pasado este perodo no se han eliminado archivos para volver a estar por debajo del lmite, el mismo se vuelve del tipo 'duro' y hace que no se puedan escribir nuevos datos. Este perodo de gracia puede definirse en meses, semanas, das, horas, minutos o segundos.
PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'quota'

Muestra las cuotas asignadas a usuarios/grupos. Ejemplos: quota -u [opciones] usuario quota -g [opciones] grupo

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'quota'

# quota -uv jdoe Disk quotas for user jdoe (uid 500): Filesystem blks quota limit grace files quota limit grace /dev/sda9 9456 1000 1020 32 0 0 /dev/hda1 23 0 0 17 0 0

Reporte de las cuotas del usuario jdoe

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'quota'

# quota -gv finance Disk quotas for group finance (gid 501): Filesystem blks quota limit grace files quota limit grace /dev/sda9 1000* 990 1000 6days 34 3980 4000 /dev/hda1 0 0 0 0 0 0

Reporte del grupo finance

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'quotaon'

Habilita las cuotas previamente configuradas Uso: quotaon [options] [fs] quotaon [options] -a

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'quotaon'

Opciones comunes: a g u v Habilita todas las cuotas de /etc/fstab Habilita las cuotas de grupo Habilita las cuotas de usuario Muestra ms informacin por pantalla

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'quotaon'

Ejemplo: # quotaon -av /dev/sda9: group quotas turned on /dev/sda9: user quotas turned on /dev/hda1: group quotas turned on /dev/hda1: user quotas turned on

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'quotaoff'

Deshabilita las cuotas previamente habilitadas Uso: quotaoff [opciones] [fs] quotaoff [opciones] -a

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'quotaoff'

Opciones comunes: a g u v Deshabilita las cuotas de /etc/fstab Deshabilita todas las cuotas de grupo Deshabilita todas las cuotas de usuario Muestra ms informacin por pantalla

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'quotacheck'

Verifica las quotas de los sistemas de archivos Uso:


a g grupo u usuario v Verifica todas las cuotas de /etc/fstab Verifica las cuotas de 'grupo' Verifica las cuotas de 'usuario' Muestra ms informacin por pantalla

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'edquota'

Permite modificar la configuracin de cuotas Uso: edquota [-p usuario] [opciones] usuarios edquota [opciones] -t

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'edquota'

Permite modificar la configuracin de cuotas Uso: edquota [-p nombre] [opciones] usuarios edquota [opciones] -t

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'edquota'

Opciones comunes:
g pn t u Modifica cuotas de grupo Copia las cuotas del grupo o usuario 'n' Modifica los lmites blandos Modifica las cuotas de usuario

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'redquota'

Reporta el estado de las cuotas Uso: repquota [opciones] fs repquota [opciones] -a

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'redquota'

Opciones comunes: a g u v Reporta las cuotas de todos los fs Reporta las cuotas de grupo Reporta las cuotas de usuario Muestra ms informacin por pantalla

PortantierInformationSecurityIntroduccinaGNU/Linux

Configurando cuotas

/etc/fstab
/dev/sda9 /home ext2 defaults,usrquota,grpquota 1 2

PortantierInformationSecurityIntroduccinaGNU/Linux

Configurando cuotas

Bases de datos binarias para las cuotas: /home/quota.user /home/quota.group

PortantierInformationSecurityIntroduccinaGNU/Linux

Configurando cuotas

# quotacheck -avug Scanning /dev/sda9 [/home] done Checked 236 directories and 695 files Using quotafile /home/quota.user Using quotafile /home/quota.group

PortantierInformationSecurityIntroduccinaGNU/Linux

Configurando cuotas

Verificamos que las bases no estn en '0'


# ls -al /home/quota.* -rw------- 1 root root 16192 Dec 27 19:53 /home/quota.group -rw------- 1 root root 16192 Dec 27 19:53 /home/quota.user

PortantierInformationSecurityIntroduccinaGNU/Linux

Configurando cuotas

Habilitamos todas las cuotas: # quotaon -a

PortantierInformationSecurityIntroduccinaGNU/Linux

Permisos y Propietarios

PortantierInformationSecurityIntroduccinaGNU/Linux

Permisos y Propietarios

Protegen la confidencialidad

Evitan accidentes

Dificultan los ataques


PortantierInformationSecurityIntroduccinaGNU/Linux

Access Mode
Usuario El usuario que es dueo del archivo Grupo El grupo que es dueo del archivo Otros Todos los otros usuarios del sistema
PortantierInformationSecurityIntroduccinaGNU/Linux

Access Mode

Permiso Letra Read r Write w Execute x

Archivos Ver contenido Modificar Ejecutar

Directorios Listar contenido Crear/eliminar contenido Acceder al directorio

PortantierInformationSecurityIntroduccinaGNU/Linux

Access Mode

PortantierInformationSecurityIntroduccinaGNU/Linux

SUID Bit

Slo archivos ejecutables

No tiene efecto en directorios

El proceso usa permisos del dueo


PortantierInformationSecurityIntroduccinaGNU/Linux

SGID Bit

Similiar a SUID, pero con el grupo Tiene efectos especiales en directorios Grupo archivos nuevos = Grupo del directorio

PortantierInformationSecurityIntroduccinaGNU/Linux

Sticky Bit

En ejecutables: Keep on memory (ya no aporta beneficios) En directorios: Slo pueden hacer modificaciones el creador del archivo y el dueo del directorio.

PortantierInformationSecurityIntroduccinaGNU/Linux

Representacin Octal

PortantierInformationSecurityIntroduccinaGNU/Linux

Representacin Alfabtica

SUID + x SUID - x SGID + x SGID - x Sticky + x Sticky - x

= = = = = =

s S s S T t

(rwsr-xr-x) (rwSr-xr-x) (rwxr-sr-x) (rwxr-Sr-x) (rwxr--r-T) (rwxr--r-t)

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'umask'
Define los permisos de los archivos nuevos Uso:
umask Muestra la mascara del usuario umask mascara Define la mascara

PortantierInformationSecurityIntroduccinaGNU/Linux

Modo inicial

Forma Simblica Binaria Octal

Archivos rw-rw-rw110110110 666

Directorios rwxrwxrwx 111111111 777

PortantierInformationSecurityIntroduccinaGNU/Linux

Clculo de umask

Archivos 666 - 022 ----644

Directorios 777 Default - 022 Mscara ----755 Resultado

PortantierInformationSecurityIntroduccinaGNU/Linux

Ejemplo
$ umask 0022 $ touch archivo1 $ umask 077 $ touch archivo2 $ ls -l -rw-r--r-- 1 fabian fabian 0 Jun 18 09:25 archivo1 -rw------- 1 fabian fabian 0 Jun 18 09:25 archivo2
PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'chmod'
Permite modificar los modos de acceso Admite forma octal o simblica Uso: chmod [options] s_mode[,s_mode]...archivos chmod [options] o_mode archivos chmod [options] --reference=rfile archivos
PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'chmod'

Opciones comunes: R v c Modo recursivo, desciende por los directorios Muestra TODAS las acciones tomadas Muestra slo los cambios realizados

PortantierInformationSecurityIntroduccinaGNU/Linux

Uso de chmod
Clases u, g, o, a Acciones -, +, = Permisos r, w, x X s t Usuario, grupo, otros, todos Quitar, agregar, definir Leer, escribir, ejecutar Directorios y ejecutables previos SUID, SGID (depende de la posicin) Sticky
PortantierInformationSecurityIntroduccinaGNU/Linux

Ejemplos chmod
chmod u+x archivo Agrega ejecucin al usuario chmod go-w archivo Quita escritura al grupo y otros classes chmod o+t archivo Define el bit Sticky chmod a=rw archivo Define exactamente lectura/escritura para todos
PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'chown'
Cambia usuario/grupo de un archivo/directorio Uso:
chown [opciones] usuario archivos chown [opciones] usuario. archivos chown [opciones] usuario.grupo archivos chown [opciones] .grupo archivos chown [opciones] --reference=rfile archivos Puede funcionar con ':' en lugar de '.'
PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'chown'

Opciones comunes: R v c Modo recursivo, desciende por los directorios Muestra TODAS las acciones tomadas Muestra slo los cambios realizados

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'chgrp'

Cambia el grupo de un archivo / directorio Uso: chgrp [opciones] grupo archivos chgrp [opciones] --reference=rfile archivos

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'chgrp'

Opciones comunes: R v c Modo recursivo, desciende por los directorios Muestra TODAS las acciones tomadas Muestra slo los cambios realizados

PortantierInformationSecurityIntroduccinaGNU/Linux

Ejemplo de 'Workgroup'

El grupo se llamar 'sales' Integrado por jdoe, bsmith y mbrown El directorio es '/home/sales' Slo los creadores podrn eliminar archivos Los no-miembros del grupo no tendrn acceso
PortantierInformationSecurityIntroduccinaGNU/Linux

Ejemplo de 'Workgroup'
# groupadd sales # usermod a -G sales jdoe # usermod a -G sales bsmith # usermod a -G sales jbrown # mkdir /home/sales # chgrp sales /home/sales # chmod 770 /home/sales # chmod g+s,o+t /home/sales
PortantierInformationSecurityIntroduccinaGNU/Linux

inodos

PortantierInformationSecurityIntroduccinaGNU/Linux

inodos

Estructura de datos propia de los FS Unix Contiene los detalles de los objetos del FS NO contiene el nombre Identificados por un nmero entero nico
PortantierInformationSecurityIntroduccinaGNU/Linux

inodos Estructura (POSIX)


Identificador del dispositivo contenedor Nmero de inodo Longitud del archivo (en bytes) Identificador del usuario propietario Identificador del grupo propietario El modo de acceso (rwx) Marcas de tiempo (mtime, ctime, atime) Nmero de enlaces asociados al inodo
PortantierInformationSecurityIntroduccinaGNU/Linux

Consultar nmero de inodo

ls -i

PortantierInformationSecurityIntroduccinaGNU/Linux

Enlaces

PortantierInformationSecurityIntroduccinaGNU/Linux

Enlaces simblicos

Son simplemente un puntero a un archivo Pueden apuntar a otros FS (tambin remotos) Pueden apuntar a un archivo inexistente Dependen del nombre del archivo
PortantierInformationSecurityIntroduccinaGNU/Linux

Enlaces duros

Son entradas que apuntan al mismo inodo Cada archivo tiene por lo menos un enlace Deben estar dentro del mismo FS No pueden apuntar a directorios
PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'ln'

Permite crear enlaces duros y simblicos Uso: ln [opciones] archivo enlace ln [opciones] archivos directorio

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'ln'

Opciones comunes: f Sobreescribir archivos / directorios i Preguntar antes de sobreescribir s Crear enlace simblico en lugar de duro

PortantierInformationSecurityIntroduccinaGNU/Linux

Enlaces Ejercicio (I)

echo texto > archivo ln archivo e_d ln -s archivo e_s

PortantierInformationSecurityIntroduccinaGNU/Linux

Enlaces Ejercicio (II)

# ls -li
393463 -rw-r--r-- 2 f f 6 Jun 24 22:12 archivo 393463 -rw-r--r-- 2 f f 6 Jun 24 22:12 e_d 393464 lrwxrwxrwx 1 f f 7 Jun 24 22:13 e_s -> archivo

PortantierInformationSecurityIntroduccinaGNU/Linux

Enlaces Ejercicio (III)


mv archivo movido
ls -li cat e_d cat e_s echo "otro" >> e_s
PortantierInformationSecurityIntroduccinaGNU/Linux

Enlaces Ejercicio (IV)

ls -li 393466 -rw-r--r-- 1 393463 -rw-r--r-- 2 393464 lrwxrwxrwx 1 393463 -rw-r--r-- 2 ff ff ff ff 5 Jun 24 22:20 archivo 6 Jun 24 22:12 e_d 7 Jun 24 22:13 e_s -> archivo 6 Jun 24 22:12 movido

PortantierInformationSecurityIntroduccinaGNU/Linux

Enlaces Ejercicio (V)

grep o * archivo:otro e_d:texto e_s:otro movido:texto

PortantierInformationSecurityIntroduccinaGNU/Linux

Encontrando archivos

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'which'

Determina la ubicacin de comandos (deben estar dentro del PATH del usuario) Uso: which comando

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'find'

Busca archivos que concuerdan con la expresin (busca recursivamente) Uso: find [directorio] expresin

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'find'
Opciones comunes: xdev executable user 'u' group 'g' name iname perm 'p' Limitarse al FS del directorio inicial Busca archivos ejecutables Busca archivos del usuario 'u' Busca archivos del grupo 'g' Busca archivos por nombre Igual a 'name' pero sin may/min Busca por permisos (octal/simbolico)
PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'locate'

Encuentra archivos buscando en un ndice Uso: locate patrn

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'locate'

Opciones comunes: b w e i S Busca slo en el nombre del archivo Busca en el nombre y la direccin (default) Muestra slo archivos existentes Ignora maysculas y minsculas Muestra estadsticas del ndice

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'updatedb'

Actualiza el ndice utilizado por 'locate' Uso: updatedb [opciones]

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'whereis'

Busca comandos y manuales Uso: whereis [opciones] archivo

PortantierInformationSecurityIntroduccinaGNU/Linux

Filtrado de textos

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'cat'

Muestra el contenido de uno o varios archivos Uso: cat [opciones] archivos

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'tac'

Muestra un archivo en orden inverso Uso: tac archivo

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'cut'

Muestra slo las columnas o campos deseados Uso: cut [opciones] archivos

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'cut'

Opciones comunes: d 'x' b 'x' c 'x' f 'x' Define el delimitador de campos a 'x' Muestra slo los bytes de la lista 'x' Muestra slo los caracteres de la lista 'x' Muestra slo los campos de la lista 'x'

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'cut'

Ejemplo: cut -d : -f 1,7 /etc/passwd Muestra los usuarios y su shell por defecto

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'expand'

Transforma tabulaciones en espacios Uso: expand [opciones] archivos

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'expand'

Opciones comunes: t 'n' Define el nmero de espacios a 'n' i Aplica slo al inicio de las lneas

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'unexpand'

Transforma espacios en tabulaciones Uso: unexpand [opciones] archivos

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'unexpand'

Opciones comunes: t 'n' a Modifica la cantidad de espacios a 'n' Procesa las lneas completas*

Por defecto procesa slo el inicio de las lneas

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'fmt'

Formatea el texto llenando lneas Uso: fmt [opciones] archivos

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'fmt'

Opciones comunes: w 'x' u Define la longitud de las lneas a 'x' 1 esp entre palabras y 2 entre sentencias

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'head'

Muestra las primeras lneas de un archivo Uso: head [opciones] archivos

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'head'

Opciones comunes c 'x' n 'x' Muestra los primeros 'x' bytes* Muestra las primeras 'x' lneas

Soporta 'nk' para kilobytes y 'nm' para megabytes

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'tail'

Muestra las ltimas lneas de un archivo Uso: tail [opciones] archivos

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'tail'

Opciones comunes: c 'x' n 'x' f Muestra los primeros 'x' bytes* Muestra las primeras 'x' lneas Muestra el archivo constantemente

Soporta 'nk' para kilobytes y 'nm' para megabytes

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'join'

Junta las lneas de dos archivos Uso: join [opciones] archivo1 archivo2

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'join'

Opciones comunes: j1 'f' j2 'f' j 'f' Juntar por el campo 'f' del archivo1 Juntar por el campo 'f' del archivo2 Juntar por el campo 'f' de ambos archivos

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'nl'

Agrega nmeros de lnea a un archivo Uso: nl [opciones] archivos

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'od'

Muestra los archivos en octal u otros formatos Uso: od [opciones] archivos

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'od'
Opciones comunes: t a c o x Especifica tipo de salida (explicados abajo) Caracteres nombrados ASCII Octal (default) Hexadecimal
PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'paste'

Pega las lneas de varios archivos Uso: paste [opciones] archivos

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'pr'

Pagina archivos y los ordena Uso: pr [opciones] archivo

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'pr'

Opciones comunes: d h 'x' l 'x' o 'x' Doble espaciado Utiliza 'x' como encabezado Define la longitud de lneas por pgina a 'x' Define el margen izquierdo a 'x'

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'sort'

Ordena archivos Uso: sort [opciones] archivos

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'sort'

Opciones comunes: f Ignora maysculas y minsculas n Ordenar numricamente r Ordenar en orden inverso t 's' Utilizar 's' como separador k 1[,2] Ordenar por el campo '1' hasta el '2'

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'split'

Divide un archivo en grupos de lneas (partes) Uso: split [opciones] entrada salida
Cada parte es nombrada como salidaa, salidab, etc

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'split'

Opciones comunes: n 'x' Define el nmero de lneas por parte a 'x'

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'tr'

Traduce los caracteres de cadena1 a cadena2 Uso: tr [opciones] cadena1 [cadena2]


No acepta archivos, slo entrada y salida estndar

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'tr'

Opciones comunes: c d s Usa los caracteres que no estn en cadena1 Elimina los caracteres de cadena1 Borra los caracteres repetidos

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'uniq'

Elimina las lneas adyacentes repetidas Uso: uniq [opciones] archivo

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'uniq'

Opciones comunes: d u Muestra slo lneas no nicas (repetidas) Muestra slo lneas nicas (no se repiten)

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'wc'

Cuenta caracteres, palabras o lneas Uso: wc [opciones] archivos

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'wc'

Opciones comunes: c l w Cuenta slo caracteres Cuenta slo lneas Cuenta slo palabras

Por defecto cuenta las 3 cosas en formato tabla

PortantierInformationSecurityIntroduccinaGNU/Linux

Configuracin de Hardware

PortantierInformationSecurityIntroduccinaGNU/Linux

BIOS

Basic Input/Output System

Hora y fecha

Discos y prioridades de arranque


PortantierInformationSecurityIntroduccinaGNU/Linux

Sistema de Archivos /proc

Interfaz con el kernel Linux

Sistema de archivos virtual

Lectura / Escritura de valores


PortantierInformationSecurityIntroduccinaGNU/Linux

/proc/interrupts
Interrupciones de hardware (IRQ)
$ cat /proc/interrupts CPU0 0: 1075764 IO-APIC-edge 1: 4666 IO-APIC-edge 7: 1 IO-APIC-edge 8: 1 IO-APIC-edge 9: 15153 IO-APIC-fasteoi 10: 0 IO-APIC-fasteoi 11: 207 IO-APIC-fasteoi 12: 129 IO-APIC-edge

timer i8042 rtc0 acpi mmc0 firewire_ohci i8042

PortantierInformationSecurityIntroduccinaGNU/Linux

/proc/dma

Direct Memory Access (DMA) Acceso a memoria sin pasar por el CPU
$ cat /proc/dma 4: cascade

PortantierInformationSecurityIntroduccinaGNU/Linux

/proc/ioports
Puertos asignados a los dispositivos
$ cat /proc/ioports 0000-001f : dma1 0020-0021 : pic1 0040-0043 : timer0 0050-0053 : timer1 0060-0060 : keyboard 0064-0064 : keyboard 0070-0071 : rtc0 0080-008f : dma page reg
PortantierInformationSecurityIntroduccinaGNU/Linux

USB
$ lsusb Bus 004 Dev 001: ID 1d6b:001 Linux Foundation 1.1 root hub Bus 003 Dev 002: ID 045e:039 Microsoft IntelliMouse Optical Bus 003 Dev 001: ID 1d6b:001 Linux Foundation 1.1 root hub Bus 002 Dev 001: ID 1d6b:002 Linux Foundation 2.0 root hub Bus 001 Dev 001: ID 1d6b:002 Linux Foundation 2.0 root hub lsusb -t /: Bus 04.1: Dev 1, Class=r_hub, Driver=ohci_hcd/5p, 12M /: Bus 03.1: Dev 1, Class=r_hub, Driver=ohci_hcd/5p, 12M |__ Port 1: Dev 2, If 0, Class=HID, Driver=usbhid, 1.5M /: Bus 02.1: Dev 1, Class=r_hub, Driver=ehci_hcd/5p, 480M /: Bus 01.1: Dev 1, Class=r_hub, Driver=ehci_hcd/5p, 480M
PortantierInformationSecurityIntroduccinaGNU/Linux

Drivers USB

Open Host Controller Interface (OHCI) USB 1.1 (12 Mbps) Universal Host Controller Interface (UHCI) USB 1.1 (12 Mbps) Enhanced Host Controller Interface (EHCI) USB 2.0 (480 Mbps)

PortantierInformationSecurityIntroduccinaGNU/Linux

Drivers USB
Open Host Controller Interface (OHCI) USB 1.1 (12 Mbps) Universal Host Controller Interface (UHCI) USB 1.1 (12 Mbps) Enhanced Host Controller Interface (EHCI) USB 2.0 (480 Mbps)
PortantierInformationSecurityIntroduccinaGNU/Linux

Drivers USB

$ lsmod | grep usb


usbhid hid usbcore nls_base 27872 50841 98613 4541 0 1 usbhid 4 usbhid,ohci_hcd,ehci_hcd 1 usbcore

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'lsmod'

Muestra los mdulos del kernel cargados Uso: lsmod

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'lspci'

Muestra los dispositivos PCI instalados Uso: lspci [opciones]

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'lspci'

Opciones comunes: t vv Muestra la salida en forma de rbol Muestra informacin detallada

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'insmod'

Inserta un mdulo en el kernel Uso: insmod archivo_del_mdulo Ejemplo:


insmod /lib/modules/2.6.32-5-686/kernel/fs/fat/fat.ko

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'rmmod'

Remueve un mdulo del kernel Uso: rmmod [opciones] mdulo

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'rmmod'

Opciones comunes: a Remueve todos los mdulos no utilizados

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'modinfo'

Muestra informacin del mdulo Uso: modinfo [opciones] archivo_del_mdulo

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'modinfo'

Opciones comunes: a d p Muestra el autor Muestra la descripcin Muestra los parmetros que soporta

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'modprobe'

Agrega o quita mdulos del kernel Uso: modprobe [opciones] mdulo

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'modprobe'
Opciones comunes: a c l r t 'x' v Prueba todos los mdulos Muestra la configuracin del mdulo Lista los mdulos Remueve el mdulo Limita los mdulos al tipo 'x' Muestra informacin detallada
PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'modprobe'

Ejemplo:
# modprobe -v appletalk insmod /lib/modules/2.6/kernel/net/appletalk/appletalk.ko

PortantierInformationSecurityIntroduccinaGNU/Linux

Hotplug vs Coldplug

PortantierInformationSecurityIntroduccinaGNU/Linux

Sistema de archivos /sys

Sistema de archivos basado en RAM

Muestra el hardware del sistema

PortantierInformationSecurityIntroduccinaGNU/Linux

udev

Es un demonio o servicio Utiliza sysfs para obtener informacin Carga los mdulo dependiendo del hardware Configuracin en /etc/udev.d/
PortantierInformationSecurityIntroduccinaGNU/Linux

D-Bus

Es un demonio o servicio

Usa sysfs para enviar mensajes

Sirve para informar eventos de hardware


PortantierInformationSecurityIntroduccinaGNU/Linux

hald

Es un demonio o servicio Mantiene una BBDD del hardware conectado Trabaja en tiempo real Se conecta a D-Bus para exponer una API Descubre y trabaja sobre los dispositivos
PortantierInformationSecurityIntroduccinaGNU/Linux

Arranque del sistema

PortantierInformationSecurityIntroduccinaGNU/Linux

Proceso de arranque

Power On Self-Test (POST) Cargador de arranque (de la BIOS) Cargador de arranque (Disco Duro) Ejecucin del kernel (Linux) Montaje de los sistemas de archivos Inicio de servicios y resto del sistema
PortantierInformationSecurityIntroduccinaGNU/Linux

Referencia

http://tldp.org/HOWTO/From-PowerUp-To-Bash-Prompt-HOWTO.html

PortantierInformationSecurityIntroduccinaGNU/Linux

Cargador de Arranque (GRUB)

Soporta varios sistemas de archivos Permite definir el kernel a cargar Permite pasar opciones al kernel Soporta contraseas de modificaciones
PortantierInformationSecurityIntroduccinaGNU/Linux

GRUB
Referencia a dispositivos de disco: (xdn[,m]) xd n m fd o hd para floppy o discos duros* Nmero de disco (segn el BIOS, desde 0) Nmero de particin (desde 0)

*No distingue entre IDE, SCSI y SATA


PortantierInformationSecurityIntroduccinaGNU/Linux

GRUB
Ejemplos:
(fd0) El primer disco floppy (hd0) El primer disco rgido (hd0,1) La segunda particin del primer disco rgido
PortantierInformationSecurityIntroduccinaGNU/Linux

Parmetros de arranque del kernel

PortantierInformationSecurityIntroduccinaGNU/Linux

Parmetros de arranque del kernel


root=/dev/sda1 Define la particin que se utilizar como raz init=/bin/bash Define el programa a ejecutar al terminar la carga ro Monta el FS raz en modo de slo lectura initrd=/boot/initrd.img-2.6.32-5-686 Define la imagen initrd a utilizar en el arranque del sistema
PortantierInformationSecurityIntroduccinaGNU/Linux

Logs de arranque del kernel

dmesg | more

PortantierInformationSecurityIntroduccinaGNU/Linux

Niveles de ejecucin (runlevels)

PortantierInformationSecurityIntroduccinaGNU/Linux

Niveles de ejecucin

Van del 0 al 6

Controlan los servicios a ejecutar

Presentes en la mayora de los Unix


PortantierInformationSecurityIntroduccinaGNU/Linux

Niveles de ejecucin (tpicos)


0 1 2 3 4 5 6 Apagar el sistema Modo mantenimiento (o monousuario) Multiusuario sin NFS ni entorno grfico Todo menos entorno grfico (default) Tpicamente no utilizado Multiusuario con entorno grfico Reiniciar el sistema

Configuracin basada en sistemas RedHat


PortantierInformationSecurityIntroduccinaGNU/Linux

Monousuario

Sin red Sin entorno grfico Mayora de servicios deshabilitados Utilizado para mantenimiento
PortantierInformationSecurityIntroduccinaGNU/Linux

/etc/inid.d/

Contiene todos los scripts de arranque

PortantierInformationSecurityIntroduccinaGNU/Linux

/etc/rcX.d/
Se reemplaza la 'X' por el nmero de runlevel Contiene enlaces a los scripts de /etc/init.d/ Los que empiezan con 'S' inician el servicio Los que empiezan con 'K' detienen el servicio El nmero indica el orden de ejecucin
PortantierInformationSecurityIntroduccinaGNU/Linux

/etc/rc.local

Es un script Se ejecuta al final de los niveles multiusuario Suele utilizarse para configuraciones particulares

PortantierInformationSecurityIntroduccinaGNU/Linux

Administracin de servicios
Ejemplo del servicio apache2: /etc/init.d/apache2 opcin Opciones comunes: start, stop, restart, reload, status Cada servicio puede tener otras opciones
PortantierInformationSecurityIntroduccinaGNU/Linux

/etc/inittab

Permite configurar el comportamiento de init Runlevel por defecto: id:2:initdefault:

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'runlevel'

Muestra el runlevel actual Uso: runlevel

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'runlevel'
Ejemplos: # runlevel 35
(Se inici en 3 y estamos en 5)

# runlevel N2
(Se inici en 2 y estamos en 2)
PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'init'

Permite modificar el runlevel actual Uso: init runlevel

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'init'
Ejemplos: # init 0
(Apaga el sistema)

# init 6
(Reinicia el sistema)

# init 3
(Pasa al runlevel 3)
PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'shutdown'

Apaga o reinicia el sistema en forma correcta Uso: shutdown [opciones] tiempo mensaje

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'shutdown'

Opciones comunes:
f h k r F Evita el chequeo de FS en el siguiente inicio Apaga el sistema No hace nada, slo enva el mensaje Reinicia el sistema Fuerza el chequeo de FS en el siguiente inicio

PortantierInformationSecurityIntroduccinaGNU/Linux

Comando 'shutdown'
Ejemplos:
shutdown -r now Reinicia el sistema ahora (now) shutdown -r +5 Reinicio Reinicia en 5 minutos y enva el mensaje Reinicio shutdown -h 23:59 Apaga el sistema a las 23:59hs
PortantierInformationSecurityIntroduccinaGNU/Linux

You might also like