Léxico de TI › Segurança › iceauth

iceauth

Segurança Svenska → Atualizado: 2026-10-10

O gêmeo do xauth para conexões ICE: edita o arquivo de cookies que os gerenciadores de sessão e seus clientes mostram uns aos outros — mais conhecido pela mensagem de erro que barrava logins no GNOME.

O ICE é uma camada de transporte própria e, por isso, ganhou um arquivo de autoridade próprio. Cada entrada em ~/.ICEauthority nomeia um protocolo — ICE para a conexão em si ou XSMP para o subprotocolo —, o ID de rede de um socket em escuta, tipicamente local/hostname:/tmp/.ICE-unix/PID, o método MIT-MAGIC-COOKIE-1 e o cookie em si. O formato é essencialmente o do Xauthority com mais uma coluna, e o iceauth, escrito por Ralph Mor para o X11R6 em 1994, é uma cópia do xauth com os mesmos comandos: list, add, remove, extract e merge, de forma interativa ou pela linha de comando. Quem escreve é o gerenciador de sessão: xsm, ksmserver e gnome-session inserem o seu cookie ao abrir o socket, e todo cliente que se conecta pela libSM lê o mesmo arquivo para poder responder.

Quase ninguém roda o iceauth à mão, mas o arquivo se fez notar. Um sudo que abre um programa gráfico pode deixar o ~/.ICEauthority pertencendo ao root, e no login seguinte o gnome-session não conseguia gravar sua entrada, desistia e deslogava na hora — "Could not update ICEauthority file" foi por anos uma das formas mais comuns de se trancar para fora de um desktop GNOME, com a home cheia logo atrás. A solução foi mudar o arquivo de lugar: a variável de ambiente ICEAUTHORITY hoje costuma apontar para dentro de $XDG_RUNTIME_DIR, que é apagado no logout e nunca herda o dono errado, enquanto o arquivo na home fica lá, vazio.

← Voltar ao léxico