Autoridade não autorizável 'esporádica', as alterações serão ignoradas 'do OSX - Linux

2

De vez em quando, quando usuários SSH de sua estação de trabalho OS X (Snow Leopard) para um de nossos hosts Linux, eles recebem a mensagem:

/usr/bin/xauth: ~/.Xauthority not writable, changes will be ignored

É claro que os aplicativos encaminhados por X não funcionarão neste momento.

No entanto, se eles fizerem logout e logar novamente, eles não receberão a mensagem e tudo funcionará como esperado.

Em seu Mac, eles obtêm seu diretório pessoal via AFP. As máquinas Linux obtêm via NFS.

Alguma idéia do que poderia estar acontecendo aqui?

    
por Kamil Kisiel 29.03.2010 / 19:30

3 respostas

1

Eu não posso deixar de me perguntar se você está vendo uma condição de corrida, talvez algo assim:

  • O usuário efetua login em um cliente OS X, que monta a pasta pessoal em AFP
  • O usuário ssh es em um host Linux, que monta a casa que o cliente OS X montou, mas faz isso no AFP.
  • O host Linux lê (grava?) para ~ / .Xauthority e o arquivo é bloqueado - intencionalmente (como parte do processo de verificação) ou não (algo que o servidor faz para evitar que o mesmo arquivo seja gravado por dois sistemas usando diferentes protocolos, ou heck, para evitar que dois sistemas diferentes pisem em um arquivo ao mesmo tempo, independentemente do protocolo).
  • O cliente original do Mac OS X deseja registrar dados sobre a sessão [à parte: eu realmente não sei para que o .authority é usada] e tenta acessar o arquivo
  • É dito que o arquivo está bloqueado
  • Por esse tempo, a caixa do Linux é concluída com o arquivo e ele é desbloqueado

Em uma tentativa diferente, pode ser que:

1) eles estão tentando se conectar a um host conhecido e o cliente do OS X não precisa gravar nenhuma informação e não acessa o .Xauthority, ou 2) o timing está fora o suficiente para que os dois sistemas não tentem usar o mesmo arquivo ao mesmo tempo [por isso esta condição de corrida].

Não sei como você poderia dizer se é esse o caso. Eu acho que você poderia usar o comando fs_usage no servidor (ou uma ferramenta GUI como fseventer ) para ver se o mesmo arquivo está sendo acessado em rápida sucessão, embora isso não necessariamente prove nada.

Você pode coletar informações úteis usando lsof , nos arquivos ou nas conexões de rede ( lsof -i ). Possivelmente você poderia ativar o registro para AFP e NFS (ou usar nfsstat ?) E fazer referência cruzada a eles.

Eu consideraria a compilação iftop , mas, tudo o que você deve ver ao executá-la é que sim , existem conexões para o servidor tanto do cliente Mac quanto do cliente Linux, e estão usando portas diferentes e transferindo informações.

Eu recomendaria que um usuário de teste ssh usasse diferentes contas no cliente Mac e no host Linux por algum tempo e verificasse se o problema acontecia. Se não, então tem algo a ver com o uso da mesma conta em dois lugares ao mesmo tempo (e muito provavelmente devido à montagem da pasta pessoal duas vezes).

Pode valer a pena ver se você pode configurar o OS X e o Linux para usar cópias diferentes do arquivo Xauthority. (Não tenho certeza se você pode fazer isso).

Eu também tentaria fazer com que um usuário de teste acessasse sua pasta pessoal no OS X através do NFS e verificasse se isso faz diferença.

    
por 30.03.2010 / 23:22
0

Teve uma vez que envelheceu há algumas dezenas de aplicativos X via ssh. O ssh usa o xauth, que bloqueia o arquivo .Xauthority e simplesmente falhará se não puder bloqueá-lo. Resolveu isso modificando o programa xauth para girar no bloqueio, mas não tem mais o patch.

    
por 14.06.2012 / 11:20
-3

Se o arquivo ssh_config não tiver o conjunto ForwardX11, talvez seja necessário usar -X no comando ssh. I.E. veja se

ssh -X nome da máquina

funciona

    
por 14.01.2014 / 18:14