Documente Academic
Documente Profesional
Documente Cultură
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
Otro software
PortantierInformationSecurityIntroduccinaGNU/Linux
Distribuciones (I)
Conjunto de software Distintos objetivos (servidor, laptop, etc) Compilaciones propias Soporte y otros servicios
PortantierInformationSecurityIntroduccinaGNU/Linux
Distribuciones (II)
Bash
Intrprete de comandos Nuestro mejor aliado Posibilidad de scripting Disponible en casi todas las distribuciones
PortantierInformationSecurityIntroduccinaGNU/Linux
Otros intrpretes
Muestra el directorio actual Cambia de directorio Lista archivos y directorios Imprime los parametros por pantalla Muestra archivos por pantalla
PortantierInformationSecurityIntroduccinaGNU/Linux
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
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
PortantierInformationSecurityIntroduccinaGNU/Linux
Detener un trabajo ctrl + z Llevar a segundo plano bg (el primer trabajo) bg %n (el trabajo nmero 'n')
PortantierInformationSecurityIntroduccinaGNU/Linux
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
PortantierInformationSecurityIntroduccinaGNU/Linux
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
Nos permite modificar lneas de texto Uso: sed [opciones] comando [archivos] sed [opciones] -e com1 -e com2... [archivos]
PortantierInformationSecurityIntroduccinaGNU/Linux
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
Ejemplos: Reemplazar sed s/favian/fabian/g /etc/passwd Eliminar sed /fabian/d /etc/passwd (si, est bien)
PortantierInformationSecurityIntroduccinaGNU/Linux
Almacenamiento
PortantierInformationSecurityIntroduccinaGNU/Linux
PortantierInformationSecurityIntroduccinaGNU/Linux
www.pathname.com/fhs
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
El directorio /dev
Dispositivos de disco
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
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
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
PortantierInformationSecurityIntroduccinaGNU/Linux
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
<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'
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'mount'
PortantierInformationSecurityIntroduccinaGNU/Linux
PortantierInformationSecurityIntroduccinaGNU/Linux
Escritura asincrnica
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
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
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
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'tune2fs'
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
Realiza comprobaciones en el sistema de archivos Uso: fsck [opciones] [-t tipo] [opciones-fs] volmen
PortantierInformationSecurityIntroduccinaGNU/Linux
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
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
PortantierInformationSecurityIntroduccinaGNU/Linux
Cuotas
Generalmente en bloques de 1024 bytes Cinco tipos de cuotas distintas Deben ser soportadas por el kernel
PortantierInformationSecurityIntroduccinaGNU/Linux
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
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
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
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
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
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'
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'
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
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
PortantierInformationSecurityIntroduccinaGNU/Linux
Configurando cuotas
PortantierInformationSecurityIntroduccinaGNU/Linux
Permisos y Propietarios
PortantierInformationSecurityIntroduccinaGNU/Linux
Permisos y Propietarios
Protegen la confidencialidad
Evitan accidentes
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
PortantierInformationSecurityIntroduccinaGNU/Linux
Access Mode
PortantierInformationSecurityIntroduccinaGNU/Linux
SUID Bit
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
= = = = = =
s S s S T 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
PortantierInformationSecurityIntroduccinaGNU/Linux
Clculo de umask
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
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
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
PortantierInformationSecurityIntroduccinaGNU/Linux
# 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
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
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'
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'
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'whereis'
PortantierInformationSecurityIntroduccinaGNU/Linux
Filtrado de textos
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'cat'
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'tac'
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'
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'
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'unexpand'
Opciones comunes: t 'n' a Modifica la cantidad de espacios a 'n' Procesa las lneas completas*
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'fmt'
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'
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'head'
Opciones comunes c 'x' n 'x' Muestra los primeros 'x' bytes* Muestra las primeras 'x' lneas
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'tail'
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
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'
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'od'
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'
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'pr'
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'
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'
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'tr'
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'
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'
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'wc'
Opciones comunes: c l w Cuenta slo caracteres Cuenta slo lneas Cuenta slo palabras
PortantierInformationSecurityIntroduccinaGNU/Linux
Configuracin de Hardware
PortantierInformationSecurityIntroduccinaGNU/Linux
BIOS
Hora y fecha
/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
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
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'lsmod'
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'lspci'
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'lspci'
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'insmod'
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'rmmod'
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'rmmod'
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'modinfo'
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'modinfo'
Opciones comunes: a d p Muestra el autor Muestra la descripcin Muestra los parmetros que soporta
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando 'modprobe'
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
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
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
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
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)
GRUB
Ejemplos:
(fd0) El primer disco floppy (hd0) El primer disco rgido (hd0,1) La segunda particin del primer disco rgido
PortantierInformationSecurityIntroduccinaGNU/Linux
PortantierInformationSecurityIntroduccinaGNU/Linux
dmesg | more
PortantierInformationSecurityIntroduccinaGNU/Linux
PortantierInformationSecurityIntroduccinaGNU/Linux
Niveles de ejecucin
Van del 0 al 6
Monousuario
Sin red Sin entorno grfico Mayora de servicios deshabilitados Utilizado para mantenimiento
PortantierInformationSecurityIntroduccinaGNU/Linux
/etc/inid.d/
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
PortantierInformationSecurityIntroduccinaGNU/Linux
Comando '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'
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