Como monitorar a atividade dos usuários do Linux com ferramentas PSACCT ou ACCT

Como monitorar a atividade dos usuários do Linux com ferramentas PSACCT ou ACCT

psacct ou Acct Ambos são utilitários de código aberto para monitorar as atividades dos usuários no sistema Linux. Esses utilitários são executados em segundo plano e acompanham a atividade de cada usuário em seu sistema, bem como quais recursos estão sendo consumidos.

Eu pessoalmente usei essas ferramentas em nossa empresa, temos uma equipe de desenvolvimento onde nossos desenvolvedores trabalham continuamente em servidores. Então, esses são os melhores utilitários para ficar de olho neles.

Esses programas fornecem uma excelente maneira de monitorar o que os usuários estão fazendo, quais comandos estão executando, quantos recursos estão sendo consumidos por eles e quanto tempo os usuários estão ativos no sistema. Outro recurso útil é que fornece recursos totais consumidos por serviços como Apache, MySQL, FTP, SSH, etc.

[Você também pode gostar: como monitorar os comandos Linux executados pelos usuários do sistema em tempo real]

Eu acho que este é um dos utilitários excelentes e mais necessários para todos os administradores do sistema Linux/Unix, que queriam acompanhar as atividades do usuário em seus servidores/sistemas.

O psacct ou Acct O pacote fornece vários recursos para monitorar as atividades do processo.

  • AC O comando imprime as estatísticas dos logins/logouts de usuários (tempo de conexão) em horas.
  • LastComm O comando imprime as informações dos comandos executados anteriormente do usuário.
  • Accton Os comandos são usados ​​para ativar/desativar o processo para contabilidade.
  • SA O comando resume as informações de comandos executados anteriormente.
  • durar e LastB Os comandos mostram uma lista dos últimos usuários conectados.

Instalando pacotes PSACCT ou ACCT no Linux

psacct e Acct ambos são pacotes semelhantes e não há muita diferença entre eles, mas o psacct o pacote está disponível apenas para distribuições baseadas em RPM, como RHEL, CENTOS, e Fedora, Considerando que a Acct o pacote está disponível para distribuições como Ubuntu, Debian, e Linux Mint.

Para instalar o psacct pacote sob distribuições baseadas em RPM emitir o seguinte comando yum.

# yum instalar psacct 

Para instalar o Acct pacote usando o comando apt em Ubuntu / Debian / Linux Mint.

$ sudo apt install Acct 

Em outras distribuições Linux, você pode instalá -lo como mostrado.

$ sudo apk adicione psacct [em Alpine Linux] $ sudo pacman -s acct [em Arch Linux] $ sudo zypper install acct [on OpenSuse] 
Iniciando o serviço PSACCT ou ACCT

Por padrão, o psacct O serviço está no modo desativado e você precisa iniciá-lo manualmente sob distribuições baseadas em RHEL. Use o seguinte comando para verificar o status do serviço.

$ sudo Systemctl Status Psacct 

Você vê o status mostrando como desativado, então vamos iniciá -lo manualmente usando os seguintes comandos, o que criará um /var/conta/pacct arquivo.

$ sudo systemctl start psacct $ sudo systemctl enable psacct $ sudo systationctl status psacct 
Inicie o serviço PSACCT

Sob Ubuntu, Debian, e hortelã O serviço é iniciado automaticamente, você não precisa iniciá -lo novamente.

Exibir estatísticas dos usuários Connecte o tempo

AC O comando sem especificar nenhum argumento exibirá estatísticas totais do tempo de conexão em horas com base nos logins/logouts do usuário do atual WTMP arquivo.

# AC Total 11299.15 
Imprima o tempo total de conexão do usuário do Linux

Exibir estatísticas dos usuários do Linux no dia

Usando o comando “AC -D”Imprimirá o tempo total de login em horas a dia.

# AC -D 25 de junho total 0.19 de outubro 13 Total 14.45 de outubro 27 Total 672.00 28 de outubro Total 15.82 de novembro 3 Total 4.29 de 5 de novembro Total 10.13 de dezembro 7 Total 14.04 de dezembro 10 Total 23.60 de dezembro 27 Total 808.93 Jan 3 Total 12.31 de março 3 Total 1438.67 de julho 22 Total 6767.81 hoje Total 1517.09 
Imprima o tempo de login total do usuário do Linux

Exibir o tempo total de login de todos os usuários do Linux

Usando o comando “AC -P”Imprimirá o tempo total de login de cada usuário do Linux em horas.

# AC -P Rockylinux 425.61 Tecmint 702.29 Raiz 10171.54 Total 11299.44 
Imprima o tempo total de login dos usuários

Exibir tempo de login do usuário do Linux

Para obter o tempo total de estatísticas de login do usuário “Tecmint”Em horas, use o comando como.

# AC Tecmint
 Total 702.29

Exibir tempo de login do dia do dia do usuário

O comando a seguir imprimirá o tempo total de login do dia “Tecmint" em horas.

# AC -D Tecmint
11 de outubro Total 8.01 de outubro 12 Total 24.00 15 de outubro Total 70.50 de outubro 16 Total 23.57 de outubro 17 Total 24.00 18 de outubro Total 18.70 Nov 20 Total 0.18 

Imprima todos os comandos Linux executados pelos usuários

O "SA”O comando é usado para imprimir o resumo dos comandos que foram executados pelos usuários.

# 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 toque 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 menos 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 

Explicação da saída do comando acima:

  • 9.86re é um "tempo real”Conforme o relógio de parede minutos
  • 0.01cp é uma soma do tempo/tempo do usuário em minutos da CPU
  • 2466k é um tempo médio de tempo da CPU, eu.e. 1k unidades
  • sshd Nome do comando

Imprimir informações do usuário do Linux

Para obter as informações de um usuário individual, use as opções -você.

# sa -u
raiz 0.00 CPU 465K Mem Accton Raiz 0.00 CPU 1057K Mem Touch Raiz 0.00 CPU 1298K Mem Psacct Raiz 0.00 CPU 466K Mem Consoletype ROOT 0.00 CPU 1264K Mem Psacct * Raiz 0.00 CPU 1298K Mem Psacct Raiz 0.00 CPU 466K Mem Consoletype ROOT 0.00 CPU 1264K Mem Psacct * Raiz 0.00 CPU 1298K Mem Psacct Raiz 0.00 CPU 466K Mem Consoletype ROOT 0.00 CPU 1264K Mem Psacct * Raiz 0.00 CPU 465K Mem Accton Raiz 0.00 CPU 1057K Mem Touch

Número de impressão de processos Linux

Este comando imprime o número total de processos e minutos da CPU. Se você vir um aumento contínuo nesses números, é hora de analisar o sistema sobre o que está acontecendo.

# sa -m
SSHD 2 9.86re 0.00cp 2466k raiz 127 14.29re 0.00cp 909k

Imprimir e classificar o uso por porcentagem

O comando "sa -c”Exibe a maior porcentagem de usuários.

# 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 menos 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

Lista Últimas comandos executados do usuário

O 'LatComm'O comando é usado para pesquisar e exibir informações de comando do usuário executado anteriormente. Você também pode pesquisar comandos de nomes de usuário individuais. Por exemplo, vemos comandos do usuário (Tecmint).

# LastComm Tecmint
pts pts/0 0.00 segundos qua 13 de fevereiro 15:56 LS Tecmint PTS/0 0.00 segundos qua 13 de fevereiro 15:56 LS Tecmint PTS/0 0.00 segundos qua 13 de fevereiro 15:56 LS Tecmint PTS/0 0.00 segundos qua 13 de fevereiro 15:56 Bash f Tecmint PTS/0 0.00 segundos qua 13 de fevereiro 15:56 ID Tecmint PTS/0 0.00 segundos qua 13 de fevereiro 15:56 Grep Tecmint PTS/0 0.00 segundos qua 13 de fevereiro 15:56 Grep Tecmint PTS/0 0.00 segundos qua 13 de fevereiro 15:56 Bash f Tecmint PTS/0 0.00 segundos qua 13 de fevereiro 15:56 Dircolors Tecmint Pts/0 0.00 segundos qua 13 de fevereiro 15:56 Bash f Tecmint PTS/0 0.00 segundos qua 13 de fevereiro 15:56 TPUT TECMINT PTS/0 0.00 segundos qua 13 de fevereiro 15:56 TTY Tecmint PTS/0 0.00 segundos qua 13 de fevereiro 15:56 Bash f Tecmint PTS/0 0.00 segundos qua 13 de fevereiro 15:56 ID Tecmint PTS/0 0.00 segundos qua 13 de fevereiro 15:56 Bash f Tecmint PTS/0 0.00 segundos qua 13 de fevereiro 15:56 ID Tecmint PTS/0 0.00 segundos qua 13 de fevereiro 15:56

Logs de pesquisa para comandos

Com a ajuda do LastComm Comando, você poderá ver o uso individual de cada comando.

# LastComm ls
LS Tecmint pts/0 0.00 segundos qua 13 de fevereiro 15:56 LS Tecmint PTS/0 0.00 segundos qua 13 de fevereiro 15:56 LS Tecmint PTS/0 0.00 segundos qua 13 de fevereiro 15:56 

Para mais informações e uso, consulte as páginas manuais dessas ferramentas.