(Exemplo de captura de tela tirada de https://askubuntu.com/questions/1343872/ubuntu-shows-other-users-are-logged-in-whenever-i-shut-down-even-though-i-am-the )
Mas minha pergunta é: como o sistema sabe disso? Eu fiz
sudo chmod o-r /var/run/utmp
sudo chmod o-r /var/log/wtmp
E verifiquei que meu usuário não pode executar w
ou who
mais: a saída do comando está vazia devido à permissão de leitura negada em utmp e wtmp.
Então, como o sistema sabe disso? Onde está vazando a informação?
As informações sobre sessões ativas e usuários logados são fornecidas pelo systemd-logind (ou elogind em sistemas não systemd) e qualquer usuário pode obter as informações por meio da interface DBus :
(exemplo de um sistema com dois usuários com sessão ativa).
As informações são mantidas pelo systemd, portanto, alterar as permissões para
w
/who
não vai "desabilitar" isso. Algumas partes da API do DBus são protegidas via polkit , mas essas são apenas as operações "ativas", como desligamento, as informações sobre as sessões ativas são públicas para todos.