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.