xauth - Utilitário de arquivo de autoridade X
SINTAXE
xauth [ -f authfile ] [ -vqibn ] [ comando arg ... ]
DESCRIÇÃO
O programa xauth é usado para editar e exibir as informações de autorização usadas para se conectar ao servidor X. Este programa geralmente é usado para extrair registros de autorização de uma máquina e combiná-los em outra (como no caso do uso de logins remotos ou concedendo acesso a outros usuários). Os comandos (descritos abaixo) podem ser inseridos interativamente, na linha de comando do xauth ou em scripts. Observe que este programa não entra em contato com o servidor X, exceto quando o comando generate é usado. Normalmente, o xauth não é usado para criar a entrada do arquivo de autoridade em primeiro lugar; o programa que inicia o servidor X (geralmente xdm ou startx) faz isso.
OPÇÕES
As seguintes opções podem ser usadas com o xauth. Elas podem ser fornecidas individualmente (por exemplo, -q -i) ou podem ser combinadas (por exemplo, -qi).
-f authfile
Esta opção especifica o nome do arquivo de autoridade a ser usado. Por padrão, o xauth usará o arquivo especificado pela variável de ambiente XAUTHORITY ou .Xauthority no diretório inicial do usuário.
-q Esta opção indica que o xauth deve operar silenciosamente e não imprimir mensagens de status não solicitadas. Este é o padrão se um comando xauth for fornecido na linha de comando ou se
a saída padrão não for direcionada para um terminal.
-v Esta opção indica que o xauth deve operar de forma detalhada e imprimir mensagens de status indicando os resultados de várias operações (por exemplo, quantas entradas foram lidas ou
escritas). Este é o padrão se o xauth estiver lendo comandos de sua entrada padrão
e sua saída padrão for direcionada para um terminal.
-i Esta opção indica que o xauth deve ignorar quaisquer bloqueios de arquivo de autoridade. Normalmente, o xauth
se recusará a ler ou editar quaisquer arquivos de autoridade que tenham sido bloqueados por outros programas
(geralmente xdm ou outro xauth).
-b Esta opção indica que o xauth deve tentar quebrar quaisquer bloqueios de arquivo de autoridade antes
de prosseguir. Use esta opção apenas para limpar bloqueios desatualizados.
-n Esta opção indica que o xauth não deve tentar resolver nenhum nome de host, mas deve
simplesmente sempre imprimir o endereço do host conforme armazenado no arquivo de autoridade.
-V Esta opção exibe o número da versão do executável xauth.
COMANDOS
Os seguintes comandos podem ser usados para manipular arquivos de autoridade:
add displayname protocolname hexkey
Uma entrada de autorização para a exibição indicada, usando o protocolo e os dados de chave fornecidos, é adicionada ao arquivo de autoridade. Os dados são especificados como uma string de comprimento par de dígitos hexadecimais, cada par representando um octeto. O primeiro dígito de cada par fornece os 4 bits mais significativos do octeto, e o segundo dígito do par fornece os 4 bits menos significativos. Por exemplo, uma chave hexadecimal de 32 caracteres representaria um valor de 128 bits. Um nome de protocolo consistindo apenas de um único ponto é tratado como um atalho para MIT-MAGIC-COOKIE-1.
generate displayname protocolname [trusted|untrusted]
[timeout seconds] [group group-id] [data hexdata]
Este comando é semelhante ao add. A principal diferença é que, em vez de exigir que o usuário forneça os dados da chave, ele se conecta ao servidor especificado em displayname e usa a extensão SECURITY para obter os dados da chave a serem armazenados no arquivo de autorização. Se o servidor não puder ser contatado ou se não suportar a extensão SECURITY, o comando falha. Caso contrário, uma entrada de autorização para o display indicado, usando o protocolo fornecido, é adicionada ao arquivo de autorização. Um nome de protocolo consistindo apenas de um único ponto é tratado como uma abreviação para MIT-MAGIC-COOKIE-1.
Se a opção trusted for usada, os clientes que se conectam usando esta autorização terão total acesso ao display, como de costume. Se untrusted for usado, os clientes que se conectam usando esta autorização serão considerados não confiáveis e impedidos de roubar ou adulterar dados pertencentes a clientes confiáveis. Consulte a especificação da extensão SECURITY para obter detalhes completos sobre as restrições impostas aos clientes não confiáveis. O padrão é untrusted.
A opção timeout especifica por quanto tempo, em segundos, esta autorização será válida. Se a autorização permanecer não utilizada (nenhum cliente estiver conectado a ela) por mais do que este período de tempo, o servidor remove a autorização e tentativas futuras de conexão usando-a falharão. Observe que a remoção feita pelo servidor não exclui a entrada de autorização do arquivo de autorização. O tempo limite padrão é de 60 segundos.
A opção group especifica o grupo de aplicativos ao qual os clientes que se conectam com esta autorização devem pertencer. Consulte a especificação da extensão do grupo de aplicativos para obter mais detalhes. O padrão é não pertencer a um grupo de aplicativos.
A opção data especifica dados que o servidor deve usar para gerar a autorização. Observe que estes não são os mesmos dados que são gravados no arquivo de autorização. A interpretação destes dados depende do protocolo de autorização. Os dados hexadecimais estão no mesmo formato da chave hexadecimal descrita no comando add. O padrão é não enviar dados.
[n]extract filename displayname...
As entradas de autorização para cada um dos displays especificados são gravadas no arquivo indicado. Se o comando nextract for usado, as entradas serão gravadas em um formato numérico adequado para transmissão não binária (como e-mail seguro). As entradas extraídas podem ser lidas novamente usando os comandos merge e nmerge. Se o nome do arquivo consistir apenas de um único hífen, as entradas serão gravadas na saída padrão.
[n]list [displayname...]
As entradas de autorização para cada um dos displays especificados (ou todos, se nenhum display for nomeado) são impressas na saída padrão. Se o comando nlist for usado, as entradas serão exibidas no formato numérico usado pelo comando nextract; caso contrário, elas são exibidas em um formato de texto. Os dados da chave são sempre exibidos no formato hexadecimal fornecido na descrição do comando add.
[n]merge [nome_do_arquivo]...
As entradas de autorização são lidas dos arquivos especificados e mescladas no banco de dados de autorização, substituindo quaisquer entradas existentes correspondentes. Se o comando [n]merge for usado, o formato numérico fornecido na descrição do comando extract será usado. Se um nome de arquivo consistir apenas em um único hífen, a entrada padrão será lida, caso ainda não tenha sido lida.
remove nome_de_exibição...
As entradas de autorização que correspondem aos nomes de exibição especificados são removidas do arquivo de autoridade.
source nome_do_arquivo
O arquivo especificado é tratado como um script contendo comandos xauth para executar. Linhas em branco e linhas que começam com um sinal de cerquilha (#) são ignoradas. Um único hífen pode ser usado para indicar a entrada padrão, se ela ainda não tiver sido lida.
info Informações descrevendo o arquivo de autorização, se alguma alteração foi feita ou não e de onde os comandos xauth estão sendo lidos são impressas na saída padrão.
exit Se alguma modificação tiver sido feita, o arquivo de autoridade é gravado (se permitido) e o programa é encerrado. O final do arquivo é tratado como um comando exit implícito.
quit O programa é encerrado, ignorando quaisquer modificações. Isso também pode ser feito pressionando o caractere de interrupção.
version Este comando exibe o número da versão do executável xauth.
help [string]
Uma descrição de todos os comandos que começam com a string fornecida (ou todos os comandos, se nenhuma string for fornecida) é impressa na saída padrão.
? Uma lista resumida dos comandos válidos é impressa na saída padrão.
NOMES DE EXIBIÇÃO
Os nomes de exibição para os comandos add, [n]extract, [n]list, [n]merge e remove usam o mesmo formato da variável de ambiente DISPLAY e do argumento de linha de comando comum -display. Informações específicas do dispositivo (como o número da tela) são desnecessárias e serão ignoradas. As conexões da mesma máquina (como sockets locais, memória compartilhada e o nome do host do Internet Protocol localhost) são referidas como hostname/unix:numero_de_exibição, para que as entradas locais para diferentes máquinas possam ser armazenadas em um único arquivo de autoridade.
EXEMPLO
O uso mais comum de xauth é extrair a entrada para a exibição atual, copiá-la para outra máquina e mesclá-la no arquivo de autoridade do usuário na máquina remota:
% xauth extract - $DISPLAY | ssh otherhost xauth merge
O seguinte comando entra em contato com o servidor :0 para criar uma autorização usando o protocolo MIT-MAGICCOOKIE-1. Os clientes que se conectam com esta autorização não serão confiáveis. % xauth generate :0 .
AMBIENTE
Este programa xauth usa as seguintes variáveis de ambiente:
XAUTHORITY
para obter o nome do arquivo de autoridade a ser usado se a opção -f não for usada.
HOME: para obter o diretório inicial do usuário se XAUTHORITY não estiver definido.
ARQUIVOS
$HOME/.Xauthority
arquivo de autoridade padrão se XAUTHORITY não estiver definido.
VER TAMBÉM
X(7), Xsecurity(7), xhost(1), Xserver(1), xdm(1), startx(1), Xau(3).
BUGS
Usuários que possuem redes inseguras devem ter cuidado para usar mecanismos de transferência de arquivos criptografados para copiar entradas de autorização entre máquinas. Da mesma forma, o protocolo MIT-MAGIC-COOKIE-1 não é muito útil em ambientes inseguros. Sites que desejam segurança adicional podem precisar usar mecanismos de autorização criptografados, como o Kerberos.
Atualmente, espaços não são permitidos no nome do protocolo. As aspas poderiam ser adicionadas para os verdadeiramente perversos.
AUTOR
Jim Fulton, MIT X Consortium