Recetario de Comandos Esenciales para Administración de Sistemas Linux, PowerShell y Active Directory
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 16,22 KB
Administración de Sistemas Linux (Bash)
Creación de Fichero de Prueba
Crea un fichero llamado
davidhuertas.txtcon el contenido "david huertas".➤ echo "david huertas" >> davidhuertas.txtPersonalización del Sistema de Cuentas
Ajusta la configuración de seguridad del sistema:
- El aviso de caducidad de contraseñas se establecerá en 3 días.
- El tiempo máximo entre la identificación y la contraseña no excederá de 60 segundos.
➤ nano /etc/login.defs # (Ajustar PASS_WARN_AGE y TIMEOUT)Creación de Grupos de Trabajo
Crea los grupos
g-contab,g-advoyg-gestor.➤ groupadd g-contab groupadd g-gestor groupadd g-advoConfiguración de Directorio Compartido y Permisos SGID
El directorio
/home/contabilidadserá el directorio compartido por los miembros deg-contab, quienes no tendrán ni directorio ni grupo propio. El directorio contará con SGID y los ficheros dentro del mismo podrán moverse por todo el directorio.➤ sudo mkdir /home/contabilidad sudo chgrp g-contab /home/contabilidad sudo chmod 2775 /home/contabilidadDefinición de Máscara de Creación (umask)
Marta crea la máscara de permisos por defecto.
➤ (No especificado)Creación de Alias de Comandos
María crea el alias
datos, el cual, al ejecutarlo, mostraría el nombre completo del alumno y curso. Será utilizado por su grupo.➤ su maria alias datos='date +"%B"'Alta de Usuarios y Asignación de Grupo
Los miembros de
g-contabson marcos, maria, marta y miguel. Todos tendrán la contraseñaabc.123y utilizarán el shellbash.➤ useradd -g g-contab -d /home/contabilidad -s /bin/bash maria useradd -g g-contab -d /home/contabilidad -s /bin/bash marcos useradd -g g-contab -d /home/contabilidad -s /bin/bash marta useradd -g g-contab -d /home/contabilidad -s /bin/bash miguel passwd maria # (y escribir abc.123)Guardar Histórico de Comandos
Guarda el histórico de comandos ejecutados como
save.cmd.txt.➤ history >> save.cmd.txtBloqueo de Cuenta de Usuario
Bloquea la cuenta de
miguel.➤ usermod -L miguelConfiguración de Caducidad de Contraseña
Marcos deberá cambiar la contraseña como mínimo en 17 días y como máximo en 25 días.
➤ chage -m 17 -M 25 marcosReporte de Información de Contraseña
Lista la información de la contraseña de
marcosy guárdala en el ficheroreporte.marcos.txt.➤ chage -l marcos >> reporte.marcos.txtImpedir Acceso a Terminal
Impide que
martatrabaje en terminal.➤ usermod -s /bin/false martaCopia de Seguridad Diferencial Comprimida
Crea una copia de seguridad diferencial de
/home/contabilidadcomprimida a la máxima compresión, sabiendo que la última diferencial se realizó el día lunes 10 de marzo y la última total, se realizó el viernes 7 de marzo. Se guardará en el directoriocopias.➤ tar -cvzf /home/copias/Diferencial_$(date +%F).tar.gz -N 2025-03-10 /home/contabilidadRegistro de Comandos de Copia
Guarda los comandos ejecutados en el punto anterior, en el fichero
cmd_copia.txt.➤ echo "tar -cvzf /home/copias/Diferencial_$(date +%F).tar.gz -N 2025-03-10 /home/contabilidad" >> cmd_copia.txtVisualización de Contenido de Copia de Seguridad
Visualiza el contenido de la copia de seguridad, añadiendo el resultado al fichero
cmd_copia.txt.➤ tar -tvf /home/copias/Diferencial >> cmd_copia.txtComparación de Ficheros
Compara el contenido de los ficheros
fich1.txtyfich2.txtdeteniéndose en la primera diferencia encontrada. Guarda el comando utilizado en el ficherofich12.txt.➤ diff fich1.txt fich2.txtVisualización de Metadatos de Directorio
Visualiza los usuarios, su fecha y hora del último acceso y modificación del directorio
/home/contabilidad.➤ stat /home/contabilidad >> contab.txt echo "stat /home/contabilidad" >> contab.txtGuardar Configuración del Prompt
Guarda en el fichero
prompt.txt, el comando completo, utilizado para ver la configuración del prompt.➤ echo "$PS1" >> prompt.txtCopia de Fichero de Puntos de Montaje
Haz una copia del fichero que contiene los puntos de montaje automáticos para el arranque del sistema, con el nombre de
listado.arranque.txt.➤ cp /etc/fstab listado.arranque.txtInformación de Disco y Particionamiento
Averigua el tamaño del disco, su particionamiento, sus sistemas de ficheros, etc. Guarda el comando y su resultado en el fichero
disco.txt.➤ lsblk -l >> disco.txt echo "lsblk -l" >> disco.txtListado de Reinicios del Sistema
Guarda en el fichero
arch1.txtel listado de los reinicios de sistema realizados.➤ last reboot >> arch1.txtInformación de Distribución Ubuntu
Obtén información detallada de la distribución Ubuntu.
➤ lsb_release -a >> ubuntu.txt
Gestión de Sistemas con PowerShell
Listado de Directorios Recursivos
Lista los nombres y tamaños de los ficheros, incluidos los ocultos, que fueron creados en 2024. (Nota: El comando lista contenedores, no ficheros).
➤ Get-ChildItem -Recurse -Force | Where-Object { $_.PSIsContainer } | Select Name, LengthListado de Directorios de Sistema y Solo Lectura
Lista nombres y fecha de creación, de los directorios de Windows, del sistema y de solo lectura, descartando errores.
➤ Get-ChildItem C:\Windows -Directory | Where-Object { $_.Attributes -match "ReadOnly" -and $_.Attributes -match "System" } | Select Name, CreationTimeMostrar Nombre del Equipo
Emite el texto: “Este PC se llama xxxx” —donde xxxx es el nombre del equipo. (Nota: El comando muestra el nombre de usuario).
➤ Write-Output "Mi nombre de cuenta es $env:USERNAME"Filtrado de Usuarios Locales por Inicial
Lista todos los usuarios locales cuyo nombre comience por a, c, d o f (sin distinguir mayúsculas y minúsculas). (Nota: El comando filtra por d, f, g o p).
➤ Get-LocalUser | Where-Object { $_.Name -like "d*" -or $_.Name -like "f*" -or $_.Name -like "g*" -or $_.Name -like "p*" } | Select NameCreación de Alias (Comando Incompleto)
Crea un nuevo alias llamado
Get-Contextque te liste nombre y tamaño del fichero más grande. (Nota: El comando proporcionado lista usuarios).➤ Get-LocalUser | Where-Object { $_.Name -match "^[dfgp]" } | Select NameIdentificación del Fichero Más Grande
Muestra el nombre y el tamaño del fichero más grande.
➤ Get-ChildItem -File -Recurse | Sort-Object Length | Select Name, Length -First 1Creación de Fichero de Texto Multilínea
Crea un fichero de texto llamado
impuestos.txtcon el siguiente contenido (en líneas separadas): IRPF, Patrimonio, IVA, Sucesiones.➤ "IRPF`nPatrimonio`nIVA`nSucesiones" > impuestos.txtFiltrado de Contenido por Terminación
Muestra las líneas del fichero
clientes.txtque terminen con punto.➤ Get-Content clientes.txt | Where-Object { $_.EndsWith(".") }Conteo de Ficheros por Fecha de Creación
Cuenta cuántos ficheros fueron modificados por última vez en 2024. (Nota: El comando usa CreationTime, no LastWriteTime).
➤ (Get-ChildItem -Recurse | Where-Object { $_.CreationTime.Year -eq 2024 }).CountListado y Conversión a Mayúsculas de Elementos Repetidos
Lista los nombres del fichero
ventas.txtque se repitan y ponlos en mayúsculas.➤ Get-Content ventas.txt | Group-Object | Where-Object Count -gt 1 | Select-Object -ExpandProperty Name | ForEach-Object { $_.ToUpper() }Listado de Contenido de Ficheros de Usuario
Lista todos los ficheros contenidos en el usuario
r.navarro. (Nota: El comando lista el contenido de los ficheros del usuario f.cabanas).➤ Get-ChildItem C:\Users\f.cabanas -File | ForEach-Object { Get-Content $_.FullName }Listado de Miembros de Grupo Local
Lista todos los miembros del grupo
g-profes. (Nota: El comando lista miembros de g-online).➤ Get-LocalGroupMember -Group g-onlineFiltrado de Cuentas por Pertenencia a Grupo
Lista todas las cuentas que no pertenezcan al grupo
g-tutores. (Nota: El comando filtra miembros de g-online).➤ Get-LocalGroupMember -Group g-online | Where-Object { $_.Name -like "*g-online*" }Eliminación de Miembro de Grupo Local
Quita al usuario
a.taboadadel grupog-profes. (Nota: El comando quita s.castro de g-online).➤ Remove-LocalGroupMember -Group g-online -Member s.castroDetención de Proceso por ID
El ID 8765 corresponde a un proceso que se está ejecutando, detenlo. (Nota: El comando lista usuarios sin descripción).
➤ Get-LocalUser | Where-Object {-not $_.Description } | Select-Object NameListado de Identificación de Procesos
Lista la identificación de todos los usuarios que lanzaron procesos. (Nota: El comando detiene un proceso específico).
➤ Get-Process | Where-Object { $_.Id -eq 3456 } | Stop-ProcessMostrar Procesos por ID de Sesión
Muestra los procesos completos del usuario 1.
➤ Get-Process | Where-Object { $_.SessionId -eq 1 }Abrir URL Mediante Comando
Abre la URL www.xunta.gal, mediante comandos utilizando
iexploreque está en su sistema. (Nota: El comando abre Microsoft.com usando Chrome).➤ Start-Process chrome "https://www.microsoft.com"
Administración de Active Directory (PowerShell)
Añadir Usuario a Grupo AD
Añade a Antonio al grupo
g-jefe.Add-ADGroupMember g-jefe -Members a.castroCreación de Unidad Organizativa (OU)
Crea la OU
ou-rrhhdentro dedirecon la descripción "Recursos Humanos".Add-ADOrganizationalUnit -Name "ou-rrhh" -Path "OU=dire,DC=ciclo,DC=local" -Description "Recursos Humanos" -ProtectedFromAccidentalDeletion $trueRenombrar Unidad Organizativa
Renombra
ou-rrhhcon el nombrerrhh.Rename-ADObject -Identity "ou-rrhh,DC=ciclo,DC=local" -NewName "rrhh"Mover Objeto de Usuario
Mueve a Mario Pellicer a la OU
rrhh.Move-ADObject -Identity "CN=m.pellicer,OU=usuarios,DC=ciclo,DC=local" -TargetPath "OU=rrhh,DC=ciclo,DC=local"Bloquear Cuenta de Usuario AD
Bloquea la cuenta de Elena Marcos.
Disable-ADAccount -Identity "e.marcos"Creación de Grupo de Seguridad
Crea el grupo
g-ventas.New-ADGroup -Name "g-ventas" -Path "OU=grupos,DC=ciclo,DC=local" -GroupScope globalAñadir Múltiples Usuarios a Grupo (Uso de Variable)
Añade los usuarios del departamento de Ventas a
g-ventas, utilizando una variable.$usuariosVentas = Get-ADUser -Filter {Department -eq "Ventas"} Add-ADGroupMember -Identity "g-ventas" -Members $usuariosVentasAlta y Protección de Objeto Equipo
Da de alta el equipo
pc-01dentro decomputersy, a través de una consulta, protégelo contra eliminación accidental.New-ADComputer -Name "pc-01" -Path "OU=ordenadores,DC=ciclo,DC=local" Get-ADComputer "pc-01" | Set-ADObject -ProtectedFromAccidentalDeletion $trueEliminación de Cuenta de Usuario AD
Elimina la cuenta de Teresa Montes.
Set-ADObject -Identity "CN=t.montes,OU=usuarios,DC=ciclo,DC=local" -ProtectedFromAccidentalDeletion $false Remove-ADObject -Identity "CN=t.montes,OU=usuarios,DC=ciclo,DC=local"Consulta de Miembros de Grupo Específico
Consulta de miembros del grupo "usuarios" filtrando por nombre.
Get-ADGroupMember "usuarios" -Filter "Name -like 'Antonio Castro'"Listado de Nombres y SAM de Miembros de Grupo
Lista los nombres y
SamAccountName(SAN) de los miembros del grupog-ventascuyo nombre de login comienza con la letra "c".Get-ADGroupMember "g-ventas" | Where-Object { $_.SamAccountName -like "c*" } | Select-Object Name, SamAccountNameDesbloqueo Masivo de Cuentas
A partir de una consulta, desbloquea las cuentas de usuario que están en el grupo
g-almaceny que se encuentran deshabilitadas.Get-ADGroupMember "g-almacen" | Get-ADUser -Properties Enabled | Where-Object { $_.Enabled -eq $false } | Enable-ADAccountListado de Unidades Organizativas
Lista los nombres de todas las OU contenidas en
dire.Get-ADOrganizationalUnit -Filter {Name -ne "dire"} -SearchBase "OU=dire,DC=ciclo,DC=local" | Select-Object NameListado de Grupos sin Protección
Lista los DN de los grupos, de la OU correspondiente, que no tengan protección contra eliminación accidental.
Get-ADGroup -Filter * -SearchBase "OU=grupos,DC=ciclo,DC=local" | Where-Object {$_.ProtectedFromAccidentalDeletion -eq $false} | Select-Object DistinguishedNameCambio de Contraseña de Usuario AD
Cambia la contraseña de Isabel Magan por "abc123.". (Nota: El comando usa una contraseña diferente).
Set-ADAccountPassword "i.magan" -Reset -NewPassword (ConvertTo-SecureString “qwe321-“ -AsTextPlain -Force)Establecer Fecha de Expiración de Cuenta
La fecha de expiración de la cuenta de Luis Abad será el 31 de marzo de 2026. (Nota: El comando usa una fecha de junio).
Set-ADAccountExpiration "l.abad" -DateTime "31/06/2026"Configuración de Cambio de Contraseña Obligatorio
Antonio Castro podrá cambiar su contraseña y deberá cambiarla en el próximo inicio de sesión.
Set-ADUser -Identity "a.castro" -ChangePasswordAtLogon $true -CannotChangePassword $falseAñadir Descripción a Cuentas Habilitadas
A todas las cuentas habilitadas, menos a la del administrador (con el mismo nombre), añádeles la descripción "contratado".
Get-ADUser -Filter { Enabled -eq $true -and SamAccountName -ne "Administrador" } | Set-ADUser -Description "contratado"