xauth - утилита для работы с файлом авторизации X
КРАТКОЕ ОПИСАНИЕ
xauth [ -f authfile ] [ -vqibn ] [ команда аргумент ... ]
ОПИСАНИЕ
Программа xauth используется для редактирования и отображения информации об авторизации, используемой при подключении к X-серверу. Эта программа обычно используется для извлечения записей авторизации с одной машины и их объединения на другой (например, при использовании удаленных входов в систему или предоставлении доступа другим пользователям). Команды (описанные ниже) можно вводить интерактивно, в командной строке xauth или в скриптах. Обратите внимание, что эта программа не связывается с X-сервером, за исключением случая использования команды generate. Обычно xauth не используется для создания записи в файле авторизации; эту задачу выполняет программа, запускающая X-сервер (обычно xdm или startx).
ОПЦИИ
Следующие опции могут использоваться с xauth. Они могут быть указаны по отдельности (например, -q -i) или объединены (например, -qi).
-f authfile
Эта опция указывает имя файла авторизации, который следует использовать. По умолчанию xauth использует файл, указанный в переменной окружения XAUTHORITY или .Xauthority в домашнем каталоге пользователя.
-q Эта опция указывает, что xauth должна работать в тихом режиме и не выводить не запрошенные сообщения о состоянии. Это значение по умолчанию, если команда xauth указана в командной строке или если стандартный вывод не направлен в терминал.
-v Эта опция указывает, что xauth должна работать в режиме отладки и выводить сообщения о состоянии, указывающие результаты различных операций (например, сколько записей было прочитано или записано). Это значение по умолчанию, если xauth читает команды из стандартного ввода и ее стандартный вывод направлен в терминал.
-i Эта опция указывает, что xauth должна игнорировать любые блокировки файла авторизации. Обычно xauth отказывается читать или редактировать любые файлы авторизации, которые были заблокированы другими программами (обычно xdm или другой экземпляр xauth).
-b Эта опция указывает, что xauth должна попытаться снять любые блокировки файла авторизации перед продолжением. Используйте эту опцию только для очистки устаревших блокировок.
-n Эта опция указывает, что xauth не должна пытаться разрешать какие-либо имена хостов, а должна просто всегда выводить адрес хоста, хранящийся в файле авторизации.
-V Эта опция отображает номер версии исполняемого файла xauth.
КОМАНДЫ
Следующие команды могут использоваться для управления файлами авторизации:
add displayname protocolname hexkey
В файл авторизации добавляется запись авторизации для указанного дисплея, использующая заданный протокол и ключ. Данные указываются в виде строки из четного числа шестнадцатеричных цифр, где каждая пара представляет один байт. Первая цифра каждой пары дает наиболее значимые 4 бита байта, а вторая цифра пары дает наименее значимые 4 бита. Например, 32-символьный ключ будет представлять 128-битное значение. Имя протокола, состоящее только из одной точки, рассматривается как сокращение для MIT-MAGIC-COOKIE-1.
generate displayname protocolname [trusted|untrusted]
[timeout seconds] [group group-id] [data hexdata]
Эта команда аналогична команде add. Основное отличие заключается в том, что вместо того, чтобы требовать от пользователя предоставления данных ключа, она подключается к серверу, указанному в displayname, и использует расширение SECURITY для получения данных ключа, которые будут сохранены в файле авторизации. Если сервер не может быть достигнут или не поддерживает расширение SECURITY, команда завершается с ошибкой. В противном случае в файл авторизации добавляется запись авторизации для указанного дисплея с использованием заданного протокола. Имя протокола, состоящее только из одной точки, рассматривается как сокращение для MIT-MAGIC-COOKIE-1.
Если используется опция trusted, клиенты, подключающиеся с использованием этой авторизации, будут иметь полный доступ к дисплею, как обычно. Если используется untrusted, клиенты, подключающиеся с использованием этой авторизации, будут считаться ненадежными и им будет запрещено красть или изменять данные, принадлежащие надежным клиентам. Подробности об ограничениях, налагаемых на ненадежных клиентов, см. в спецификации расширения SECURITY. По умолчанию используется untrusted.
Опция timeout указывает, как долго в секундах будет действовать эта авторизация. Если авторизация остается неиспользованной (нет подключенных клиентов) в течение более этого периода времени, сервер очищает авторизацию, и последующие попытки подключения с ее использованием будут неудачными. Обратите внимание, что очистка, выполняемая сервером, не удаляет запись авторизации из файла авторизации. Значение по умолчанию для времени ожидания составляет 60 секунд.
Опция group указывает группу приложений, к которой должны принадлежать клиенты, подключающиеся с использованием этой авторизации. Подробности см. в спецификации расширения группы приложений. По умолчанию клиенты не принадлежат ни к одной группе приложений.
Опция data указывает данные, которые сервер должен использовать для генерации авторизации. Обратите внимание, что это не те данные, которые записываются в файл авторизации. Интерпретация этих данных зависит от протокола авторизации. hexdata имеет тот же формат, что и hexkey, описанный в команде add. По умолчанию данные не отправляются.
[n]extract filename displayname...
Записи авторизации для каждого из указанных дисплеев записываются в указанный файл. Если используется команда nextract, записи записываются в числовом формате, подходящем для небинарной передачи (например, по защищенной электронной почте). Извлеченные записи можно повторно прочитать с помощью команд merge и nmerge. Если имя файла состоит только из одного дефиса, записи будут записаны в стандартный вывод.
[n]list [displayname...]
Записи авторизации для каждого из указанных дисплеев (или для всех, если ни один дисплей не указан), выводятся в стандартный вывод. Если используется команда nlist, записи будут показаны в числовом формате, используемом командой nextract; в противном случае они отображаются в текстовом формате. Данные ключа всегда отображаются в шестнадцатеричном формате, указанном в описании команды add.
[n]merge [filename...]
Авторизационные записи считываются из указанных файлов и объединяются в базу данных авторизации, заменяя любые существующие совпадающие записи. Если используется команда [n]merge, используется числовой формат, указанный в описании команды extract. Если имя файла состоит только из одного знака "-", стандартный ввод считывается, если он еще не был считан.
remove displayname...
Авторизационные записи, соответствующие указанным именам отображения, удаляются из файла авторизации.
source filename
Указанный файл рассматривается как сценарий, содержащий команды xauth для выполнения. Пустые строки и строки, начинающиеся со знака "#", игнорируются. Одинарный знак "-" может использоваться для указания стандартного ввода, если он еще не был прочитан.
info Информация, описывающая файл авторизации, независимо от того, были ли внесены какие-либо изменения, и откуда считываются команды xauth, выводится на стандартный вывод.
exit Если какие-либо изменения были внесены, файл авторизации записывается (если это разрешено), и программа завершается. Конец файла рассматривается как неявная команда выхода.
quit Программа завершается, игнорируя все изменения. Это также можно сделать, нажав символ прерывания.
version Эта команда отображает номер версии исполняемого файла xauth.
help [string]
Описание всех команд, начинающихся с заданной строки (или всех команд, если строка не задана), выводится на стандартный вывод.
? Краткий список допустимых команд выводится на стандартный вывод.
ИМЕНА ДИСПЛЕЯ
Имена дисплеев для команд add, [n]extract, [n]list, [n]merge и remove используют тот же формат, что и переменная среды DISPLAY и общий аргумент командной строки -display. Информация, специфичная для дисплея (например, номер экрана), не требуется и будет игнорироваться. Подключения к локальным машинам (таким как локальные сокеты, общая память и IP-адрес localhost) называются hostname/unix:displaynumber, чтобы локальные записи для разных машин можно было хранить в одном файле авторизации.
ПРИМЕР
Наиболее распространенное использование xauth — извлечь запись для текущего дисплея, скопировать ее на другую машину и объединить в файле авторизации пользователя на удаленной машине:
% xauth extract - $DISPLAY | ssh otherhost xauth merge
Следующая команда связывается с сервером :0 для создания авторизации с использованием протокола MIT-MAGIC-COOKIE-1. Клиенты, подключающиеся с этой авторизацией, будут считаться ненадежными. % xauth generate :0 .
ОКРУЖАЮЩАЯ СРЕДА
Эта программа xauth использует следующие переменные среды:
XAUTHORITY
для получения имени файла авторизации, который следует использовать, если не используется опция -f.
HOME — получить домашний каталог пользователя, если XAUTHORITY не определена.
ФАЙЛЫ
$HOME/.Xauthority
файл авторизации по умолчанию, если XAUTHORITY не определена.
ССЫЛКИ
X(7), Xsecurity(7), xhost(1), Xserver(1), xdm(1), startx(1), Xau(3).
ОШИБКИ
Пользователям, работающим в небезопасных сетях, следует использовать зашифрованные механизмы передачи файлов для копирования записей авторизации между машинами. Аналогично, протокол MIT-MAGIC-COOKIE-1 не очень полезен в небезопасных средах. Организации, заинтересованные в дополнительной безопасности, могут использовать зашифрованные механизмы авторизации, такие как Kerberos.
В настоящее время пробелы не допускаются в имени протокола. Можно добавить возможность заключения в кавычки для самых отчаянных пользователей.
АВТОР
Jim Fulton, MIT X Consortium