Comandos Rapidos - LPIC-3

Referencia rapida de los comandos mas importantes para los examenes LPIC-3 (300, 303, 305, 306).

300 - Entornos Mixtos (Samba y Active Directory)

Samba

ComandoDescripcion
testparmVerificar configuracion de smb.conf
testparm -sVerificar y mostrar configuracion sin pausa
smbstatusMostrar conexiones activas y bloqueos
smbclient -L //servidor -U usuarioListar recursos compartidos
smbclient //servidor/share -U usuarioAcceder a un recurso compartido
smbcontrol all reload-configRecargar configuracion sin reiniciar
nmblookup nombreResolver nombre NetBIOS
nmblookup -M DOMINIOBuscar Master Browser del dominio
net ads join -U adminUnir maquina al dominio AD
net ads testjoinVerificar union al dominio
net ads leave -U adminAbandonar el dominio AD
samba-tool domain provisionAprovisionar dominio AD con Samba
samba-tool user create nombreCrear usuario en AD de Samba
samba-tool dns zonelistListar zonas DNS del AD

Active Directory y Kerberos

ComandoDescripcion
kinit usuario@REALMObtener ticket Kerberos
klistListar tickets Kerberos activos
kdestroyDestruir tickets Kerberos
realm discover dominioDescubrir dominio AD
realm join dominio -U adminUnir al dominio via realmd/SSSD
realm leaveAbandonar el dominio
realm listListar dominios configurados
wbinfo -uListar usuarios del dominio (Winbind)
wbinfo -gListar grupos del dominio (Winbind)
wbinfo -a usuario%passProbar autenticacion via Winbind
sssctl domain-status dominioEstado del dominio en SSSD
sss_cache -ELimpiar toda la cache de SSSD
getent passwd usuarioResolver usuario via NSS

FreeIPA

ComandoDescripcion
ipa-server-installInstalar servidor FreeIPA
ipa-client-installInstalar cliente FreeIPA
ipa-replica-installInstalar replica FreeIPA
ipactl statusEstado de servicios FreeIPA
ipactl startIniciar todos los servicios FreeIPA
ipa user-add login --first=N --last=ACrear usuario en FreeIPA
ipa user-findBuscar usuarios en FreeIPA
ipa group-add nombreCrear grupo en FreeIPA
ipa group-add-member grupo --users=u1Anadir usuario a grupo
ipa host-add fqdn --ip-address=IPAnadir host a FreeIPA
ipa hbacrule-add nombreCrear regla HBAC
ipa hbactest --user=u --host=h --service=sProbar acceso HBAC
ipa sudorule-add nombreCrear regla sudo centralizada
ipa-healthcheckVerificar salud del servidor IPA

NFS y comparticion de archivos

ComandoDescripcion
exportfs -raReexportar todos los sistemas de archivos NFS
exportfs -vListar exports activos con opciones
showmount -e servidorMostrar exports de un servidor NFS
mount -t nfs servidor:/ruta /mntMontar recurso NFS
mount -t cifs //srv/share /mnt -o user=xMontar recurso CIFS
rpcdebug -m nfs -s allActivar debug de NFS

303 - Seguridad

Criptografia y PKI

ComandoDescripcion
openssl genrsa -aes256 -out clave.key 4096Generar clave RSA cifrada
openssl req -new -key clave.key -out sol.csrCrear solicitud de certificado (CSR)
openssl req -x509 -new -key k.key -days 365 -out cert.pemCrear certificado autofirmado
openssl x509 -in cert.pem -text -nooutMostrar detalles del certificado
openssl verify -CAfile ca.pem cert.pemVerificar certificado contra CA
openssl ca -revoke cert.pemRevocar un certificado
openssl ca -gencrl -out ca.crlGenerar lista de revocacion (CRL)
openssl s_client -connect host:443Conexion TLS de diagnostico
openssl pkcs12 -export -in c.pem -inkey k.key -out c.p12Convertir PEM a PKCS#12
update-ca-trustActualizar almacen de CAs (RHEL)
update-ca-certificatesActualizar almacen de CAs (Debian)

GPG y cifrado

ComandoDescripcion
gpg2 --full-generate-keyGenerar par de claves GPG
gpg2 --list-keysListar claves publicas
gpg2 --export --armor email > pub.ascExportar clave publica
gpg2 --import clave.ascImportar clave publica o privada
gpg2 --encrypt -r email archivoCifrar archivo asimetricamente
gpg2 --decrypt archivo.gpgDescifrar archivo
gpg2 --sign archivoFirmar archivo
gpg2 --verify archivo.sig archivoVerificar firma separada
gpg2 --symmetric archivoCifrar simetricamente con passphrase
gpg2 --sign-key emailFirmar clave de otro usuario

Cifrado de disco (LUKS)

ComandoDescripcion
cryptsetup luksFormat /dev/sdXFormatear particion con LUKS
cryptsetup luksOpen /dev/sdX nombreAbrir (desbloquear) volumen LUKS
cryptsetup luksClose nombreCerrar volumen LUKS
cryptsetup luksDump /dev/sdXMostrar informacion de cabecera LUKS
cryptsetup luksAddKey /dev/sdXAnadir nueva passphrase
cryptsetup luksRemoveKey /dev/sdXEliminar passphrase
cryptsetup luksHeaderBackup /dev/sdX --header-backup-file bk.imgBackup de cabecera
cryptsetup luksHeaderRestore /dev/sdX --header-backup-file bk.imgRestaurar cabecera

SELinux

ComandoDescripcion
getenforceVer modo actual de SELinux
sestatusEstado detallado de SELinux
setenforce 0Cambiar a modo Permissive (temporal)
setenforce 1Cambiar a modo Enforcing (temporal)
ls -ZVer contexto SELinux de archivos
ps auxZVer contexto SELinux de procesos
chcon -t tipo_t archivoCambiar contexto temporalmente
restorecon -Rv directorio/Restaurar contexto por defecto recursivo
semanage fcontext -a -t tipo_t "/ruta(/.*)?"Regla de contexto permanente
semanage port -a -t tipo_t -p tcp PUERTOAnadir puerto a contexto SELinux
getsebool -aListar todos los booleanos SELinux
setsebool -P nombre_booleano onActivar booleano permanentemente
ausearch -m AVC -ts recentBuscar denegaciones SELinux recientes
audit2allow -a -M moduloGenerar modulo de politica desde AVC
semodule -i modulo.ppInstalar modulo de politica SELinux

AppArmor

ComandoDescripcion
aa-statusVer estado de AppArmor y perfiles
aa-enforce perfilPoner perfil en modo enforce
aa-complain perfilPoner perfil en modo complain
aa-disable perfilDeshabilitar perfil
aa-genprof /ruta/ejecutableGenerar perfil interactivamente
aa-logprofActualizar perfil desde logs
apparmor_parser -r perfilRecargar perfil

Hardening del host

ComandoDescripcion
grub2-mkpasswd-pbkdf2Generar hash de contrasena para GRUB
sysctl -w param=valorEstablecer parametro del kernel temporal
sysctl -p /etc/sysctl.d/99-hardening.confAplicar configuracion de hardening
systemctl mask servicioEnmascarar servicio (impide inicio)
chage -M 90 -m 7 -W 14 usuarioConfigurar envejecimiento de contrasena
faillock --user usuario --resetDesbloquear usuario tras intentos fallidos
usbguard list-devicesListar dispositivos USB conectados
usbguard generate-policy > rules.confGenerar politica USB inicial
aide --initInicializar base de datos AIDE
aide --checkVerificar integridad del sistema con AIDE

Seguridad de red (nftables y firewall)

ComandoDescripcion
nft list rulesetListar toda la configuracion de nftables
nft add table inet filtroCrear tabla en nftables
nft add chain inet t c { type filter hook input priority 0 ; policy drop ; }Crear cadena base
nft add rule inet t c tcp dport { 80, 443 } acceptRegla con multiples puertos
nft add rule inet t c ct state established,related acceptPermitir conexiones establecidas
nft add rule inet t c log prefix "DROP: " counter dropRegla con log y contador
nft flush rulesetLimpiar toda la configuracion
firewall-cmd --zone=public --add-service=http --permanentAnadir servicio en firewalld
firewall-cmd --reloadRecargar configuracion de firewalld
conntrack -LListar conexiones en tabla de seguimiento

VPN

ComandoDescripcion
ipsec statusVer estado de conexiones IPsec (strongSwan)
ipsec up nombre_conexionLevantar conexion IPsec
ipsec down nombre_conexionCerrar conexion IPsec
openvpn --config /etc/openvpn/server.confIniciar OpenVPN con configuracion
wg genkeyGenerar clave privada WireGuard
wg pubkeyDerivar clave publica WireGuard desde privada
wg-quick up wg0Levantar interfaz WireGuard
wg-quick down wg0Apagar interfaz WireGuard
wg showVer estado de todas las interfaces WireGuard

Deteccion de intrusiones y vulnerabilidades

ComandoDescripcion
snort -c /etc/snort/snort.conf -A fullEjecutar Snort como IDS
suricata -c /etc/suricata/suricata.yaml -i eth0Ejecutar Suricata como IDS
tripwire --checkVerificar integridad del sistema
rkhunter --checkBuscar rootkits
lynis audit systemAuditoria de seguridad del sistema
oscap xccdf eval --profile perfil guia.xmlEvaluar cumplimiento con OpenSCAP
nmap -sV -sC hostEscanear puertos y servicios
find / -perm -4000 -type fBuscar archivos SUID
rpm -VaVerificar integridad de todos los paquetes (RHEL)
debsums -cVerificar checksums de paquetes (Debian)

305 - Virtualizacion y Contenedores

KVM/QEMU/libvirt

ComandoDescripcion
virsh list --allListar todas las VMs
virsh start vmIniciar VM
virsh shutdown vmApagar VM (ACPI)
virsh destroy vmForzar apagado de VM
virsh define vm.xmlDefinir VM desde XML
virsh undefine vmEliminar definicion de VM
virsh console vmConectar a consola serial
virsh autostart vmHabilitar inicio automatico
virsh migrate --live vm qemu+ssh://destino/systemMigracion en vivo
virsh snapshot-create-as vm nombreCrear snapshot de VM
virsh snapshot-revert vm nombreRevertir a snapshot
virt-install --name vm --ram 2048 --vcpus 2 --disk path=d.qcow2Crear VM nueva
qemu-img create -f qcow2 disco.qcow2 20GCrear imagen de disco qcow2
qemu-img convert -f raw -O qcow2 orig.img dest.qcow2Convertir formato de imagen
qemu-img info disco.qcow2Informacion de imagen de disco

Xen

ComandoDescripcion
xl listListar dominios Xen
xl create vm.cfgCrear e iniciar dominio
xl shutdown vmApagar dominio
xl destroy vmForzar apagado de dominio
xl migrate vm destinoMigrar dominio en vivo
xl infoInformacion del hipervisor Xen
xl console vmConectar a consola del dominio
xl pause vmPausar dominio
xl unpause vmReanudar dominio

Docker

ComandoDescripcion
docker run -d --name c imagenEjecutar contenedor en segundo plano
docker ps -aListar todos los contenedores
docker imagesListar imagenes locales
docker build -t nombre .Construir imagen desde Dockerfile
docker stop contenedorDetener contenedor
docker rm contenedorEliminar contenedor
docker rmi imagenEliminar imagen
docker exec -it contenedor /bin/bashEjecutar shell en contenedor
docker logs contenedorVer logs del contenedor
docker inspect contenedorInformacion detallada en JSON
docker network create redCrear red Docker
docker volume create volCrear volumen persistente
docker-compose up -dLevantar servicios con Docker Compose
docker-compose downDetener y eliminar servicios

LXC/LXD

ComandoDescripcion
lxc-create -n nombre -t plantillaCrear contenedor LXC
lxc-start -n nombreIniciar contenedor LXC
lxc-stop -n nombreDetener contenedor LXC
lxc-info -n nombreInformacion del contenedor LXC
lxc-ls --fancyListar contenedores LXC con detalles
lxc-attach -n nombreConectar a contenedor LXC
lxc launch images:ubuntu/22.04 nombreCrear contenedor con LXD
lxc listListar instancias LXD
lxc exec nombre -- /bin/bashEjecutar shell en contenedor LXD
lxc stop nombreDetener contenedor LXD

Kubernetes

ComandoDescripcion
kubectl get podsListar pods
kubectl get nodesListar nodos del cluster
kubectl get servicesListar servicios
kubectl get deploymentsListar deployments
kubectl apply -f manifiesto.yamlAplicar configuracion declarativa
kubectl delete -f manifiesto.yamlEliminar recursos de manifiesto
kubectl describe pod nombreDetalles de un pod
kubectl logs podVer logs de un pod
kubectl exec -it pod -- /bin/bashShell interactivo en pod
kubectl scale deployment nombre --replicas=3Escalar deployment
kubectl rollout status deployment nombreEstado del despliegue
kubectl rollout undo deployment nombreRevertir despliegue

Infraestructura como codigo y aprovisionamiento

ComandoDescripcion
vagrant init boxInicializar Vagrantfile con box
vagrant upLevantar entorno Vagrant
vagrant sshConectar por SSH a la VM Vagrant
vagrant haltApagar VM Vagrant
vagrant destroyEliminar VM Vagrant
packer build plantilla.jsonConstruir imagen con Packer
packer validate plantilla.jsonValidar plantilla Packer
cloud-init statusEstado de cloud-init
cloud-init queryConsultar metadatos de instancia
terraform initInicializar directorio Terraform
terraform planPlanificar cambios de infraestructura
terraform applyAplicar cambios de infraestructura
ansible-playbook playbook.ymlEjecutar playbook Ansible
ansible -m ping allVerificar conectividad Ansible

306 - Alta Disponibilidad

Pacemaker/Corosync

ComandoDescripcion
pcs cluster setup nombre nodo1 nodo2Crear cluster
pcs cluster start --allIniciar cluster en todos los nodos
pcs cluster stop --allDetener cluster en todos los nodos
pcs statusEstado completo del cluster
pcs resource create NOMBRE agente paramsCrear recurso
pcs resource delete NOMBREEliminar recurso
pcs resource enable NOMBREHabilitar recurso
pcs resource disable NOMBREDeshabilitar recurso
pcs resource cleanup NOMBRELimpiar errores de recurso
pcs resource move NOMBRE nodoMover recurso a nodo especifico
pcs resource group add GRUPO REC1 REC2Crear grupo de recursos
pcs constraint location REC prefers nodo=scoreRestriccion de ubicacion
pcs constraint colocation add REC1 with REC2Restriccion de colocacion
pcs constraint order REC1 then REC2Restriccion de orden
pcs stonith create NOMBRE agente paramsCrear dispositivo STONITH
pcs stonith fence NODOEjecutar fencing manual
pcs property set stonith-enabled=trueHabilitar STONITH
pcs property set no-quorum-policy=freezePolitica de quorum
crm_mon -AfnEstado detallado del cluster
corosync-cfgtool -sEstado de los anillos de Corosync
corosync-quorumtoolEstado del quorum

Balanceo de carga

ComandoDescripcion
ipvsadm -LnListar servicios virtuales IPVS
ipvsadm -A -t VIP:puerto -s algoritmoCrear servicio virtual
ipvsadm -a -t VIP:puerto -r IP:puerto -mAnadir servidor real (NAT)
ipvsadm -a -t VIP:puerto -r IP:puerto -gAnadir servidor real (DR)
ipvsadm -d -t VIP:puerto -r IP:puertoEliminar servidor real
ipvsadm -Sn > reglas.txtGuardar reglas IPVS
ipvsadm -R < reglas.txtRestaurar reglas IPVS
haproxy -f /etc/haproxy/haproxy.cfg -cVerificar configuracion HAProxy
keepalived -tVerificar configuracion Keepalived

DRBD

ComandoDescripcion
drbdadm create-md recursoCrear metadatos DRBD
drbdadm up recursoActivar recurso (attach + connect)
drbdadm down recursoDesactivar recurso
drbdadm primary recursoConvertir nodo a primario
drbdadm primary --force recursoForzar primario (primera vez)
drbdadm secondary recursoConvertir nodo a secundario
drbdadm statusEstado de todos los recursos DRBD
drbdadm connect recursoConectar con el nodo remoto
drbdadm disconnect recursoDesconectar del nodo remoto
drbdadm invalidate recursoInvalidar disco local (forzar resync)
drbdadm verify recursoIniciar verificacion online
drbdadm adjust recursoAplicar cambios de configuracion
drbdadm pause-sync recursoPausar resincronizacion
drbdadm resume-sync recursoReanudar resincronizacion

GlusterFS

ComandoDescripcion
gluster peer probe servidorAnadir servidor al pool
gluster peer statusVer estado de peers
gluster pool listListar todos los peers del pool
gluster volume create VOL replica N bricks...Crear volumen replicado
gluster volume create VOL disperse N redundancy M bricks...Crear volumen disperso
gluster volume start VOLIniciar volumen
gluster volume stop VOLDetener volumen
gluster volume infoInformacion de todos los volumenes
gluster volume status VOLEstado del volumen
gluster volume add-brick VOL bricks...Anadir bricks al volumen
gluster volume rebalance VOL startIniciar rebalanceo
gluster volume heal VOL infoVer archivos pendientes de heal
gluster volume heal VOL fullHealing completo del volumen
mount -t glusterfs server:/VOL /mnt/puntoMontar volumen GlusterFS

Ceph

ComandoDescripcion
ceph statusEstado general del cluster Ceph
ceph health detailSalud detallada del cluster
ceph osd treeArbol jerarquico de OSDs
ceph osd pool create POOL PGsCrear pool replicado
ceph osd pool ls detailListar pools con detalles
ceph dfUso de almacenamiento
rbd create IMAGEN --size TAM --pool POOLCrear imagen de bloque
rbd ls POOLListar imagenes en pool
rbd map POOL/IMAGENMapear imagen a /dev/rbdN
rbd snap create POOL/IMAGEN@SNAPCrear snapshot de imagen
ceph fs new NOMBRE pool_meta pool_dataCrear CephFS
cephadm bootstrap --mon-ip IPBootstrap del cluster Ceph
ceph orch host add NODO IPAnadir host al cluster
ceph orch apply osd --all-available-devicesDesplegar OSDs automaticamente
radosgw-admin user create --uid=UID --display-name=NOMBRECrear usuario RGW (S3)

RAID avanzado

ComandoDescripcion
mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sd[bcd]Crear RAID 5
mdadm --detail /dev/md0Detalle del array RAID
mdadm --grow /dev/md0 --raid-devices=NExpandir array a N discos
mdadm --grow /dev/md0 --level=5Cambiar nivel RAID
mdadm --grow /dev/md0 --bitmap=internalAnadir bitmap para resync rapido
mdadm --monitor --scan --daemonizeMonitorizar arrays RAID
cat /proc/mdstatEstado de todos los arrays RAID
echo check > /sys/block/md0/md/sync_actionVerificar integridad del array
make-bcache -C /dev/ssd -B /dev/hddCrear dispositivo bcache (SSD + HDD)

LVM avanzado

ComandoDescripcion
lvcreate --type thin-pool -L tam -n pool VGCrear thin pool
lvcreate --type thin -V tam_virtual --thinpool pool -n lv VGCrear thin LV
lvcreate --type raid1 -m 1 -L tam -n lv VGCrear LV con RAID 1
lvcreate --type raid5 -i N -L tam -n lv VGCrear LV con RAID 5
lvconvert --type cache --cachepool VG/pool VG/datosActivar cache LVM
lvconvert --uncache VG/datosEliminar cache de LV
pvmove /dev/origen /dev/destinoMigrar datos entre PVs online
vgcfgbackup VGBackup de metadatos del VG
vgcfgrestore VGRestaurar metadatos del VG
vdo create --name=vdo1 --device=/dev/X --vdoLogicalSize=1TCrear VDO (dedup+compresion)
vdostats --human-readableEstadisticas VDO

HA de red

ComandoDescripcion
ip link add bond0 type bond mode active-backupCrear bond de red
ip link set eth0 master bond0Anadir interfaz al bond
cat /proc/net/bonding/bond0Estado del bond
nmcli con add type bond con-name bond0 ifname bond0 bond.options "mode=802.3ad"Crear bond con nmcli
teamdctl team0 stateEstado del team de red
ip route add default nexthop via GW1 weight 1 nexthop via GW2 weight 1Multiples gateways