B2T4 Linux Flashcards
¿Qué es el UID, GID, PID, PPID y TID?
Número Identificación del Usuario, Grupo, Proceso, Proceso Padre y Tarea (hilo)
¿Qué hace el comando tcpdump?
Es un sniffer de red. Vuelca el tráfico de red a pantalla, fichero, ..etc
¿Para qué sirve nmap?
Escanear direcciones IP y puertos de una red
¿Qué contiene /etc/shadow?
Contraseñas hasheadas de los usuarios
¿Qué contiene /etc/passwd?
Información de las cuentas de usuario
¿Qué contiene /etc/groups?
Nombre de los grupos y los usuarios que pertenecen a cada uno
¿Cómo obtener la versión de linux instalada?
lsb_release -a
¿Qué hace pidof proceso?
Devuelve el PID de un proceso
apt cache show
Muestra las cabeceras de las versiones disponibles de un paquete
¿Qué hace fork()?
Crea un nuevo proceso hijo, copia del padre y retorna al padre el PID del hijo
Últimas dos versiones Debian
11 Bullseye, 12 Bookworm
ps
-ef
-u
-U
Muestra los procesos en ejecución de usuario
-ef todos los procesos y formato largo extendido
-u usuario efectivo
-U usuario real
/bin
Contiene ficheros ejecutables y algunas utilidades del SO
grep -n
grep -c
n - imprime coincidencias y enumera nº líneas
c - imprime el nº de líneas
grep “loquebuscas” donde
which/whereis
muestra la ruta completa de dónde se encuentra el ejecutable. Ej: which ls -> /bin/ls
apropos
Busca los nombres y descripciones de los comandos que coincidan con la palabra clave a buscar
who
-q
-m
-r
-b
Información de usuarios conectados
q: logins y nº total de logeados
m: hostname del usuario
r: runlevel actual
b: fecha y hora de último inicio del sistema
ss / netstat(obsoleto)
-at
-au
-l
Muestra conexiones de red, tablas encaminamiento
at -Solo TCP
au - Solo UDP
l - estado Listen
Familia UNIX
-SCO
-HP-UX
-Solaris
-AIX(IBM)
-BSD: FreeBSD, Mac OS X
-Linux
Distribuciones Linux
-Debian -> Ubuntu -> Mint
-RedHat -> Fedora, CentOS (Rocky Linux), Madriva (Mageia)
-Suse
-Slackware
-Gentoo
-PuppyLinux
-ArchLinux
-KaliLinux
Tipos SHELL
-BASH (/etc/profile, /etc/bash.bashrc, /etc/skel)
-BSH
-CSH
-KSH
-TCSH
-ZSH
Proceso variable entorno
1) Asignar valor TEST = valor
2) Listar valor echo $TEST
3) Exportar a Shell export TEST = valor
Comando env
Lista de variables de entornos actuales
Comando set
Lista todas las variables (entorno y Shell y funciones de Shell)
Variable de entorno PWD
Ruta del directorio actual
Variable de entorno OLDPWD
Ruta del directorio anterior
Comando history
Lista los últimos comandos tecleados
Comando id
Muestra UID y GID del usuario y grupos
setUID
Cualquier usuario puede ejecutar con privilegios de root o propietarios
setGID
Puede ejecutar otros usuarios como si lo hiciera el owner
Sticky Bit
Solo root y owner puede borrarlo o renombrarlo.
Comando fsck
Check y reparar archivos del sistema
Comando lsof
Lista open files
Comando dmesg
ver mensajes que aparecieron al inicio (para ver errores)
Comando whereis
Localizar el archivo binario, el código fuente y la página del manual de un determinado comando
Comando du
Disk Usage
Comando df
Disk free
Comando ln
Crea enlace duro por defecto
-d enlace duro
-s enlace simbólico
Crear un fichero de texto
vi f1.txt
Crear fichero con enlace simbólico
ln -s f1.txt enlaceF1.txt
Comando ls
Listar contenido.
-a ocultos
-l largo
-d directorios
– archivos
-S tamaño
Comando tar
Empaquetar/desempaquetar.
-c crear archivo
-f especificar nombre
-v ver progreso/verbose
-z comprime gzip
-x extraer
Comando cpio
Copia ficheros entre directorios. Para copias de seguridad
Comando dd
Copia entre dispositivos a bajo nivel.
Comando rsync
Copia remota de ficheros (sincronizar ficheros entre 2 máquinas)
Comando chown
Change Owner. Cambiar propietario
Solo puede hacerlo ROOT
Siempre borra bits setuid y setgid
Comando find
Busca ficheros en una jerarquía de ficheros
-type d, f
-name
-perm
-user
-exec
-atime tiempo acceso. En nº días
-mtime tiempo modificación
-ctime tiempo cambio (actualización)
-size c->bytes / k,M,G,
Comando locate
Encuentra archivos por su nombre en una BBDD que crea
Comando whereis
Localizar el archivo binario, el código fuente y la página del manual de un determinado comando
Comando type
Muestra qué tipo de elemento está asociado a un comando determinado y alguna información adicional sobre él
Comando stat
Mucha información de fichero o sistema de ficheros
Comando split
Genera ficheros en trozos
x -> bytes
y -> líneas
Comando tr
Translate (cambiar caracteres, borrarlos, etc)
Comando uniq
Eliminar líneas duplicadas
Comando cat / nl
Imprimir o concatenar contenido.
NL muestra Números de Línea, -b a numera también las líneas vacías
Comando head/tail
Ver las primeras/últimas n líneas
10 líneas default
-f lo mantiene abierto para ver cambios
Comando cut
Corta en vertical
-b bytes
-f fields
-c chars
Comando wc
Word Count
-w palabras
-l líneas
-m caracteres
-c bytes
>
Redirecciona stdout a un archivo.
Lo crea si no existe, si existe sobreescribe
> >
Redirecciona stdout a un archivo.
Lo crea si no existe, si existe concatena al final
<
Redirecciona stdin desde un archivo.
El contenido de un archivo es la entrada/input del comando
2>
2»
Redirecciona stderr a un archivo
&>
&»
Redirecciona stdout o stderr a un archivo independiente de lo que salga
1>&2
Redirecciona stdout hacia donde apunte stderr
2>&1
Redirecciona stderr hacia donde apunte stdout
Comando tee
Redirecciona la salida (stdout) a ambos, un archivo y la terminal
Comando paste
Concatena horizontalmente
Comando sort
Para ordenar líneas de texto
/bin
Aplicaciones binarias importantes
/boot
Ficheros de configuración del arranque, núcleos y otros ficheros necesarios para el arranque
/dev
Los ficheros de los dispositivos
/etc
Ficheros de configuración, scripts de arranque, etc
/home
Directorios personales para los diferentes usuarios
/initrd
Usado cuando se crea un proceso de arranque initrd personalizado
/lib
Librerías del sistema
/lost+found
Proporciona un sistema de “perdido+encontrado” para los ficheros que existen debajo del directorio raíz (/)
/media
Particiones montadas automáticamente en el disco duro y medios extraíbles como CDs, etc
/mnt
Sistemas de archivos montados manualmente en el disco duro
/opt
Proporciona una ubicación donde instalar aplicaciones opcionales (terceros)
/proc
Directorio dinámico especial que mantiene info sobre estado del sistema, incluyendo procesos actualmente en ejecución
/root
Directorio personal del usuario root (superusuario)
/sbin
Binarios importantes del sistema
/srv
Puede contener archivos que sirven a otros sistemas
/sys
Archivos del sistema
/tmp
Archivos temporales
/usr
Aplicaciones y archivos a los que puede acceder la mayoría de los usuarios
/var
Archivos variables como archivos de registros y bases de datos
Comando top
Muestra dinámicamente una tabla con los procesos en ejecución
Comando nice
Establece prioridad a un comando (cuanto menor, más prioritario)
Comando vmstat
Muestra información de procesos, memoria, paginación, io, cpu, disk,…
Comando pstree
Muestra el árbol de procesos (para ver como se han ido “forkeando”)
Comando kill
Manda una señal a un proceso.
9 matar
2 ctrl+C
14 Alarma
20 Parada
fork
Crea un nuevo proceso
Comando jobs
Controlar la ejecución de procesos. Puede estar en primer o segundo plano
Comando fg
Trae a primer plano (ForeGround) un proceso que está ejecutándose en segundo plano.
También para reanudar en primer plano un trabajo que está suspendido o detenido.
Comando bg
Reanudar un trabajo que está suspendido en segundo plano (BackGround)
Comando at
Ejecuta un comando en un momento concreto. Solo para una vez
Comando cron
Es un programador de tareas
Una hoja por usuario: /etc/crontab
Un directorio: /etc/cron.d
BIOS
Basic Input/Output System.
Modo texto
UEFI
Unified Extensible Firmware Interface.
Menú gráfico. Soporta GPT
MBR
Master Boot Record.
Contiene información para arrancar, tabla de particiones y el boot signature. Tiene limitación de 4 particiones primarias por discos. 32 bits
Gestores de arranque LILO y GRUB
GPT
GUID Partition Table.
64 bits. Gestor de arranque GRUB2
/etc/hosts
Define nombres de equipos con sus direcciones IP (donde están las IPs)
/etc/hostname
Muestra o establece el nombre de nuestro host
/etc/resolv.conf
Se configuran el dominio DNS por defecto y los servidores DNS que resuelve para el equipo
/etc/host.conf
Indica en qué orden se resuelven los nombres de equipos o de dominio.
Comando ifconfig
Muestra configuración de red del interface.
OBSOLETO. Ahora se usa ip
Comando ifup / ifdown
Activar / desactivar interface.
OBSOLETO. Ahora se usa ip
Comando ping
Envía paquetes ICMP ECHO REQUEST a un destino de red para que conteste si está vivo
Comando nslookup
Busca un nombre en el servidor DNS
Comando dig
Hace consultas DNS
Comando host
Resuelve un nombre de host
Comando route
Gestión de routing
Comando traceroute
Envía paquetes ICMP a todos los equipos de red de camino a la dirección destino. TTL.
Comando netstat
Muestra conexiones de red, tablas de routing, estadísticas de interfaces de red,..
Comando dhclient
Renueva dirección IP
-r Libera dirección IP
Comando date
Fecha y hora
Comando locale
Configuración de idioma de teclado
Comando iconv
Convierte el set de caracteres de una archivo a otro set de caracteres en el mismo archivo
Comando lp / lpr
Enviar trabajos a la impresora
Comando lpq
Informa sobre el estado de la cola (queue) de impresión
Tipos impresora
IPP, LPD, APPSocket
Línea comandos ($)
$0 Nombre del comando ejecutado
$1 Primer argumento, $2 segundo, etc..
$* Todos los argumentos
$@ Todos los argumentos
$# Número de argumentos
$$ PID
$? Resultado de la ejecución anterior
!! Último comando ejecutado
Comando userdadd
Crea un nuevo usuario o actualiza info de otro
Comando userdel
Elimina un usuario y sus ficheros
Comando adduser
Añade un usuario al sistema (con preguntas)
Comando gpasswd
Administrar administradores, miembros y contraseñas de grupos
Iptables
Sistema para filtrar paquetes ipv4 e ipv6 (firewall). Son tablas basadas en reglas. Tiene 3 cadenas:
INPUT, FORWARD, OUTPUT
3 tipos de respuestas:
ACCEPT, DROP, REJECT
Fail2ban
Banear IPs. Protege contra ataques DOS
Comando ulimit
Limitar el uso de recursos como cantidad de ficheros que puede abrir o cantidad de memoria máxima a consumir
Comando cgroups
Control de grupos, para limitar, controlar y aislar el uso de recursos. Usado por tecnología de contenedores
Modulo SELinux
Security-Enhanced Linux.
Arquitectura de seguridad para Linux que otorga a los administradores mayor control sobre las personas que pueden acceder al sistema
/proc/cpuinfo
Información estática de la CPU = lscpu
/proc/version
Información del sistema = uname -a
/proc/sys/kernel/hostname
Nombre del host = uname -n
/proc/sys/kernel/version
Versión del kernel = uname -v
/proc/sys/kernel/ostype
Sistema operativo = uname -s
/proc/sys/kernel/osrelease
Release del sistema operativo = uname -r
Comando lsmod
Lista módulos cargados por el kernel
Comando lsusb
Lista información de dispositivos conectados a los puertos USB
Comando lspci
Lista información de componentes pci
Instalar SSH server
sudo apt update
sudo apt install openssh-server