0
votes

Comment répertorier les utilisateurs qui sont actuellement connectés au système plus d'une fois?

Je sais que je peux utiliser la commande finger pour afficher tous les utilisateurs actuels connectés au système. Cependant, comment puis-je répertorier les utilisateurs qui sont actuellement connectés au système plus d'une fois?


1 commentaires

StackOverflow est dédié à aider à résoudre les problèmes de code de programmation. Votre Q peut être plus approprié pour les super utilisateurs , mais lisez leur section d'aide concernant les questions sur le sujet. ET s'il vous plaît lire l' aide sur le sujet et l' aide à poser avant de publier plus de questions ici. Bonne chance.


3 Réponses :


0
votes

Utilisez la commande w et analysez sa sortie


0 commentaires

0
votes

Essayer

last | cut -d ' ' -f1  | sort |  uniq -c | grep -Ev 'reboot|wtmp' 

last <- last recherche en arrière dans le fichier / var / log / wtmp (ou le fichier désigné par l'option -f) et affiche une liste de tous les utilisateurs connectés (et déconnectés) depuis la création de ce fichier.

cut -d ' ' -f1 <- nom d'utilisateur de coupe
sort - Trier les données
uniq -c <- Récupère le nombre d'utilisateurs
grep -Ev 'reboot | wtmp' <- supprime les enregistrements non requis


0 commentaires

0
votes

Un script bash brut:

#!/bin/bash

arr=($(users))
tmp=${arr[0]}
cnt=1

for ((i = 1; i < ${#arr[@]}; ++i)); do
    if [ "$tmp" == "${arr[$i]}" ]; then
        cnt=$((cnt+1))
    else 
        if [ "$cnt" -gt "1" ]; then
            echo "${arr[$i]} is logged in more than once."
        fi
        tmp=${arr[$i]}
        cnt=1
    fi
done

if [ "$cnt" -gt "1" ]; then
    echo "${arr[$i]} is logged in more than once."
fi

Boucle sur un tableau créé à partir de la sortie de la commande users .

Vérifiez si tmp est égal à l'élément suivant:

si oui: écho,

else: changez tmp en élément suivant

REMARQUE:

arr=($(users)) doit être évité en général, mais pour ce problème particulier, cela ne pose pas de problème.

VOIR:

Lecture de la sortie d'une commande dans un tableau dans Bash


0 commentaires