Comment surveiller l'activité des utilisateurs de Linux avec des outils PSACCT ou ACCT

Comment surveiller l'activité des utilisateurs de Linux avec des outils PSACCT ou ACCT

PSACCT ou accorder Les deux sont des services publics open source pour surveiller les activités des utilisateurs sur le système Linux. Ces utilitaires s'exécutent en arrière-plan et gardent une trace de l'activité de chaque utilisateur sur votre système ainsi que des ressources consommées.

J'ai personnellement utilisé ces outils dans notre entreprise, nous avons une équipe de développement où nos développeurs travaillent continuellement sur des serveurs. Donc, ce sont les meilleurs services publics pour les surveiller.

Ces programmes fournissent un excellent moyen de surveiller ce que font les utilisateurs, quelles commandes exécutent-ils, combien de ressources sont consommées par eux et pendant quelle durée les utilisateurs sont actifs sur le système. Une autre fonctionnalité utile est qu'il donne des ressources totales consommées par des services comme Apache, MySQL, FTP, SSH, etc.

[Vous pourriez également aimer: comment surveiller les commandes Linux exécutées par les utilisateurs du système en temps réel]

Je pense que c'est l'un des grands utilitaires les plus nécessaires pour chaque administrateur système Linux / Unix, qui voulait garder une trace des activités utilisateur sur leurs serveurs / systèmes.

Le PSACCT ou accorder Le package fournit plusieurs fonctionnalités pour la surveillance des activités du processus.

  • CA La commande imprime les statistiques des connexions / déconnexions des utilisateurs (heure de connexion) en heures.
  • camarade La commande imprime les informations des commandes précédemment exécutées de l'utilisateur.
  • accorder Les commandes sont utilisées pour activer / désactiver le processus de comptabilité.
  • SA La commande résume les informations des commandes précédemment exécutées.
  • dernier et dernier Les commandes montrent une liste des derniers utilisateurs connectés.

Installation des packages PSACCT ou ACCT dans Linux

PSACCT et accorder Les deux sont des packages similaires et il n'y a pas beaucoup de différence entre eux, mais le PSACCT Le package est disponible uniquement pour les distributions basées sur RPM telles que Rhel, Centos, et Feutre, tandis que le accorder Un forfait est disponible pour des distributions comme Ubuntu, Debian, et Linux.

Pour installer le PSACCT Package sous Distributions basées sur RPM émet la commande yum suivante.

# yum install psacct 

Pour installer le accorder Package en utilisant la commande APT sous Ubuntu / / Debian / / Linux.

$ sudo apt install acct 

Sur d'autres distributions Linux, vous pouvez l'installer comme indiqué.

$ sudo apk ajouter psacct [sur Alpine Linux] $ sudo pacman -s act [sur Arch Linux] $ sudo zypper install acct [on Ouverte]] 
Démarrage du service PSACCT ou ACCT

Par défaut, le PSACCT Le service est en mode désactivé et vous devez le démarrer manuellement dans les distributions basées sur RHEL. Utilisez la commande suivante pour vérifier l'état du service.

$ sudo systemctl status psacct 

Vous voyez l'état afficher comme désactivé, alors commençons-le manuellement en utilisant les commandes suivantes, qui créeront un / var / compte / pacct déposer.

$ sudo systemctl start psacct $ sudo systemctl activer psacct $ sudo systemctl status psacct 
Démarrer le service PSACCT

Sous Ubuntu, Debian, et menthe Le service est démarré automatiquement, vous n'avez pas besoin de le recommencer.

Afficher les statistiques des utilisateurs de connexion

CA La commande sans spécifier un argument affichera les statistiques totales du temps de connexion en heures en fonction des connexions / déconnexions de l'utilisateur à partir du courant WTMP déposer.

# AC Total 11299.15 
Imprimer le temps de connexion total de l'utilisateur Linux

Afficher les statistiques des utilisateurs de Linux

Utilisation de la commande "AC -D«Imprimera le temps de connexion total en quelques heures par jour.

# AC -D 25 juin total 0.19 oct 13 Total 14.45 oct 27 Total 672.00 28 octobre Total 15.82 nov 3 Total 4.29 nov 5 Total 10.13 déc. 7 Total 14.04 déc 10 Total 23.60 déc 27 Total 808.93 Jan 3 Total 12.31 mars 3 Total 1438.67 Jul 22 Total 6767.81 Aujourd'hui total 1517.09 
Imprimer le temps total de la connexion de l'utilisateur Linux

Afficher le temps total de connexion de tous les utilisateurs de Linux

Utilisation de la commande "AC -P»Imprimera le temps de connexion total de chaque utilisateur Linux en heures.

# AC -P Rockylinux 425.61 Tecmint 702.29 Root 10171.54 Total 11299.44 
Imprimer le temps total de connexion des utilisateurs

Afficher le temps de connexion de l'utilisateur Linux

Pour obtenir le temps de connexion total de l'utilisateur "Tecmint«En heures, utilisez la commande comme.

# AC Tecmint
 Total 702.29

Afficher le temps de connexion du jour de l'utilisateur

La commande suivante imprimera le temps de connexion total du jour de l'utilisateur "Tecmint"En heures.

# AC -D Tecmint
11 octobre Total 8.01 octobre 12 Total 24.00 oct 15 Total 70.50 octobre 16 Total 23.57 oct 17 Total 24.00 18 octobre Total 18.70 nov 20 Total 0.18 

Imprimez toutes les commandes Linux exécutées par les utilisateurs

Le "SA»La commande est utilisée pour imprimer le résumé des commandes qui ont été exécutées par les utilisateurs.

# SA
 2 9.86re 0.00cp 2466k sshd * 8 1.05re 0.00cp 1064k Man 2 10.08re 0.00cp 2562k sshd 12 0.00re 0.00cp 1298k psacct 2 0.00re 0.00cp 1575k troff 14 0.00re 0.00cp 503k AC 10 0.00re 0.00cp 1264k psacct * 10 0.00re 0.00cp 466K Consoletype 9 0.00re 0.00cp 509k SA 8 0.02re 0.00cp 769k Udisks-helper-a 6 0.00re 0.00cp 1057k touch 6 0.00re 0.00cp 592k gzip 6 0.00re 0.00cp 465K ACCTON 4 1.05re 0.00cp 1264k sh * 4 0.00re 0.00cp 1264k nroff * 2 1.05re 0.00cp 1264k sh 2 1.05re 0.00cp 1120k moins 2 0.00re 0.00cp 1346k Groff 2 0.00re 0.00cp 1383k grotty 2 0.00re 0.00cp 1053k mktemp 2 0.00re 0.00cp 1030K iconv 2 0.00re 0.00cp 1023k RM 2 0.00re 0.00cp 1020k Cat 2 0.00re 0.00cp 1018k Locale 2 0.00re 0.00cp 802k gtbl 

Explication de la sortie de commande ci-dessus:

  • 9.86RE est un "temps réel"Selon les minutes de l'horloge murale
  • 0.01cp est une somme du temps système / utilisateur dans les minutes du processeur
  • 2466k est une utilisation de base moyenne du processeur, je.e. 1K unités
  • SSHD nom de commande

Imprimer les informations utilisateur Linux

Pour obtenir les informations d'un utilisateur individuel, utilisez les options -u.

# sa -u
racine 0.00 CPU 465K MEM ACCTON ROOT 0.00 CPU 1057K MEM Touch Root 0.00 CPU 1298K MEM PSACCT ROOT 0.00 CPU 466K MEM Consoletype Root 0.00 CPU 1264K MEM PSACCT * ROOT 0.00 CPU 1298K MEM PSACCT ROOT 0.00 CPU 466K MEM Consoletype Root 0.00 CPU 1264K MEM PSACCT * ROOT 0.00 CPU 1298K MEM PSACCT ROOT 0.00 CPU 466K MEM Consoletype Root 0.00 CPU 1264K MEM PSACCT * ROOT 0.00 CPU 465K MEM ACCTON ROOT 0.00 CPU 1057K Mem Touch

Imprimer le nombre de processus Linux

Cette commande imprime le nombre total de processus et les minutes CPU. Si vous voyez une augmentation continue de ces chiffres, alors il est temps d'examiner le système sur ce qui se passe.

# SA -M
sshd 2 9.86re 0.00cp 2466k Root 127 14.29re 0.00cp 909k

Imprimer et trier l'utilisation par pourcentage

La commande "SA -C»Affiche le pourcentage le plus élevé d'utilisateurs.

# sa -c
 132 100.00% 24.16re 100.00% 0.01cp 100.00% 923K 2 1.52% 9.86re 40.83% 0.00cp 53.33% 2466K SSHD * 8 6.06% 1.05re 4.34% 0.00cp 20.00% 1064K Man 2 1.52% 10.08re 41.73% 0.00cp 13.33% 2562k SSHD 12 9.09% 0.00re 0.01% 0.00cp 6.67% 1298K PSACCT 2 1.52% 0.00re 0.00% 0.00cp 6.67% 1575K TROFF 18 13.64% 0.00re 0.00% 0.00cp 0.00% 509K SA 14 10.61% 0.00re 0.00% 0.00cp 0.00% 503K AC 10 7.58% 0.00re 0.00% 0.00cp 0.00% 1264K PSACCT * 10 7.58% 0.00re 0.00% 0.00cp 0.00% 466K Consoletype 8 6.06% 0.02re 0.07% 0.00cp 0.00% 769K UDISKS-HELPER-A 6 4.55% 0.00re 0.00% 0.00cp 0.00% 1057K Touch 6 4.55% 0.00re 0.00% 0.00cp 0.00% 592k gzip 6 4.55% 0.00re 0.00% 0.00cp 0.00% 465K ACCTON 4 3.03% 1.05re 4.34% 0.00cp 0.00% 1264K Sh * 4 3.03% 0.00re 0.00% 0.00cp 0.00% 1264K NROFF * 2 1.52% 1.05re 4.34% 0.00cp 0.00% 1264K Sh 2 1.52% 1.05re 4.34% 0.00cp 0.00% 1120k moins 2 1.52% 0.00re 0.00% 0.00cp 0.00% 1346K Groff 2 1.52% 0.00re 0.00% 0.00cp 0.00% 1383k grotty 2 1.52% 0.00re 0.00% 0.00cp 0.00% 1053K MKTEMP

Liste des dernières commandes exécutées de l'utilisateur

Le 'Letcomm'La commande est utilisée pour rechercher et afficher des informations de commande utilisateur précédemment exécutées. Vous pouvez également rechercher des commandes de noms d'utilisateur individuels. Par exemple, nous voyons des commandes de l'utilisateur (Tecmint).

# LastComm Tecmint
su tecmint pts / 0 0.00 Secs mer 13 février 15:56 LS Tecmint PTS / 0 0.00 Secs mer 13 février 15:56 LS Tecmint PTS / 0 0.00 Secs mer 13 février 15:56 LS Tecmint PTS / 0 0.00 Secs mer 13 février 15:56 bash f tecmint pts / 0 0.00 Secs mer 13 février 15:56 id tecmint pts / 0 0.00 sec mer 13 février 15:56 grep tecmint pts / 0 0.00 sec mer 13 février 15:56 grep tecmint pts / 0 0.00 Secs mer 13 février 15:56 bash f tecmint pts / 0 0.00 Secs mer 13 février 15:56 Dircolors Tecmint Pts / 0 0.00 Secs mer 13 février 15:56 bash f tecmint pts / 0 0.00 Secs mer 13 février 15:56 tput tecmint pts / 0 0.00 Secs mer 13 février 15:56 Tty Tecmint Pts / 0 0.00 Secs mer 13 février 15:56 bash f tecmint pts / 0 0.00 Secs mer 13 février 15:56 id tecmint pts / 0 0.00 Secs mer 13 février 15:56 bash f tecmint pts / 0 0.00 Secs mer 13 février 15:56 id tecmint pts / 0 0.00 Secs mer 13 février 15:56

Rechercher des journaux pour les commandes

Avec l'aide du camarade commande, vous pourrez afficher l'utilisation individuelle de chaque commande.

# lastcomm ls
ls tecmint pts / 0 0.00 Secs mer 13 février 15:56 LS Tecmint PTS / 0 0.00 Secs mer 13 février 15:56 LS Tecmint PTS / 0 0.00 Secs mer 13 février 15:56 

Pour plus d'informations et d'utilisation, consultez les pages manuelles de ces outils.