como encontrar os detalhes do lastlog no solaris

1

por favor avise o comando equivalente do linux lastlog no solaris, precisa escrever um script para encontrar a última data e hora de login dos usuários nos servidores solaris. Linux é muito fácil de buscar usando o comando lastlog.

Tentei durar -1 USERID, se algum usuário não logar nesse servidor então não há escapatória, a tarefa é encontrar os usuários que não logaram em servidor mais que 90 dias, um script deve dar saída como

ServerName USERID 10-Jun-2018 3Days
    
por judi 13.06.2018 / 19:15

4 respostas

3

Não existe um equivalente direto ao comando Linux lastlog , que é fornecido com o sistema operacional.

No sistema de contabilização de login do Linux, há uma tabela que registra o último horário de login de cada conta de usuário, indexada pelo ID do usuário dessa conta. Nos sistemas de contas de login do NetBSD, FreeBSD e OpenBSD, existe uma tabela equivalente (embora com estrutura e nome diferentes) e (nos sistemas NetBSD e FreeBSD) um comando lastlogin que data de meados dos anos 90. Nos mundos Linux e BSD, esta tabela é atualizada pelos mesmos programas que escrevem a tabela de log de login e a tabela de logins atualmente ativa, duas outras tabelas no banco de dados de login.

O Solaris tem duas tabelas: uma equivalente e uma que não é equivalente.

O comando last , para o qual outras pessoas estão apontando, não é particularmente útil porque não opera em nenhum dos dois. Ele opera em uma tabela diferente no banco de dados de contabilização de login, o log da tabela de eventos de login; e como você pode ver se uma conta nunca logou, não haverá nada nessa tabela para processar. Considerando que, em contraste, com a última tabela de tempo de login há um registro (nos BSDs um vazio implícito, no Linux um vazio explícito) para cada conta de usuário.

A tabela do Solaris que não é equivalente é /var/adm/acct/sum/loginlog . Isso não é preenchido diretamente pelo programa login à medida que os logons acontecem, e não há um programa diretamente equivalente para relatar sobre ele.

Ele está associado a um comando lastlogin ; no entanto, isso é bem diferente do comando mencionado por esse nome. No Solaris, é uma ferramenta para gravar nesta tabela em vez de uma ferramenta para relatar seu conteúdo. (Também é para isso que lastlogin está no AIX.) A ferramenta runacct , executada diariamente, chama o comando lastlogin para preencher essa tabela. O relatório é feito com o comando prtacct .

A tabela do Solaris que é diretamente equivalente é /var/adm/lastlog , que não é mencionada no Oracle doco. Não há nenhum programa fornecido para lê-lo. No entanto, houve (até o software morrer na Oracle) um programa de lastlog de terceiros escrito por Richard Hamilton disponível. Você pode querer convencer o pessoal da OpenIndiana / Illumos a incorporar tal comando. Dan McDonald, engenheiro da OmniOS, estava tocando essas coisas recentemente, em janeiro de 2016.

Leitura adicional

  • Jonathan de Boyne Pollard (2018). O banco de dados de login do Unix . Respostas frequentemente dadas.
  • " Arquivos de contabilidade do sistema ". Guia de Administração do Sistema: Administração Avançada . Biblioteca de informações do Oracle Solaris 10 8/11. Oráculo. 2011.
  • lastlog . Blog do Oracle Solaris. 2010-07-15.
  • lastlogin . Manual do Gerenciador do Sistema FreeBSD . 2011-06-06.
  • last . Manual de Comandos de Usuário . Illumos 2017-04-12.
  • acctsh . Comandos de administração do sistema . SunOS 5.11. 2002-03-15.
por 14.06.2018 / 09:49
1

O comando para isso no Solaris é last .

Isso mostrará a última vez que o usuário tim efetuou login.

bash-[510]$ last -1 tim
tim       pts/1        192.168.0.106    Wed Jun 13 18:16   still logged in

Se esse usuário não tiver efetuado login desde que o banco de dados foi rotacionado, você não obterá nenhuma saída.

bash-[511]$ last -1 tom

wtmp begins Fri Mar 27 19:57
    
por 14.06.2018 / 00:27
0

O Oracle Solaris também oferece uma boa ferramenta chamada

acct

Você pode encontrar uma descrição no seguinte link Sytem Accounting .

No diretório / var / adm / acct / sum , você encontrará um arquivo chamado loginlog . Este arquivo registra a última data em que cada usuário efetuou login e é criado pelo script lastlogin .

Com base nesse arquivo e usando, por exemplo, O awk deve ser muito simples de preencher.

    
por 15.06.2018 / 23:09
-2

Acho que o comando que você está procurando é o último comando.

NAME

last, lastb - mostra uma listagem dos últimos usuários conectados

SINOPSE        últimas [opções] [nome de usuário ...] [tty ...]        lastb [opções] [nome de usuário ...] [tty ...]

DESCRIÇÃO        últimas buscas pelo arquivo / var / log / wtmp (ou o arquivo designado pela opção -f) e exibe uma lista de todas as        usuários conectados (e fora) desde que esse arquivo foi criado. Um ou mais nomes de usuário e / ou ttys podem ser dados, em cujo caso        mostrará apenas as entradas correspondentes a esses argumentos. Os nomes dos ttys podem ser abreviados, portanto, o último 0 é o mesmo que o último        tty0.

Quando capturar um sinal SIGINT (gerado pela tecla de interrupção, geralmente control-C) ou um sinal SIGQUIT, por último mostrará como        até agora, pesquisou o arquivo; no caso do último sinal SIGINT terminará então.

A reinicialização do pseudo-usuário é registrada sempre que o sistema é reinicializado. Assim, a última reinicialização mostrará um log de todas as reinicializações        desde que o arquivo de log foi criado.     lastb é o mesmo que o anterior, exceto que, por padrão, ele mostra um log do arquivo / var / log / btmp, que contém todos os erros        tentativas de login.

Do contrário, como você mencionou:

lastlog -b 90

Caso você não tenha instalado o lastlog , siga este link :

 pfexec pkg install SUNWgcc

instalará o gcc, se ainda não estiver instalado.

Busque o link e compile

 gcc lastlog.c -o lastlog

e invoque com

./lastlog
    
por 13.06.2018 / 22:08

Tags