Tema 4 - Parte 1- SSOO Linux Flashcards
Que es una arquiectura monolítica?
Compila como unidad unificada y que es autonoma e independiente de otras arquitecturas.
Que quiere decir que el kernel de linux sea monolítico?
Que todas las funcionalidades estan dentro del kernel
Que dos areas se diferencian en la arquitectura de linux
El area de usuario (user space) y el kernel space
Que contiene o aúna user space
Aplicaciones de usuario y system libraries (libc)
Que tenemos que hacer si desde nuestro programa queremos llamar a una función reservada del Kernel
Se hace a través del System Call Interface (SCI) que es una interfaz del Kernel.
Con que dirección accedemos a la interrupción/instrucción reservada para el acceso al modo Kernel
int 80h
En el Kernel de linux tenemos 3 grandes subsitemas. Cuales son?
Subsistema de entrada/salida
Subsistema de gestión de memoria
Subsistema de gestión de procesos
Como se llama la capa que gobierna el subsistema de entrada salida y para que sirve
VFS (Virtual File System) y permite independizarnos del resto de sistemas de ficheros con los que trabajamos (Terminales, Sockets, FS (File systems como EXT2, FAT etc…)
En que capa se apoya VFS? Que dos tipos hay?
Se apoya en la capa de drivers, con dos tipos, los drivers tipo bloque y los drivers tipo caracter
De que se encarga el susbsistema de gestión de memoria
Paginación, virtualización etc…
De que se encarga el subsistema de gestión de procesos
De gestionar las señales de los procesos
De gestionar los threads o hilos
De planificar (scheaduler)
Que es LKM
Significa Loadable Kernel Module
Son los módulos cargables del kernel. Es decir, si quiero que mi kernel tenga una nueva funcionalidad se amplía mediante módulos.
SCU, HP-UX, IBM-AIX y BSD pertenecen a la familia…
Unix
FreeBSD y MacOS X pertenecen a unix y son ampliaciones de…
BSD(Berkeley Software Distribution)
Que dos familias de distibuciones linux provienen de Debian
Ubuntu y Mint
Que cuatro familias de distribuciones provienen de RedHat
Fedora, CentOS, Mandriva y Mageria (esta ultima proviene de Mandriva)
Que extensión para instalar software (paquetes) se usa en MacOS X
.dmg
Que extensión para instalar software (paquetes) se usa en RedHat?
.rpm
Que extensión para instalar software (paquetes) se usa en Debian
.deb
Que extensión para instalar software (paquetes) se usa en Slackware
.tgz
Nombra 3 distribuciones de linux que no formen parte de la siguiente lista:
- Debian
- RedHat
- SlackWare
Suse, Gentoo y PuppyLinux
Que diferencia apt-get con apt-cache
apt-get es para instalar y apt-cache es para buscar
Cual es el directorio donde se encuentran los “links” para instalar todas las dependencias de un paquete
/etc/apt/sources.list
El comando:
apt-get /etc/apt/sources.list
dpkg -i java-1.6 (o deb)
aptitude /dselect/synaptic
Sirve para
Instalar paquetes en debian
Para que sirve el comando aptitude
Es una interfaz de texto para el sistema de paquetes
Para que sirve el comando dselect en debian
Interfaz o menu de paquetes en debian
Cual es el equivalente de apt (de debian) en RedHat
yum
ej:
yum install java-1.6
Cual es el directorio de los repositorios de paquetes en RedHat
/etc/yum.repos.d
Cuales son las siglas del comando rpm en redhat
RedHat Package Manager
Para que sirve el comando rpm -ivh java -1.6.0.rpm
Instalación de paquetes RPM
Para que sirve el comando apt-cache search Manuel
Busca un paquete con el nombre Manuel
Cuales son las formas de instalación de paquetes/software en Gentoo y PuppyLinux
ebuilds y PET
Para que sirve el comando ls -l
Listado largo
Para que sirve ls -a
Listado para mostrar los ficheros ocultos
Para que sirve ls -R
Listado recursivo de todos los subdirectorios del directorio que estas haciendo ls
Para que sirve cp
Para copiar
Para que sirve cp -u
Copia si el origen esta mas actualizado que el destino
Para que sirve cp -r
Copia recursiva
Para que sirve mv
Move y renombrar ficheros
Para que sirve rm
Borrar directorios/ficheros
Para que sirve touch
Para crear un fichero vacio y actualizar las fechas de acceso y modificación de los ficheros
Para que sirve touch -a
Solo modifica la fecha de acceso
Para que sirve touch -m
Solo modifica la fecha de modificicación
Para que sirve touch -e
No crea el fichero si este no existe
Para que sirve tar
Empaquetar o desempaquetar
Para que sirve tar cvfz /media/copia.tgz
c –> create
v –> verify
f –> empaquetado
z –> descompresión
Para que sirve tar xvfz /media.copia.tgz
x –> extraer un archivo
Para que sirve dd
Significa data duplicator o disk duplicator
Es una orden para hacer copia entre dispositivos a bajo nivel
Para que sirve dd if=/dev/cdrom of =/media/imagenCD.iso
Que significan el if y el of
Copia la imagen del directorio cdrom al directorio media.
El if es inputfile y el of outputfile
En que directorio se encuentran los dispositivos en linux
/dev
Para que sirve el comando dd if =/dev/zero of=empty.img bs=1024 count 720
Genera un fichero de un mega (coge 720 veces 1024 de los ceros y los escribes en empty.img)
Para que sirve el directorio /dev/zero
Es un directorio que contiene todo 0. En general para hacer pruebas
En dd se utiliza el comando bs y el comando count, para que sirven
bs es blocksize (determinar un tamaño de bloque)
count para contar cuantas veces quieres hacer X
Para que sirve el directorio /dev/hda
Ruta de acceso al primer disco duro del sistema. Se utiliza para acceder y controlar el funcionamiento del disco.
Para que sirve el directorio /media/mbr
Directorio donde se almacenan las particiones del disco
Que hace el comando dd if=/dev/hda of=/media/mbr bs=512 count=1
Del dispositico /dev/hda guardame en el /media/mbr los primeros 512 bytes del disco (copia de seguridad mbr)
Que significa mbr, para que sirve?
Master Boot Record (iniciar el proceso de arranque y cargar S.O)
Para que sirve el comando mkdir -p
Crear todos los subdirectorios necesarios
Para que sirve rmdir -p
Elimina todo el arbol de subdirectorios de un directorio
El comando chown puede usarse para un usuario que no sea root?
No
Que siginifica chown, para que sirve
Change Owner para cambiar el owner de un fichero.
Para que sirve chown -r
Cambiar owner recursivamente
para que sirve chgrp
Change Group (Cambiar group owner)
Para que sirve chmod
Cambiar los permisos sobre un directorio o fichero
En linux hay 3 grupos de permisos. U, G y O, cada uno tiene 3 bits. Para que sirve cada uno
U –> Usuarios
G –> Grupos
O –> Otros
En los permisos (en los 3 grupos) encontramos r, w y x. Para que sirve cada uno
r –> Desactivar o activar read
w –> Desactivar o activar write
x –> Desactivar o activar ejecución
Nota recordatorio:
La mascara de permisos son 10 bits. Cada grupo tiene 3 bits. Sobra un bit. Este bit tiene multiples caracteres con distintas funcionalidades
En permisos, d es para
directorios
En permisos, l es para
links
En permisos, s es para
Socket
En permisos, - es para
ficheros ordinarios
En permisos, b y c son para
Bloques dev y Caracter dev respectivamente
Para que sirve una ACL
Access Control List, sirven para determinar que usuario tiene que permisos.
Para que sirve el comando setfacl -m u:user:rw file
Le doy permisos de lectura escritura al usuario dani para file
Para que sirve el comando setfacl -x
Borrar un ACL
Para que sirve getfacl file
Ver los permisos de un fichero
Para que sirven las siguientes opciones del comando find
-type d
-name cadena
-perm -exec command
-user uid
-atime
-size
Buscar por:
tipo de fichero (d directorio)
Nombre del fichero
Permisos que tenga el fichero
ID del usuario
Tiempo
Tamaño del fichero
Nombra un comando similar a find
whereis
Que comando sirve para enlaces. Que dos tipos hay
El comando ln (link) pueden ser soft o hard
Que es un enlace soft
Es como un acceso directo. Si el directorio del enlace al que estoy apuntando queda roto, el enlace se rompe
Que es un enlace hard (hardlink)
Es como si tuvieramos una copia del fichero por varias partes del disco. Es como “duplicar” el fichero en varios sitios. Si borramos el fichero original o varios hardlinks, no se elimina el fichero de datos hasta que todos los hardlinks no hayan sido eliminados.
Para que sirve i-node
Es la estructura de datos que utiliza linux para guardar la información de nuestros ficheros.
Extra no necesario mas que conocer:
Contenido i-node:
nºinodo
size
owner UID
group UID
time
Tipo fichero
Permisos
nºhardlinks
….
Para que sirve el comando split
Troceo de cadenas (genera trozos de ficheros)
Para que sirve el comando tr ABC… a bc < fichero.txt
Pasa de mayusculas a minusculas
Para que sirve el comando uniq
Elimina las lineas duplicadas
Para que sirve el comando nl
Como el cat pero imprime los nº linea
para que sirve nl -b a
Numera también las filas vacias
Para que sirven los comandos head/tail
Para ver las primeras o ultimas 4 lineas
Para que sirve el comando tail -200f fichero.log
Mantiene el fichero abierto y muestra las nuevas lineas que se añadan a este fichero
Para que sirve el comando wc
WordCount, cuenta lineas (-l), palabras (-w), caracteres (-m), bytes (-c)
Para que sirve el comando more/less
Para paginar la información
Para que sirve el comando cut
Y los siguientes?:
cut -b
cut -f
cut -c
Cut -b corta en vertical por bytes
Cut -f corta por campos
cut -c por caracteres
Ejemplo:
Tengo el texto:
Hola mundo
Que tal
estas
Podemos cortar para que devuelva:
Ho
Qu
Es
Para que sirve el comando sed
Para buscar y reemplazar un texto
Ejemplo:
sed 7 ‘s/2012/2013/hola.txt > hola1.txt
Reemplaza hola.txt con el texto de hola1.txt
Para que sirve el comando grep
Sirve para buscar patrones
Nota: Las expresiones regulares de grep probar en laboratorio porque son muchas
Para que sirve el comando tee. Por ejemplo:
prog|tee output.txt
Redirigir ficheros y salida estandar. Establece que output.txt sea siempre la salida estandar
Para que sirve el comando xargs
xargs toma una lista de elementos y los pasa como argumentos a otro comando para realizar una tarea
Ejemplo:
$ ls | xargs rm
Este comando toma la lista de archivos generada por el comando “ls” y los pasa como argumentos al comando “rm”, lo que elimina todos los archivos de la lista.
Que diferencia hay en la concatenación entre cat y paste
cat concatena verticalmente y paste horizontalmente
Para que sirve el comando sort
Ordenar lineas de archivos de texto
Que es un sistema de ficheros
Estructuras de datos que tenemos para gobernar los distintos ficheros y directorios
El sistema de fichero ext2 no implementa journaling. Que quiere decir esto?
Es un registro diario de cambios. Second extended filesystem (ext2) no lo implementa
Que capacidad por archivo admite ext2? Y por partición?
2TB/Archivo
4TB/Partición
EXT3 y 4 implementan journaling? Que capacidades de archivo y partición admiten?
Si
Ext3:
2TB/Archivo
32TB/Partición
Ext4:
16TB/Archivo
1EB/Partición
En que distribución se usa ReiserFS
OpenSuse
Fue la primera distribución con Journaling
JFS no implementa journaling. Verdadero o falso? Que significan sus siglas?
Falso. Journal File System
XFS implementa Journaling. Funciona en la distribución de linux…
RedHat 7
En que sistema operativo se utiliza el sistema de archivos FAT
msdos/windows
El sistema de ficheros VFAT es conocido como…
FAT 32
El sistema de ficheros iso9660 esta dedicado a…
CD (Compact Disk)
UDF es un sistema de ficheros que utiliza…
DVD
El significado de NFS es… Ademas se utiliza generalmente en…
No File System
Red
El significado de cifs es…
Common Internet File System
El comando df muestra…
DF (Disk Free)
Muestra la cantidad de espacio libre en el disco
El comando df -h muestra….
El espacio libre en MB o GB
El comando du sirve para…
du (disk usage) muestra el uso del espacio en el disco.
Para que sirve el directorio /etc/fstab
El directorio fstab contiene la información pertinente respecto al montaje de los discos duros
En el registro /etc/mtab…
se registran los montajes
Para montar un dispositivo lo hacemos con el comando…
mount -t filesystem origen /destino
El comando fsck significa y sirve para…
FileSystem Check sirve para checkear y reparar los errores en un sistema
El comando lsof sirve para
List Of OpenFiles lista los ficheros abiertos
Que significa DLL
Dinamic Link Library. Archivos con código ejecutable.
Existen librerias con extension .so que significa? Ejemplo: libxxx.so
Shared Object. Es el equivalenete a DLL
El comando ldd muestra las librerías…
compartidas (shared) de las que depende un determinado programa
Los comandos internos del shell no generan procesos. Da ejemplos de 5 comandos que no generen procesos
cd, pwd, exec, kill, umask
Que significa el comando umask
user mask es una orden y una función en entornos POSIX que establece los permisos por defecto para los nuevos archivos y directorios creados por el proceso actual
Que significa POSIX
Portable Operating System Interface uniX
Que diferencia hay entre el comando ps y el comando top
El comando ps muestra procesos, el comando op muestra la dinámica de los procesos
Damos prioridad a un comando con el comando
nice
CEl comando que sirve para finalizar procesos y enviar señales es…
Kill
Con el comando nohup…
Le decimos a un proceso que ignore la señal SIGHUP. Esta ultima se envía automáticamente al proceso si el usuario se desconecta del terminal teniendo permiso para iniciar el programa (Es decir sobrevive al logout)
El comando & sirve para…
Ejecutar comandos en segundo plano
En linux todo son procesos y se crean con…
fork() que crea un nuevo proceso duplicando el system call.
Define system call de manera muy sencilla
Forma en la que los programas pueden pedirle al S.O que hagan algo por ellos
Ahora el kernel 2.6 maneja los hilos pero antes eran gestionados por…
La propia aplicación con una librería de threads como pthreads, pusix thread etc…
El comando at sirve para…
Hacer una planificación de un proceso en un momento concreto
Cual es la diferencia entre at y cron.
At planifica en un momento concreto
Cron estableces una planificación más concreta y reiterativa
De que directorio coge cron la planificación?
/etc/crontab
En cron 0,30 y */15 significan…
Cada 30 minutos y cada 15 minutos
Al arrancar, la bios/uefi va a buscar un sector llamado MBR. Que es este sector.
Aclaración: UEFI es la nueva bios
Master Boot Record, es un sector donde se encuentran las particiones del disco
A las particiones del disco (en el arranque) le acompaña otro programa llamado gestor de arranque. Como se denomina en linux?
Lilo (Linux Loader)
o
GRUB (GNU GRand Unified Bootloader)
Que es GPT en linux
Esquema de partición basado en el uso de un identificador único local (GUID) (Group User ID)
Cuando elegimos una de las particiones se accede al sector de arranque. Cual es el primer proceso que se inicia? Que es PID 1?
es init. Se encuentra en /sbin/init
PID 1 es Process ID 1, es el primer proceso
Que fichero lee INIT al arrancar? Que ocurre ahi?
/etc/inittab
Tienes una linea (rd:2:initdefault) donde el numero 2 es el RunLevel
Que es el run level
Es el modo de arranque (el numerito de /etc/inittab), puede ser:
1 –> Single user
2-5 –> Multi user con X Windows
6 –> Reiniciar
Cual es la siguiente instrucción que se ejecuta tras init. Para que sirve
/bin/systemd que según el metodo de arranque ejecutará unos procesos. Se especifica de la siguiente manera:
/etc/rcX.d siendo X el metodo de arranque (1 al 6)
Que procesos se inician en /etc/rc2.d
S10MySQL
S20Apache
S30JBoss
El 10,20,30 refleja la prioridad
Los servicios que inician empiezan por … y los servicios que paran empiezan por…
S y K respectivamente
Para que sirve el comando chkconfig -l
Listar todos los servicios indicando sus runlevel
Que es un demonio en linux
Programa que se ejecuta en segundo plano fuera del control interactivo de los usuarios ya que carecen de interfaz
inetd es un comando que sirve para…
Arrancar servicios de red. Se modifica en el directorio /etc/inetd.conf
En su nomenclatura se puede especificar el nombre de servicio que queremos arrancar (sobre ftp), el tipo de socket (Para tcp es stream y para udp dgram), user, el binario que representa a ese servicio…)
ifconfig <interface> muestra</interface>
configuraciones de red del interface
Cual es el comando que envia paquetes ICMP ECHO_REQUEST al host?
ping <host></host>
Que es ECHO_REQUEST
Si el host de destino no tiene filtrados los protocolos necesarios, el host le manda un echo_reply
ifup o ifdown sirven para
activar/desactivar interfaces de red
Con que comando podeos hacer un volcado del trafico de red? (Un sniffer)
tcpdump
/etc/hosts contiene
un fichero con IP’s asociadadas a unos nombres. Es como DNS pero local
En que directorio se encuentra el nombre del host
/etc/hostname
Que hace el comando nslookup
Sirve para hacer consultas a los servidores que tengamos configurados en /etc/resolv.conf. Te devuelve la ip del dominio etc…
En que directorio estan configuradas las interfaces de red (la configuración de tu tarjeta de red)
/etc/network/interfaces
Define brevemente los siguientes conceptos
iface
eth0
inet
dhcp
iface hace referencia a la interface de red
eth0 hace referencia a la primera tarjeta de red
inet para levantar los protocolos tcp/ip
dhcp para coger una ip de un servidor externo
Con el comando route
Gestionamos distintos enrutados
Como podemos ver el camino que siguen nuestros datagramas ip
Con el comando traceroute
Que comando nos da información sobre puertos abiertos etc…
netstat
Por que linea de comandos empieza un script en Unix
!/bin/sh
Que significa $var
Valor de una variable (si la hemos establecido antes de llamar al script en la sesión de shell debemos de tener cuidado de haberla exportado)
Que devuelve $comando
Devuelve el resultado de ejecutar el comando
Que hace el script if [ -s /tmp/temp1]
Comprueba si el fichero /tmp/temp1 tiene contenido
Nombra otro script equivalente a if [-s /tmp/temp1]
if test -s /tmp/temp1
test equivale a […]
En shell que significa $0
Cuando te pasan argumentos por la linea de comandos $0 es el nombre del propio comando
En shell que significa $1
Hace referencia a los distintos parametros
En shell que significa $*
Que script es equivalente?
Hace referencia a TODOS los parametros
Un script equivalente es $@
Con que script obtenemos en numero de parametros
$#
Para que sirve el script $$
Para saber el PID (Process ID) de un proceso para ejecutarse
En un modelo cliente servidor decimos que el cliente estaría “alojada” en la maquina del usuario y el servidor en la maquina central. Es igual en X WINDOW?
No, es al revés. El servidor X esta en la maquina del usuario final (nos atiende capturando eventos del raton teclado etc…) y el cliente X es la apicacion que corre en la maquina servidora donde esta linux
Para que sirve el protocolo X en X window
El servidor le envia al cliente (a través del protocolo x) que esta haciendo el usuario y si el usuario tiene que hacer algun tipo de accion relacionada con el interfaz (mover ventanas etc) se lo envía al servidor x
Resumen: Servidor X registra eventos usuario y envia al la app (cliente) esos eventos y si es con interfaz, la app se lo envía al servidor
Que es el sistema CUPS
Common Unix Printing System, utiliza protocolo IP para imprimir
Que es el sistema LPD
Line Printer Daemon, es un sistema de impresion. Su sintaxis es lpd ://hostname/queue
Relacionado con LPD define los siguientes conceptos
Daemon
lpr
lpq
Daemon –> Porgrama que se ejecuta en segundo plano
lpr –> Enviar trabajos a imprimir
lpq –> ver cola de impresion
Cuando usamos los comandos useradd, adduser o addgroup, donde se almacenan los datos
/etc/passwd
/etc/group
Que parametros contiene el directorio /etc/passwd
nombre, password cifrada, uid(user id), gid (group id), home, shell
Las passwords pueden estar protegidas en otro fichero llamado…
/etc/shadow y en /etc/passwdd aparecería una X
Que es iptables
Cortafuegos basado en reglas tanto de entrada como de salida y para el protocolo tal con ip o interfaz de red tal quiero que la dejes o no la dejes pasar
Para que sirve Fail2Ban
Para banear ips para evitar ataques Dos
Que protocolo se dice que es como telnet+ftp+seguridad y proporciona control remoto y copia remota?
SSH
Que es y para que sirve PUTTY
Es un cliente SSH que sirve para conectarse remotamente a una maquina mediante canal cifrado (con clave pública)
Que protocolo es equivalente a FTP
WinSCP
Que dos comandos sirven para definir politicas de restricción de recursos (para procesos que esten consumiendo muchos recursos poder regularlos)
ulimit (user limit) y cgroup (control group)
Como se denomina el modulo de linux (de linux kernel) que brinda seguridad avanzada a los sistemas
SELinux
Como se nombran los discos duros PATA/IDE en linux
/dev/hda (master)
/dev/hdb (slave)
Como se nombran los discos duros SATA/SCSI en linux
/dev/sda
/dev/sdb
…
A que hace referencia el directorio /dev/hda1
A una partición del disco duro
Para que sirve el comando lsmod
Para listar odulos cargador por el kernel