<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
  <!ENTITY kappname "&kdesu;">
  <!ENTITY package "kdebase">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % Portuguese "INCLUDE"
> <!-- change language only here -->
]>

<book lang="&language;">
<bookinfo>

<title
>Manual do &kdesu;</title>

<authorgroup>
<author
>&Geert.Jansen; &Geert.Jansen.mail;</author>
<othercredit role="translator"
><firstname
>Nuno</firstname
><surname
>Donato</surname
><affiliation
><address
><email
>nunodonato@iol.pt</email
></address
></affiliation
><contrib
>Tradução</contrib
></othercredit
> 
</authorgroup>

<copyright>
<year
>2000</year>
<holder
>&Geert.Jansen;</holder>
</copyright>

<legalnotice
>&FDLNotice;</legalnotice>

<date
>2005-06-07</date>
<releaseinfo
>1.00.00</releaseinfo>


<abstract
><para
>O &kdesu; é um interface gráfico para o comando &UNIX; <command
>su</command
>.</para
></abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>su</keyword>
<keyword
>senha</keyword>
<keyword
>root</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction">
<title
>Introdução</title>

<para
>Bem-vindo ao &kdesu;! O &kdesu; é uma interface gráfica para o comando Unix <command
>su</command
>, para o ambiente de trabalho K. Permite-lhe executar um programa como um utilizador diferente, fornecendo a senha desse utilizador. O &kdesu; é um programa sem privilégios e usa o <command
>su</command
> do sistema.</para>

<para
>O &kdesu; tem uma função adicional: permite ao utilizador recordar as senhas. Se estiver a usar esta funcionalidade, necessita apenas de introduzir a senha uma vez para cada comando. Veja em <xref linkend="sec-password-keeping"/> para mais informações e uma análise à segurança.</para>

<para
>Este programa pretende ser executado a partir da linha de comandos ou de ficheiros <filename
>.desktop</filename
>. Embora seja pedida a senha do <systemitem class="username"
>root</systemitem
>, usando uma janela gráfica, é considerada como sendo mais uma associação linha de comando &lt;-&gt; gráfica em vez de um puro programa gráfico.</para>

</chapter>

<chapter id="using-kdesu">
<title
>Usar o &kdesu;</title>

<para
>A utilização do &kdesu; é fácil. A sintaxe é a seguinte:</para>

<cmdsynopsis
><command
>kdesu</command
> <group choice="opt"
><option
>-c</option
></group
> <group choice="opt"
><option
>-d</option
></group
> <group choice="opt"
><option
>-f</option
> <replaceable
> ficheiro</replaceable
></group
> <group choice="opt"
><option
>-i</option
> <replaceable
> nome do ícone</replaceable
></group
> <group choice="opt"
><option
>-n</option
></group
> <group choice="opt"
><option
>-p</option
> <replaceable
> prioridade</replaceable
></group
> <group choice="opt"
><option
>-r</option
></group
> <group choice="opt"
><option
>-s</option
></group
> <group choice="opt"
><option
>-t</option
></group
> <group choice="opt"
><option
>-u</option
> <replaceable
> utilizador</replaceable
></group
> <group choice="opt"
><option
>--nonewdcop</option
></group
> <group
><arg choice="req"
><replaceable
>comando</replaceable
> <arg
><replaceable
>arg1</replaceable
></arg
> <arg
><replaceable
>arg2</replaceable
></arg
> <arg rep="repeat"
><replaceable
></replaceable
></arg
></arg
></group
> </cmdsynopsis>
<cmdsynopsis
><command
>kdesu</command
> <arg choice="opt"
>Opções Genéricas do &kde;</arg
> <arg choice="opt"
>Opções Genéricas do Qt</arg
> </cmdsynopsis>

<para
>As opções da linha de comandos são explicadas em baixo.</para>

<variablelist>
<varlistentry>
<term
><option
>-c <replaceable
>programa</replaceable
></option
></term>
<listitem
><para
>Isto indica que o programa é executado como 'root'. Tem de ser passado um argumento. Assim se, por exemplo, quiser iniciar um novo gestor de ficheiros, iria introduzir na linha de comandos: <userinput
><command
>kdesu<option
>-c <replaceable
>kfm -sw</replaceable
></option
></command
></userinput
></para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>-d</option
></term>
<listitem
><para
>Não mostra o comando a executar na janela.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>-f <replaceable
>ficheiro</replaceable
></option
></term>
<listitem
><para
>Esta opção permite um uso eficiente do &kdesu; em ficheiros <filename
>.desktop</filename
>. Isto diz ao &kdesu; para examinar o ficheiro indicado em <parameter
>ficheiro</parameter
>. Se este ficheiro puder ser alterado pelo utilizador actual, o &kdesu; irá executar o comando com esse utilizador. Se não puder ser alterado, o comando é executado com o utilizador <parameter
>utilizador</parameter
> (o 'root', por omissão).</para>
<para
>O <parameter
>ficheiro</parameter
> é avaliado da seguinte maneira: se o <parameter
>ficheiro</parameter
> começar com um <literal
>/</literal
>, é tomado como um nome de ficheiro absoluto. De outra maneira, é tomado como o nome de um ficheiro de configuração global do &kde;. Por exemplo: para configurar o gestor de autenticação do &kde;, <application
>kdm</application
>, o utilizador poderá emitir um <command
>kdesu <option
>-c kdmconfig -f kdmrc</option
></command
></para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>-i</option
> <replaceable
>nome do ícone</replaceable
></term>
<listitem
><para
>Indique o ícone a usar na janela da senha. Poderá indicar apenas o nome, sem qualquer extensão.</para>
<para
>Por exemplo, para executar o <command
>kfmclient</command
> e mostrar o ícone do &konqueror; na janela da senha:</para>
<screen
><userinput
><command
>kdesu</command
>  <option
>-i konqueror</option
> <command
>kfmclient</command
></userinput
></screen>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>-n</option
></term>
<listitem
><para
>Não memorizar a senha. Isto desactiva a opção <guilabel
>Guardar a senha</guilabel
> na janela correspondente.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>-p</option
> <replaceable
>prioridade</replaceable
></term>
<listitem>
<para
>Indica o valor da prioridade. A prioridade é um número qualquer entre 0 e 100, onde o 100 corresponde à prioridade máxima e o 0 à mínima. O valor por omissão é 50.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><option
>-r</option
></term>
<listitem
><para
>Usa o escalonamento em tempo-real.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>-s</option
></term>
<listitem
><para
>Pára o servidor do 'kdesu'. Veja em <xref linkend="sec-password-keeping"/>.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>-t</option
></term>
<listitem
><para
>Permite enviar o resultado para o terminal. Isto desactiva a memorização de senhas. É largamente usado para efeitos de depuração; se você quiser executar uma aplicação no modo de consola, use o comando "<command
>su</command
>" normal.</para
> </listitem>
</varlistentry>
<varlistentry>
<term
><option
>-u</option
> <replaceable
>utilizador</replaceable
></term>
<listitem
><para
>Embora a utilização mais comum do &kdesu; seja correr um comando como super-utilizador, poderá indicar qualquer nome de utilizador e a senha apropriada.</para>
</listitem>
</varlistentry>

</variablelist>

</chapter>

<chapter id="Internals">
<title
>Detalhes Internos</title>

<sect1 id="x-authentication">
<title
>Autenticação X</title>

<para
>O programa que executar irá correr com o utilizador 'root' e, geralmente, não terá autorização para aceder ao seu ecrã do X. O &kdesu; contorna isto, adicionando uma 'cookie' de autenticação para o seu ecrã, num ficheiro temporário <filename
>.Xauthority</filename
>. Assim que o comando é terminado, o ficheiro é removido. </para>

<para
>Se você não usar os 'cookies' do X, então estará por sua conta e risco. O &kdesu; irá detectar isto e não adicionará qualquer 'cookie', contudo dever-se-á certificar que é permitido ao 'root' aceder ao seu ecrã.</para>

</sect1>

<sect1 id="interface-to-su">
<title
>Interface para o <command
>su</command
></title>

<para
>O &kdesu; usa o comando <command
>su</command
> do sistema para obter privilégios. Nesta secção, serão explicados os detalhes de como o &kdesu; faz isso. </para>

<para
>Dado que algumas das implementações do <command
>su</command
> (&ie; a da &RedHat;) não querem ler a senha a partir do <literal
>stdin</literal
>, o &kdesu; cria um par PTY/TTY e executa o <command
>su</command
> com os seus descritores-padrão de ficheiros associados ao TTY.</para>

<para
>Para executar o comando seleccionado pelo utilizador, em vez de uma linha de comandos interactiva, o &kdesu; usa o argumento <option
>-c</option
> com o <command
>su</command
>. Este argumento é entendido por todas as linhas de comando conhecidas, por isso deve funcionar sem problemas. O <command
>su</command
> passa o argumento <option
>-c</option
> para a linha de comandos de destino do utilizador, para que esta execute o programa. Um comando de exemplo: <command
>su<option
>root -c <replaceable
>programa</replaceable
></option
></command
>.</para>

<para
>Em vez de executar o comando do utilizador directamente com o <command
>su</command
>, o &kdesu; executa uma pequena porção de programa chamada <application
>kdesu_stub</application
>. Esta porção (correndo com o utilizador de destino), pede alguma informação ao &kdesu; sobre o canal PTY/TTY (a parte do 'stdin' e 'stdout') e, a seguir, executa o programa do utilizador. A informação recebida é: o ecrã do X, uma 'cookie' de autenticação X (se disponível), o <envar
>PATH</envar
> e o comando a executar. A razão porque é usada uma parte do programa é que a 'cookie' do X contém informação privada e, por conseguinte, não pode ser passada na linha de comandos.</para>

</sect1>

<sect1 id="password-checking">
<title
>Verificação de Senhas</title>

<para
>O &kdesu; verificará a senha que o utilizador introduziu e dá uma mensagem de erro se não for correcta. A verificação é feita executando um programa de teste: /bin/true. Se obtiver sucesso, a senha é assumida como correcta.</para>

</sect1>

<sect1 id="sec-password-keeping">
<title
>Guardar Senhas</title>

<para
>Para o conforto do utilizador, o &kdesu; implementou a função <quote
>Guardar a senha</quote
>. Se estiver interessado em segurança, deverá ler este parágrafo.</para>

<para
>Ao permitir que o &kdesu; guarde as senhas, abre um buraco (pequeno) na segurança do seu sistema. Obviamente, o KDE não permite que qualquer um use as senhas mas apenas o seu ID de utilizador mas, se isto for feito sem precauções, irá diminuir o nível de segurança do <systemitem class="username"
>root</systemitem
> para um utilizador normal (como você próprio). Um 'hacker' que entrar na sua conta, obterá acesso de <systemitem class="username"
>root</systemitem
>. O &kdesu; tenta prevenir isto. O esquema de segurança que usa é razoavelmente seguro e é explicado aqui.</para>

<para
>O &kdesu; usa um servidor, chamado <application
>kdesud</application
>. O servidor espera num 'socket' UNIX em <filename
>/tmp</filename
> por comandos. O modo de permissões do 'socket' é 0600, de maneira a que apenas o seu utilizador possa ligar-se a ele. Se a opção <quote
>Guardar a senha</quote
> estiver activada, o &kdesu; executa os comandos através deste servidor. Escreva o comando e a senha do <systemitem class="username"
>root</systemitem
>, para que o 'socket' e o servidor executem o comando, usando o <command
>su</command
>, como descrito anteriormente. Depois disto, o comando e a senha não serão deitados fora. Em vez disso, são mantidas durante um espaço de tempo. Este é o tempo-limite do módulo de controlo. Se outro pedido para o mesmo comando chegar dentro deste período de tempo, o cliente não terá de fornecer a senha. Para não deixar que os 'hackers' entrem na sua conta, para roubar senhas do servidor (por exemplo, anexando um depurador), o servidor é instalado com 'set-group-id nogroup'. Isto deve fazer com que os utilizadores normais (incluindo você mesmo) não consigam obter senhas do processo <application
>kdesud</application
>. O servidor define ainda a variável de ambiente <envar
>DISPLAY</envar
>, com o valor que tinha quando foi iniciado. A única coisa que um 'hacker' pode fazer é executar uma aplicação no seu ecrã.</para>

<para
>Um ponto fraco neste esquema é que os programas que você executar não são escritos, provavelmente, tendo em mente a segurança (como os programas que definem um setuid <systemitem class="username"
>root</systemitem
>). Isto significa que eles podem ter sobrecargas de 'buffers' ou outros problemas que um 'hacker' pode explorar.</para>

<para
>O uso da função para guardar as senhas é um compromisso entre o conforto e a segurança. Será encorajado a pensar sobre isto e decidir por si mesmo, se quiser usar esta função ou não.</para>

</sect1>
</chapter>

<chapter id="Author">
<title
>Autoria</title>

<para
>&kdesu;</para>

<para
>Copyright 2000 &Geert.Jansen;</para>

<para
>O &kdesu; foi escrito por &Geert.Jansen;. É baseado no &kdesu; versão 0.3 de Pietro Iglio. O Pietro e eu acordámos que eu faria a manutenção deste programa no futuro.</para>

<para
>O autor pode ser contactado através do e-mail em &Geert.Jansen.mail;. Por favor relate quaisquer erros que encontrar, de maneira a que eu os possa arranjar. Se tiver uma sugestão, sinta-se à vontade para me contactar.</para>

<para
>Tradução de José Nuno Pires <email
>jncp@netcabo.pt</email
></para
> 
&underFDL; &underArtisticLicense; </chapter>

</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
End:
-->

