/usr/bin/xauth: timeout in locking authority file .Xauthority

研究室の計算サーバでX転送を使おうとして ssh -X hoge としてログインしようとすると,なぜかログインに数十秒の時間がかかり,その後 /usr/bin/xauth: timeout in locking authority file .Xauthority というメッセージが表示されました。

最初はパーミッションあたりに問題があるのかなと思って試行錯誤してみたのですが改善しませんでした。ググってみても,関係がありそうな情報があまり見つからなかったのですが,以下の日記にSELinuxとの関連を示唆する情報が載っていました。

srad.jp

普段はDebian系のLinuxを使っていてSELinuxとは縁が無いので,これにはなかなかびっくりしました。SELinuxではそれぞれのファイルにSELinuxコンテキストというタグのようなものが設定されているらしく,何かの拍子で誤った設定が行われてしまった可能性があります。以下のページによれば,restorecon というコマンドを使うことでポリシーに適合するようにSELinuxコンテキストを修正してくれるようです。

そういうわけで restorecon -Rv $HOME とすることで問題が解決できました。差分を見た感じでは $HOMEunconfined_u:object_r:home_root_t:s0 ではなくunconfined_u:object_r:user_home_dir_t:s0 という設定にされるべきだったようです。