[FUG-BR] novo formato utmpx

Marcelo Gondim gondim em bsdinfo.com.br
Terça Janeiro 17 16:25:05 BRST 2012


Olá pessoal,

Com o advento do FreeBSD 9.0 adotou-se o novo formato utmpx com isso os 
arquivos /var/run/utmp, /var/log/wtmp e /var/log/lastlog ficam obsoletos 
deixando lugar para os novos:

      /var/run/utx.active
              Log of currently active user login sessions.  This file is 
simi-
              lar to the traditional utmp file.  This file only contains
              process related entries, such as user login and logout 
records.

      /var/log/utx.lastlogin
              Log of last user login entries per user.  This file is 
similar to
              the traditional lastlog file.  This file only contains 
user login
              records for users who have at least logged in once.

      /var/log/utx.log
              Log of all entries, sorted by date of addition.  This file is
              similar to the traditional wtmp file.  This file may 
contain any
              type of record described below.

É até aconselhado apagar os arquivos antigos para não serem confundidos: 
/var/run/utmp, /var/log/lastlog and /var/log/wtmp*

As aplicações que forem usar esse novo formato utmpx vão precisar 
suportar ele. É o caso do freeradius2 que no ports a versão ainda não 
suporta e por isso a ferramenta radlast não funciona mais, pois o 
formato do arquivo radwtmp ainda é antigo e o last não lê. Mas para quem 
está tendo esse problema existe uma ferramenta chamada "wtmpcvt" que faz 
a conversão de arquivos antigos utmp para o novo formato utmpx. No caso 
do radlast eu apenas fiz um novo script em /usr/local/bin chamado 
radlast2 com o conteúdo abaixo:

#! /bin/sh
prefix=/usr/local
localstatedir=/var
logdir=/var/log
wtmpcvt $logdir/radwtmp $logdir/radwtmp2
last -f $logdir/radwtmp2 "$@"

Dessa forma o comando abaixo me retorna o que antes eu tinha:

(root em seca)[~]# radlast2 -5 fernanda
037569     fernanda                        Sat Mar 31 05:23   still 
logged in
201021     fernanda                        Sat Mar 31 05:23 - 05:23  (00:00)

wtmp begins Wed Dec 31 21:00:00 BRT 1969

Não mudei nada padrão no freeradius2 e quando atualizar vou apenas 
testar o radlast, se funcionar dispenso o radlast2.  ;)

Isso eu encontrei na documentação /usr/src/UPDATING que é muito 
importante nessas horas onde alguma coisa não acontece mais como antes.

Espero ter ajudado e contribuído para quem tiver esse problema.

Gondim







Mais detalhes sobre a lista de discussão freebsd