A veces nos interesa saber qué usuarios han accedido a nuestro sistema Linux. Vamos a ver algunos de los comandos disponibles.
Comando ‘last’
El comando last
en Linux es un comando de búsqueda de registros que muestra la información sobre la última vez que los usuarios han accedido al sistema. Este comando se utiliza principalmente para mostrar una lista de usuarios que han iniciado sesión en el sistema y cuándo lo hicieron. También puede utilizarse para mostrar información sobre cuándo se apagó el sistema y la duración de las sesiones de inicio de sesión. Para ver una lista de todos los inicios de sesión en el sistema, puedes usar el comando last
sin ningún argumento:
last
Para ver la información de inicio de sesión para un usuario específico, puedes usar el comando last
con el nombre de usuario como argumento:
last username
El comando last
también acepta una serie de opciones que te permiten controlar la información que se muestra y cómo se muestra. Por ejemplo, la opción -n
permite especificar el número de entradas que se deben mostrar en la salida, y la opción -R
permite mostrar la salida en formato de registro en lugar de en formato de tabla.
Por ejemplo, para ver las últimas 10 entradas de inicio de sesión en formato qde registro, puedes usar el comando last con las opciones -n y -R:
last -n 10 -R
Comando ‘lastb’
El comando lastb
es similar al comando last
, pero en lugar de mostrar información sobre los inicios de sesión exitosos en el sistema, lastb
muestra información sobre los inicios de sesión fallidos. Esto puede ser útil para detectar intentos de acceso no autorizados o para identificar patrones de comportamiento anormales en el uso del sistema.
El uso del comando lastb
es similar al del comando last
. Por ejemplo, para ver una lista de todos los inicios de sesión fallidos en el sistema, puedes usar el comando lastb
sin ningún argumento:
lastb
Para ver la información de inicio de sesión fallida para un usuario específico, puedes usar el comando lastb
con el nombre de usuario como argumento:
lastb username
El comando lastb
también acepta opciones similares a las del comando last
, como -n
y -R
, que te permiten controlar la información que se muestra y cómo se muestra.
¿En qué archivos se guardan estos logs de acceso?
Los archivos de registro que contienen la información sobre los inicios de sesión en un sistema Linux suelen encontrarse en el directorio /var/log
. Algunos de los archivos de registro que puedes encontrar en este directorio y que pueden contener información sobre los inicios de sesión incluyen:
/var/log/wtmp
: este archivo almacena información sobre los inicios de sesión y apagados del sistema. El comandolast
utiliza este archivo para obtener información sobre los inicios de sesión./var/log/btmp
: este archivo almacena información sobre los inicios de sesión fallidos. El comandolastb
utiliza este archivo para obtener información sobre los inicios de sesión fallidos./var/log/lastlog
: este archivo almacena información sobre la última vez que cada usuario del sistema ha iniciado sesión. El comandolastlog
utiliza este archivo para obtener esta información./var/log/faillog
: este archivo almacena información sobre los inicios de sesión fallidos para cada usuario del sistema. El comandofaillog
utiliza este archivo para obtener esta información./var/log/auth.log:
este archivo almacena información sobre los intentos de autenticación en el sistema, incluyendo tanto los inicios de sesión exitosos como los fallidos.
Otros comandos útiles.
Comando ‘w’.
El comando ‘w’ muestra una lista de usuarios que actualmente tienen sesiones de trabajo en el sistema, junto con información sobre qué están haciendo y desde dónde están conectados. La salida del comando w
suele tener el siguiente formato:
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 :0 Mon10 2:02m 3.10s 0.10s -bash
user1 pts/0 192.168.1.100 Mon10 3:01 0.04s 0.04s w
user2 pts/1 192.168.1.101 Mon10 9:47 0.06s 0.06s -bash
La primera columna muestra el nombre de usuario de la sesión de trabajo. La columna TTY
muestra el nombre del terminal virtual desde el que se ha iniciado la sesión. La columna FROM
muestra la dirección IP o el nombre de host desde el que se ha conectado el usuario. La columna LOGIN@
muestra la fecha y hora en la que se inició la sesión. La columna IDLE
muestra el tiempo transcurrido desde la última acción del usuario en la sesión. Las columnas JCPU
y PCPU
muestran el tiempo de CPU utilizado por el usuario y el proceso actual, respectivamente. Finalmente, la columna WHAT
muestra el comando o aplicación que se está ejecutando en la sesión de trabajo.
Para diferenciar que usuarios están accediendo desde remoto por ssh por ejemplo, nos debemos fijar en la columna TTY. Si pone pts/0 o pts/1 el usuario está accediendo desde remoto.
Comando ‘lastlog’
El comando lastlog
es un comando de Linux que muestra información sobre la última vez que cada usuario del sistema ha iniciado sesión. La salida del comando lastlog suele tener el siguiente formato:
Username Port From Latest
root tty1 Mon Jan 1 12:34:56 -0500 2018
user1 pts/0 192.168.1.100 Mon Jan 1 12:35:01 -0500 2018
user2 pts/1 192.168.1.101 Mon Jan 1 12:36:01 -0500 2018
La primera columna muestra el nombre de usuario. La columna Port
muestra el nombre del terminal virtual desde el que se ha iniciado la sesión. La columna From
muestra la dirección IP o el nombre de host desde el que se ha conectado el usuario. Finalmente, la columna Latest
muestra la fecha y hora de la última vez que el usuario inició sesión en el sistema.
El comando ‘faillog’.
El comando faillog es un comando de Linux que muestra información sobre los inicios de sesión fallidos para cada usuario del sistema. La salida del comando faillog suele tener el siguiente formato:
Username Maximum Failures Last failure Faillog expiration root 3 0 Mon Jan 1 12:34:56 -0500 2018 user1 3 0 Mon Jan 1 12:35:01 -0500 2018 user2 3 0 Mon Jan 1 12:36:01 -0500 2018
La primera columna muestra el nombre de usuario. La columna Maximum muestra el número máximo de inicios de sesión fallidos permitidos para el usuario antes de que se bloquee la cuenta. La columna Failures muestra el número actual de inicios de sesión fallidos para el usuario. La columna Last failure muestra la fecha y hora del último intento de inicio de sesión fallido. Finalmente, la columna Faillog expiration
muestra la fecha y hora en la que se eliminará el registro de inicio de sesión fallido para el usuario. Esto se utiliza para evitar que el registro de inicio de sesión fallido se acumule de forma indefinida y ocupe espacio innecesario en el sistema.