Mensagem de erro do cliente AFS “os tokens expiraram”

Mensagem de erro do cliente AFS “os tokens expiraram”

Vejo as seguintes entradas do syslog uma ou duas vezes por dia em um dos meus servidores. Este servidor faz backup de arquivos no espaço AFS usando um principal de serviço Kerberos:

Dec  6 04:01:06 myserver kernel: [3681180.757245] afs: Tokens for user of AFS id -1 for cell realm.example.com have expired (server 192.168.22.24)

O servidor está executando o Debian wheezy de 64 bits. O que posso fazer para rastrear o que pode estar causando esta mensagem?

Responder1

Uma razão provável para o id -1 é apenas que os tokens foram destruídos mais ou menos na mesma época em que a mensagem apareceu. Alguém 'desconectou' os tokens ou (mais provavelmente) os processos periódicos de limpeza no módulo do kernel notaram que os tokens expiraram e os invalidaram. Um id de -1 é uma forma de os tokens serem sinalizados como inválidos (este é o ViceId na estrutura 'unixuser' no módulo do kernel openafs). Se você sempre vê um id -1 nessa mensagem, não é realmente possívelsabero que está acionando especificamente essas mensagens, a menos que haja apenas algumas coisas em execução naquele momento que sejam autenticadas no AFS.

Se você ainda não o estiver usando, você deve usar k5start ou krenew (ambos no pacote 'kstart' no Debian) com a opção -t para garantir que seu processo de backup de arquivos tenha tokens não expirados para acessar o AFS.

Porém, se você estiver usando k5start, ainda é possível que o acesso falhe com tokens expirados devido a alguns casos extremos de como a opção -K funciona:http://permalink.gmane.org/gmane.comp.encryption.kerberos.general/18343. Como k5start com -K garante apenas que seus tickets krb5 serão válidos por 2 minutos no futuro, é possível obter tokens AFS válidos por cerca de 2 minutos ou menos no futuro. Se esses tokens válidos por 2 minutos forem usados ​​para entrar em contato com o servidor de arquivos AFS e a comunicação demorar mais de 2 minutos, o acesso poderá falhar com "tokens expirados". Ou se a vida útil máxima do ticket para a entidade de serviço AFS for menor que a vida útil máxima do ticket para o TGT, os tokens AFS poderão expirar antes dos seus tickets e, portanto, o k5start os deixaria expirar.

Você pode garantir que isso não aconteça aumentando o tempo de vida garantido do ticket usando a opção -H junto com a opção -K. Basta definir -H para algo maior que o padrão de 2 minutos; talvez 30 minutos ou uma hora. Ou você pode usar a opção -a para sempre renovar os tickets toda vez que k5start/krenew for ativado (isso é o que eu recomendaria). No entanto, tudo no parágrafo é impossível com a versão mais recente do k5start, então, para fazer isso, você precisa aguardar uma nova versão do k5start ou construí-lo a partir do git.

Outra maneira de resolver isso é não usar o k5start e fazer com que seu próprio script seja executado kinit -kt /path/to/keytab && akloga cada hora, no mesmo PAG do processo de backup de arquivos no AFS.

informação relacionada