Почему я получаю это сообщение от xauth: «тайм-аут в файле блокировки /home/<user>/.Xauthority»?

При попытке SSH на хост я получил следующее сообщение от xauth :

/ usr / bin / xauth: тайм-аут в файле блокировки /home/sam/.Xauthority

ПРИМЕЧАНИЕ. Я пытался удаленно отображать графический интерфейс X11 через SSH-соединение, поэтому мне понадобилось xauth чтобы иметь возможность успешно $HOME/.Xauthority файл $HOME/.Xauthority , но, как указывало это сообщение, явно не было.

Попытки запуска любых приложений на основе X11, таких как xeyes были встречены этим сообщением:

 $ xeyes X11 connection rejected because of wrong authentication. Error: Can't open display: localhost:10.0 

Как я могу решить эту проблему?

4 Solutions collect form web for “Почему я получаю это сообщение от xauth: «тайм-аут в файле блокировки /home/<user>/.Xauthority»?”

Запуск strace в удаленной системе, где xauth не работает, покажет вам, что xauth .

Например

 $ strace xauth list stat("/home/sam/.Xauthority-c", {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 open("/home/sam/.Xauthority-c", O_WRONLY|O_CREAT|O_EXCL, 0600) = -1 EEXIST (File exists) rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 nanosleep({2, 0}, 0x7fff6c4430e0) = 0 open("/home/sam/.Xauthority-c", O_WRONLY|O_CREAT|O_EXCL, 0600) = -1 EEXIST (File exists) rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 nanosleep({2, 0}, 0x7fff6c4430e0) = 0 open("/home/sam/.Xauthority-c", O_WRONLY|O_CREAT|O_EXCL, 0600) = -1 EEXIST (File exists) rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0 

Итак, xauth пытается открыть файл, и он уже существует. Виновным является файл /home/sam/.Xauthority-c . Мы можем подтвердить наличие этого файла в удаленной системе:

 $ ls -l .Xauthority* -rw------- 1 sam sam 55 Jul 12 22:04 .Xauthority -rw------- 1 sam sam 0 Jul 12 22:36 .Xauthority-c -rw------- 1 sam sam 0 Jul 12 22:36 .Xauthority-l 

Исправить

Как выясняется. Эти файлы являются файлами блокировки для .Xauthority , поэтому простое их устранение устраняет проблему.

 $ rm -fr .Xauthority-* 

С удалением файлов выйдите из SSH-соединения, а затем снова подключитесь. Это позволит xauth повторно запускаться успешно.

 $ ssh -t skinner ssh sam@blackbird Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-44-generic x86_64) * Documentation: https://help.ubuntu.com/ Last login: Sun Jul 12 22:37:54 2015 from skinner.bubba.net $ 

Теперь мы можем запускать xauth list и X11 без проблем.

 $ xauth list blackbird/unix:10 MIT-MAGIC-COOKIE-1 cf01f793d2a5ece0ea58196ab5a7977a 

Графический интерфейс

 $ xeyes 

сс # 1

Альтернативный метод решения проблемы

Я столкнулся с этим сообщением: xauth: ошибка в файле блокировки полномочий .Xauthority [linux, ssh, X11], в котором упоминается использование xauth -b чтобы разбить любые файлы блокировок, которые могут висели вокруг. xauth страница xauth поддерживает это:

  -b This option indicates that xauth should attempt to break any authority file locks before proceeding. Use this option only to clean up stale locks. 

Рекомендации

  • Работа с ошибками xauth «ошибка в блокировании файла авторизации»

Корень проблемы может заключаться в том, что у вас нет права на запись в каталоге $ HOME.

Вот почему я получил это сообщение:

/ usr / bin / xauth: тайм-аут в файле блокировки /home/fooftp/.Xauthority

Вот как я проверил разрешение:

 fooftp@for-fun-work:~> ls -l .Xauthority -rw-r--r-- 1 fooftp fooftp 1 Sep 14 2015 .Xauthority # Conlusion: I can write this file: ok fooftp@for-fun-work:~> rm .Xauthority rm: cannot remove '.Xauthority': Permission denied # Conlusion: strange ... I can't delete it fooftp@for-fun-work:~> id uid=1001(fooftp) gid=1000(fooftp) groups=1000(fooftp) # Conlusion: Yes, I am user fooftp fooftp@for-fun-work:~> ls -ld . dr-xr-xr-x 14 fooftp fooftp 4096 Sep 14 2015 . # Conlusion: Bug found :-) # The permissions should be "rwx" for you. 

Если это проблема, вы должны быть уверены, что у вас есть права на запись в $ HOME:

 chmod u+rwX $HOME 

Конфигурация SELinux – это первое, что нужно проверить …

 */usr/sbin/sestatus* 

или

 */usr/sbin/sestatus -v* 

Если для конфигурации SELinux установлено значение «Enforcing», это может вызвать проблему «xauth» .

  /usr/sbin/setenforce 0 

Вы можете временно установить режим «разрешительный» следующим образом (чтобы исключить эту проблему в качестве основной причины проблемы) .

Затем следуйте инструкциям SELinux, чтобы установить правильную конфигурацию, или отключите его, если вы предпочитаете другой метод безопасности (f.ex.by редактирование файла конфигурации / etc / selinux / config в RHEL v.6)

У меня есть другой ответ на вопрос, который преследовал меня, прежде чем я выясню проблему. Проблема заключается в ошибке в Fedora OS и ее производных, как я позже понял. Если проблема не указана принятым ответом и / или вы не в Fedora, RedHat, Korora и т. Д., То это не поможет.

Проблема

Как сказал пользователь slm, запуск strace даст вам указание на проблему, но в этом конкретном случае ошибка отличается:

 $ strace xauth list ... stat64("/home/USER/.Xauthority-c", 0xbff23280) = -1 ENOENT (No such file or directory) open("/home/USER/.Xauthority-c", O_WRONLY|O_CREAT|O_EXCL, 0600) = -1 EACCES (Permission denied) rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 nanosleep({2, 0}, 0xbff232c8) = 0 open("/home/USER/.Xauthority-c", O_WRONLY|O_CREAT|O_EXCL, 0600) = -1 EACCES (Permission denied) rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 nanosleep({2, 0}, 0xbff232c8) = 0 open("/home/USER/.Xauthority-c", O_WRONLY|O_CREAT|O_EXCL, 0600) = -1 EACCES (Permission denied) ... 

Чтобы быть ясным, это говорит о том, что EACCES возвращает код, который запрещен. Это отличается от проблемы пользователя slm, где у него есть код возврата EEXIST, что означает, что File существует. Итак, для кода возврата EACCES, очевидно, первое, что вы проверяете: установлены ли мои домашние разрешения, чтобы я мог писать в мой домашний каталог? Вы должны убедиться, что сначала у вас есть флаг записи в вашем домашнем каталоге для вашего собственного пользователя. Если вы это сделаете, вы можете стать жертвой ошибки, описанной ниже.

Баг

Через пару поисков Google я наконец смог найти кого-то с подобной проблемой, и это привело меня к отчету об ошибке Fedora. Для тех из вас, кто хочет прочитать об этом: https://bugzilla.redhat.com/show_bug.cgi?id=772992

Обходной путь

Обходной путь к проблеме:

 #verify you're not crazy $ xauth list /usr/bin/xauth: timeout in locking authority file /home/USER/.Xauthority #use restorecon to reset it all $ /sbin/restorecon -v -v /home/USER/.Xauthority $ /sbin/restorecon -v -v -R /home/USER/ #log out of the remote system $ exit 

Когда вы снова заходите в SSH, в этот момент все должно быть хорошо, и вы сможете успешно перенести свой X-сеанс.


EDIT (и другие альтернативные обходные пути):

Чтобы быть как можно полнее, другие пользователи заявили в сообщении об ошибке, что исправление выше не работает для них – это случилось для меня. Еще одна попытка решить проблему была (я не проверял это обходное решение лично):

 # setsebool -P use_nfs_home_dirs 1 

Другой человек упоминает что-то о GDM, о котором я не знаю. Если это относится к вам, я рекомендую прочитать его сообщение в BugZilla и посмотреть, что его комментарий что-то означает для вас.

  • $ HOME readonly: / usr / bin / xauth: тайм-аут в файле блокировки /home/fooftp/.Xauthority
  • «Su» с ошибкой «Соединение X11 отклонено из-за неправильной аутентификации»
  • Пересылка X-окон через су-сессию
  • .Характивный файл пуст
  • «Недопустимый ключ MIT-MAGIC-COOKIE-1» при попытке запуска программы удаленно
  • SSH XForwarding терпит неудачу - плохое отображаемое имя xauth
  • Аутентификация X11 не работает в `sudo sux / sudo su`, но работает в` sux / su.` Почему?
  • неверная ошибка MIT-MAGIC-COOKIE-1 всякий раз, когда компьютер засыпает
  • Как создать новый Xauthority без дома?
  • Не удается подключиться к X-серверу: 0.0 в качестве суперпользователя
  • Как заменить часть имени хоста на xauth (OLD: как перенаправить вывод команды xauth?)
  • Interesting Posts

    Для чего полезны иноды?

    Как я могу определить, установлен ли каталог с noatime или nodirtime?

    Установка драйвера NVIDIA GeForce 940-mx невозможна

    Поиск Failed attemps в / var / log / secure

    Являются ли переменные среды видимыми для непривилегированных пользователей в Linux?

    Кукла показывает другую версию версии пакета марионеточного агента

    Автоматически устанавливать часовой пояс Linux в соответствии с местоположением

    Как отремонтировать CentOS? Не удалось установить / sysroot

    Невозможно приостановить, когда крышка отключается, если подключен внешний дисплей

    Samba mount с приглашением пароля как пользователь без полномочий root

    Почему я не могу делать визуальный режим при использовании visudo?

    Отключить моментальный снимок (настройка «сохранить») при запуске экземпляра

    Массовое добавление пользователей в группы

    Как я могу grep две вещи, где есть опция -w?

    grep со специальными выражениями

    Linux и Unix - лучшая ОС в мире.