Cuando comparte su computadora con otros, y les ha otorgado acceso sudo, es prudente monitorear cómo la están usando. Afortunadamente, es fácil consultar el historial de Sudo. Veamos cómo.
El registro de autenticación
Muchos servicios de Linux mantienen registros para ayudar a solucionar problemas. Afortunadamente, entre otras cosas, también mantiene una lista detallada de precisamente la información que buscamos en este artículo. En esta lista, puede verificar quién y cuándo emitió qué comando usando sudo. Para encontrar esta información, si está utilizando una distribución basada en Debian o Ubuntu, ingrese lo siguiente en su terminal favorito:
sudo nano /var/log/auth.log
En otras distribuciones la ubicación puede variar. Esta información podría estar en «/var/log/secure» o «/var/log/audit/audit.log». Puede encontrar la ubicación de este archivo de registro consultando el archivo de sudoer. Esto también se puede encontrar en un lugar diferente según la distribución. Por lo general, lo encontrará en «/etc/sudoers». Ábralo con su editor de texto favorito y busque la entrada del archivo de registro. Su valor es donde se encuentra el archivo que estamos buscando, por lo tanto, vuelva a mezclar el comando anterior para verificar el suyo.
Dar sentido al caos
El archivo de registro contendrá un montón de entradas que probablemente no sean de interés. Puede desplazarse y desplazarse por él o usar la función de búsqueda de su editor de texto para ubicar cada uso de sudo.
Sin embargo, es mejor si usas grep
en cambio. De esta manera, puede filtrar el contenido del registro en función de una consulta simple. Para encontrar todas las entradas de sudo en él, use:
sudo grep sudo /var/log/auth.log
Recuerde actualizar la ruta del registro a la correcta para su distribución.
Este comando mostrará los resultados directamente en su terminal.
Si prefiere tenerlos en formato de archivo, agregue una redirección después del comando:
sudo grep sudo /var/log/auth.log > sudolist.txt
Cuando lo revise, encontrará una serie de entradas que contienen la fecha, la hora, el nombre de la computadora y el comando utilizado.
Golpe normal
Si solo está buscando todos los comandos escritos en el terminal, puede consultar el archivo «.bash_history» ubicado en la carpeta Inicio. Podría, por ejemplo, ingresar lo siguiente en una terminal:
sudo nano /home/USERNAME/.bash_history
Esto le mostrará todos los comandos que usted (u otros usuarios) ejecutan en la terminal.
Diarioctl
Con eso, otra forma de ver lo que hizo sudo es usar journalctl de systemd. En eso, este es un programa de registro del sistema que viene con cada distribución de Linux que usa systemd.
Estos incluyen no solo Debian y Ubuntu, sino también otras distribuciones populares como Arch Linux y Fedora. Como tal, journalctl puede ser una utilidad útil si ya está cambiando constantemente entre distribuciones de Linux basadas en systemd.
Sabiendo eso, usar journalctl para mirar los registros de sudo es increíblemente fácil. Primero, debe iniciar sesión en el usuario raíz o en una cuenta con privilegios de superusuario.
Ejecute el siguiente comando para ver todos los registros del programa sudo:
sudo journalctl -e /usr/bin/sudo
Hacer esto, a su vez, le indicará al programa journalctl que mire el programa sudo, busque todas las entradas del diario y luego imprima todos los registros que mencionan sudo. A partir de ahí, journalctl canalizará toda esa información al buscapersonas del sistema, donde podrá desplazarse fácilmente por todo el historial de registros relacionados con sudo.
Desde aquí, journalctl resaltará todas las instancias en las que un usuario invocó un comando sudo. Como se discutió anteriormente, esto puede ser útil si está tratando de arreglar un sistema multiusuario y desea saber quién ejecutó comandos privilegiados y cuándo.
Programas específicos de GUI
Sabiendo todo eso, también es posible leer los registros de sudo de su sistema a través de una interfaz dedicada que viene con su entorno de escritorio. Hacerlo de esta manera reduce la cantidad de complejidad y los comandos que necesita aprender para monitorear su sistema.
Una cosa importante a tener en cuenta es que estos programas siempre se incluirán en una instalación básica de un entorno de escritorio. Sin embargo, las distribuciones de Linux a menudo crean compilaciones personalizadas que no contienen estas utilidades más pequeñas. Como tal, primero deberá verificar si estas herramientas ya están instaladas en su sistema.
Registro de GNOME
los Registro de GNOME La utilidad es el registrador de sistema gráfico predeterminado para las distribuciones que utilizan el entorno de escritorio GNOME. Estos incluyen Ubuntu 21.10, 22.04 y Fedora 36.
Para comenzar a usar el programa, primero deberá abrir el menú de la aplicación. Desde allí, puede escribir «Registros» para buscar la Utilidad de registro de GNOME.
Una vez abierto, el programa presentará una serie de pestañas donde puede verificar el registro de un aspecto particular de su sistema. Para verificar sus registros de sudo, deberá hacer clic en «Seguridad».
Esto, a su vez, imprimirá toda la información de seguridad más reciente para su máquina. Esto incluye todos los procesos que se ejecutaron con privilegios de root, independientemente de si usa sudo o no. Desde aquí, puede presionar el ícono de lupa en la esquina superior derecha de la ventana para iniciar una búsqueda en todas estas entradas de registro.
Con eso, puede escribir la palabra «sudo» para decirle a GNOME Logs que solo desea ver los comandos y procesos que se ejecutaron a través de sudo.
KSystemLog
KSystemLog es la utilidad de registro predeterminada para distribuciones como Kubuntu 21.10, 22.04 y Manjaro KDE, todas las cuales usan el entorno KDE Plasma para su escritorio. Similar a GNOME Log, también es un programa con todas las funciones que puede proporcionar una vista amplia de su máquina.
Con eso, usar KSystemLog para ver el historial de sudo de su sistema es increíblemente fácil. Primero, debe abrir el Iniciador de aplicaciones haciendo clic en el ícono de Plasma en la esquina inferior izquierda de su pantalla.
Desde allí, puede escribir «KSystemLog» en la barra de búsqueda del iniciador. Esto, a su vez, buscará la utilidad y la ejecutará tan pronto como presione Entrar.
Una vez hecho esto, KSystemLog mostrará inmediatamente un registro de los programas que se están ejecutando actualmente en el sistema. Desde aquí, puede escribir «sudo» en la barra de filtro para ver solo todos los registros que provienen de sudo.
Registro del sistema MATE
Por último, Registro del sistema MATE es un programa de registro de GUI mínimo que viene de forma predeterminada en las distribuciones basadas en MATE. A diferencia de los registradores GUI anteriores, solo proporciona un explorador de archivos simple para todos los registros del sistema disponibles en la máquina. Como tal, MATE System Log puede parecer desalentador para que un principiante lo use correctamente.
A pesar de eso, usar este programa para ver su registro de historial de sudo es relativamente sencillo. Para comenzar, primero debe abrir su Menú de aplicaciones haciendo clic en el botón Menú ubicado en la esquina superior izquierda de su escritorio.
Desde allí, puede enfocarse en la barra de búsqueda y escribir «Visor de archivos de registro». Esto le indicará a MATE que busque el programa de registro del sistema y lo ejecute.
Una vez hecho esto, el programa Registro del sistema MATE enumerará todos los registros actuales disponibles en su sistema. Con eso, lo último que debe hacer para ver su historial de Sudo es hacer clic en «auth.log».
Como se describió anteriormente, este es el archivo de registro que toma nota de todos los comandos relacionados con sudo que se ejecutaron en su sistema. En mi caso, mostró que ejecuté recientemente una actualización del sistema en mi sistema a través de sudo.
Preguntas frecuentes
¿Es posible mostrar solo las últimas entradas de registro de sudo de journalctl?
¡Sí! Solo es posible mostrar una cantidad limitada de registros de journalctl. Esto puede ser especialmente útil si está manteniendo una máquina muy utilizada y solo desea conocer los últimos registros relacionados con sudo. Puedes ejecutar el siguiente comando en tu terminal:
sudo journalctl --lines=10 -e /usr/bin/sudo
Hacer esto le dirá a journalctl que solo desea que muestre las últimas 10 entradas relacionadas con sudo que registró mientras se ejecuta.
También es posible mostrar solo registros específicos de tiempo de journalctl. Este comando le indicará a journalctl que solo imprima todos los registros relacionados con sudo que se confirmaron entre ayer y hoy:
sudo journalctl --since=yesterday --until=today -e /usr/bin/sudo
No estoy usando Bash, ¿todavía es posible ver mi historial de Sudo?
Esto dependerá en gran medida del shell que esté utilizando actualmente. Sin embargo, en su mayor parte, cada shell del sistema debería poder producir un historial de ejecución de todos los comandos que ejecutó en su máquina.
Por ejemplo, el archivo de historial de los sistemas basados en Debian suele estar etiquetado como “.history”. Como tal, puede abrir este archivo en lugar del predeterminado «.bash_history»
KSystemLog pregunta y niega mi contraseña cuando la abro, ¿está rota mi copia?
De forma predeterminada, KSystemLog intentará abrirse con privilegios elevados. Esto, a su vez, le permite no solo mostrar registros, sino también administrar los procesos que se están ejecutando actualmente en el sistema.
Por eso, KSystemLog siempre intentará ejecutarse como usuario root cuando lo abra por primera vez. Sin embargo, para lograr eso, primero necesita saber la contraseña de su cuenta raíz.
A pesar de eso, todavía es posible usar KSystemLog sin proporcionar privilegios de root. Para hacer eso, puede presionar el botón «Ignorar» cuando KSystemLog solicite privilegios elevados.
Credito de imagen: Unsplash