last -t no Linux

1

Estou um pouco surpreso com o Ubuntu e o Cent OS, o last -t realmente se comporta como exibindo logins up till do tempo especificado, em oposição a as of do tempo especificado como indicado em sua página do manual.

Aqui está o que a página man no Ubuntu diz:

-t YYYYMMDDHHMMSS
          Display the state of logins as of the specified time. This is useful, e.g., to determine easily who was logged
          in at a particular time -- specify that time with -t and look for "still logged in”.

No entanto, o comportamento real é algo assim:

# last -F -t 20150107000000 | grep pts
root pts/2 jp001.solidtunne Tue Jan 6 18:39:05 2015 - Tue Jan 6 18:40:34 2015 (00:01)
root pts/2 jp001.solidtunne Tue Jan 6 18:37:24 2015 - Tue Jan 6 18:37:41 2015 (00:00)
root pts/2 jp001.solidtunne Tue Jan 6 16:42:33 2015 - Tue Jan 6 16:43:49 2015 (00:01)
root pts/2 jp001.solidtunne Tue Jan 6 13:03:26 2015 - Tue Jan 6 13:07:02 2015 (00:03)
root pts/2 jp001.solidtunne Tue Jan 6 09:03:24 2015 - Tue Jan 6 09:03:54 2015 (00:00)
root pts/2 jp001.solidtunne Tue Jan 6 04:53:54 2015 - Tue Jan 6 04:54:07 2015 (00:00)
root pts/4 sf003.solidtunne Fri Jan 2 15:23:12 2015 - Fri Jan 2 15:23:51 2015 (00:00)
root pts/0 hk000.solidtunne Thu Jan 1 16:40:55 2015 - Thu Jan 1 16:41:21 2015 (00:00)
root pts/2 hk000.solidtunne Thu Jan 1 15:41:52 2015 - Thu Jan 1 15:42:02 2015 (00:00)
root pts/4 hk000.solidtunne Thu Jan 1 11:24:56 2015 - Thu Jan 1 13:40:40 2015 (02:15)
root pts/4 hk000.solidtunne Thu Jan 1 11:24:34 2015 - Thu Jan 1 11:24:48 2015 (00:00)
root pts/0 hk000.solidtunne Thu Jan 1 08:31:13 2015 - Thu Jan 1 08:31:25 2015 (00:00)

A data atual é a seguinte:

# date
Thu Jan 8 08:12:32 UTC 2015

E a versão do Ubuntu:

# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:    14.04
Codename:   trusty

Kernel:

# uname -a
Linux install 3.13.0-40-generic #69-Ubuntu SMP Thu Nov 13 17:53:56 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Eu abri um bug no sistema de bugs do Ubuntu: link . No entanto, parece que as pessoas não estão interessadas nesse bug e eu mal recebi informações sobre esse bug do Google. Agora estou confuso, estou faltando alguma coisa?

    
por Elgs Qian Chen 11.01.2015 / 11:16

2 respostas

0

Problema resolver fazendo o download do last.c. Vá para a linha 753, mude a linha de:

if (until && until < ut.ut_time)
  continue;

para

if (until && until > ut.ut_time)
  continue;

depois, recompile-o.

    
por 14.01.2015 / 04:42
1

Eu acredito que o bug é simplesmente um bug de documentação.

A versão de util-linux do Ubuntu 14.10 (de onde o last vem) é de 2,25

A versão do util-linux do Fedora 21 também é 2,25.

A página man para last nos estados do Fedora:

   -t, --until time
          Display the state of logins until the specified time.

que é o que você obtém como o comportamento real.

Eu sugiro que você crie um bug contra util-linux no Ubuntu (ou Debian) e no CentOS para a página man .

    
por 11.01.2015 / 11:37

Tags