O utilitário users
é um programa muito pequeno escrito em C - são apenas cerca de 150 linhas de código. Como faz parte dos principais utilitários GNU , você pode baixar os utilitários e ler o código do arquivo users.c
.
De fato, por padrão, o utilitário users
é apenas o wrapper para utmp
e wtmp
. Existem duas abordagens básicas óbvias para esconder o fato de que um usuário está logado.
A primeira abordagem é alterar o código do utilitário users
e substituir o binário /usr/bin/users
.
A segunda abordagem é limpar os rastreamentos dos arquivos de log utmp
, wtmp
, lastlog
, utmpx
, wtmpx
etc. que podem existir em sistemas * nix. Existem ferramentas de limpeza de log disponíveis para essa abordagem, como cloak
, zap
, clear
etc. de" APÓS A QUEBRA-IN "em" HACKING UNIX ".
Naturalmente, há muitas outras maneiras de evitar gravar em utmp
e wtmp
arquivos para aplicativos e usuários específicos, leia este exemplo para ssh
.
Algumas opções adicionais de log básico e comum para login
podem ser configuradas no arquivo:
/etc/login.defs
Para entender melhor do ponto de vista do administrador e do usuário, onde users
utility analisa suas informações, basta explorar os arquivos:
utmpdump /var/run/utmp
utmpdump /var/log/wtmp
sudo utmpdump /var/log/btmp
Além disso, preste atenção à nota em UTMP (5) e WTMP (5) homem:
Unlike various other systems, where utmp logging can be disabled by removing the file, utmp must always exist on Linux. If you want to disable who(1), then do not make utmp world readable.
The file format is machine-dependent, so it is recommended that it be processed only on the machine architecture where it was created.
Então, a resposta para a pergunta: 'É possível ocultar do utilitário users
o fato de um usuário estar logado?', - é SIM, é possível. A abordagem definitiva depende da situação definida - depende do nível de acesso a um sistema * nix, etc.