<?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 % Brazilian-Portuguese "INCLUDE"
> <!-- change language only here -->
]>

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

<title
>O manual do &kdesu;</title>

<authorgroup>
<author
>&Geert.Jansen; &Geert.Jansen.mail;</author>
<othercredit role="translator"
><firstname
>Marcus</firstname
><surname
>Gama</surname
><affiliation
><address
><email
>marcus.gama@gmail.com</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; é uma interface gráfica 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
> no Ambiente de Desktop K. Ele permite-lhe executar um programa como um usuário diferente fornecendo a senha deste usuário. O &kdesu; é um programa se privilégios especiais; ele usa o <command
>su</command
> do sistema.</para>

<para
>O &kdesu; possui um recurso adicional: ele pode lembrar-se da senha para você. Se você usar este recurso, você somente precisará inserir a senha uma vez para cada comando. Veja <xref linkend="sec-password-keeping"/> para mais informações sobre isto e uma análise de segurança.</para>

<para
>Este programa deve ser iniciado a partir da linha de comando ou de arquivos <filename
>.desktop</filename
>. Apesar dele solicitar pela senha do <systemitem class="username"
>root</systemitem
> usando um diálogo &GUI;, eu o considero mais como uma linha de comando &lt;-&gt; colada a uma &GUI; do que um programa puramente &GUI;.</para>

</chapter>

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

<para
>O uso do &kdesu; é fácil. A sintaxe é parecida com isto:</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
> arquivo</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
> usuário</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 de linha de comando são explanadas abaixo.</para>

<variablelist>
<varlistentry>
<term
><option
>-c <replaceable
>programa</replaceable
></option
></term>
<listitem
><para
>Isto especifica o programa a executar como root. Ele deve ser passado em um argumento. Logo se, por exemplo, você deseja iniciar um novo gerenciador de arquivo, você deverá inserir no console: <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
>arquivo</replaceable
></option
></term>
<listitem
><para
>Esta opção permite um uso eficiente do &kdesu; em arquivos <filename
>.desktop</filename
>. Isto diz ao &kdesu; para examinar o arquivo indicado em <parameter
>arquivo</parameter
>. Se este arquivo puder ser alterado pelo usuário atual, o &kdesu; irá executar o comando com esse usuário. Se não puder ser alterado, o comando é executado com o usuário <parameter
>usuário</parameter
> (o 'root', por padrão).</para>
<para
>O <parameter
>ARQUIVO</parameter
> é avaliado da seguinte maneira: se o <parameter
>ARQUIVO</parameter
> começar com um "/", é tomado como um nome de arquivo absoluto. De outra maneira, é tomado como o nome de um arquivo de configuração global do &kde;. Por exemplo: para configurar o gerenciador de login do &kde;, &kdm;, o usuário 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
>Indica o ícone a usar na janela da senha. Você 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 mantém a senha. Isto desabilita a caixa de verificação <guilabel
>manter senha</guilabel
> no diálogo de senha.</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 padrã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
>Para o serviço do kdesu. Veja <xref linkend="sec-password-keeping"/>.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>-t</option
></term>
<listitem
><para
>Habilita a saída para o terminal. Isto desabilita a manutenção da senha. Isto é largamente usado para fins de depuração; se você deseja executar um aplicativo no modo console, use o <command
>su</command
> padrão de preferência.</para
> </listitem>
</varlistentry>
<varlistentry>
<term
><option
>-u</option
> <replaceable
>usuário</replaceable
></term>
<listitem
><para
>Embora a utilização mais comum do &kdesu; seja rodar um comando como super-usuário, você poderá indicar qualquer nome de usuário e a senha apropriada.</para>
</listitem>
</varlistentry>

</variablelist>

</chapter>

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

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

<para
>O programa que você executa rodará com o id do usuário root e normalmente não terá permissão de acesso ao seu terminal X. O &kdesu; contorna isto adicionando um cookie de autenticação para seu terminal para um arquivo <filename
>.Xauthority</filename
> temporário. Após o comano terminar, este arquivo será removido. </para>

<para
>Se você não usa cookies X, você estará em seu próprio. O &kdesu; detectará isso e não adicionará um cookie, mas você terá que certificar-se de que o root tem permissão de acesso ao seu terminal.</para>

</sect1>

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

<para
>O &kdesu; usa o <command
>su</command
> do sistema para adquirir privilégios. Nesta seção, eu explanarei os detalhes de como o &kdesu; faz isso. </para>

<para
>Uma vez que algumas das implementações do <command
>su</command
> (&ie; a da &RedHat;) não desejam obter 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 arquivos associados ao TTY.</para>

<para
>Para executar o comando o usuário selecionado, ao contrário de um shell interativo, o &kdesu; usa o argumento <option
>-c</option
> com o <command
>su</command
>. Este argumento é entendido por todo shell que eu conheço de modo que ele deve funcionar corretamente. O <command
>su</command
> passa este argumento <option
>-c</option
> para o shell alvo do usuário, e o shell executa o programa. Comando exemplo: <command
>su <option
>root -c <replaceable
>o_programa</replaceable
></option
></command
>.</para>

<para
>Ao invés de executar o comando do usuário diretamente com o <command
>su</command
>, o &kdesu; executa um pequeno programa chamado <application
>kdesu_stub</application
>. Este programa (executado como usuário alvo), solicita algumas informações do &kdesu; através do canal pty/tty (o stdin e stdout do programa) e então executa o programa do usuário. A informação passada é: o terminal X, um cookie de autenticação X (se disponível), o <envar
>PATH</envar
> e o comando a executar. A razão pela qual este pequeno programa é usado é que o cookie X é uma informação privada e deste modo não pode ser passado através da linha de comando.</para>

</sect1>

<sect1 id="password-checking">
<title
>Verificação da Senha</title>

<para
>O &kdesu; verificará a senha que você inseriu e fornecerá uma mensagem de erro se ela não estiver correta. A verificação é feita executando um programa de teste: <filename
>/bin/true</filename
>. Se ele funcionar, a senha é assumida como correta.</para>

</sect1>

<sect1 id="sec-password-keeping">
<title
>Mantendo a Senha</title>

<para
>Para seu conforto, o &kdesu; implementou um recurso para <quote
>manter senha</quote
>. Se você está preocupado com a segurança, você deve ler este parágrafo.</para>

<para
>Permitindo ao &kdesu; lembrar-se da senha abre uma (pequena) janela na segurança de seu sistema. Obviamente, o &kdesu; não permitirá ninguém além de seu id de usuário usar as senhas, mas, se feito com cautela, isto diminuirá o nível de segurança do <systemitem class="username"
>root</systemitem
> para o de um usuário normal (você). Um hacker que quebre sua conta, poderá obter acesso de <systemitem class="username"
>root</systemitem
>. O &kdesu; tenta evitar isto. O esquema de segurança que ele usa é, em minha opinião pelo menos, razoavelmente segura e está explanado aqui.</para>

<para
>O &kdesu; usa um serviço, chamado <application
>kdesud</application
>. O serviço procura num soquete &UNIX; no <filename
>/tmp</filename
> por comandos. O modo do soquete é 0600 de modo que somente seu id de usuário pode conectar à ele. Se a manutenção de senha estiver habilitada, o &kdesu; executa comandos através deste serviço. Ele escreve o comando e a senha do <systemitem class="username"
>root</systemitem
> no soquete e o serviço executa o comando usando o <command
>su</command
>, como descrito anteriormente. Após isso, o comando e a senha não são jogados fora. Ao invés disso, eles são mantidos por um determinado período de tempo. Este é o valor do tempo de espera do módulo de controle. Se outra solicitação para o mesmo comando vier dentro deste período de tempo, o cliente não precisará fornecer a senha. Para impedir que hackers que possam quebrar sua conta roubem senhas do serviço (por exemplo, atacando um depurador), o serviço é instalado com o id de grupo nogroup. Isto deve evitar que todos os usuários normais (incluindo você) obtenha a senha a partir do processo <application
>kdesud</application
>. Além disso, o serviço configurar a variável de ambiente <envar
>DISPLAY</envar
> para o valor que ela tinha quando ele iniciou. A única coisa que o hacker pode fazer é executar um aplicativo em sua tela.</para>

<para
>Um ponto fraco neste esquema é que os programas que você executa provavelmente não foram escritos com a segurança em mente (como programas setuid <systemitem class="username"
>root</systemitem
>). Isto significa que eles podem ter sobrecargas de buffer ou outros problemas e um hacker pode explorá-los.</para>

<para
>O uso do recurso de manter a senha é um disputa entre segurança e conforto. Eu o encorajo a pensar no que foi dito acima e decidir por si mesmo se deseja usá-lo ou não.</para>

</sect1>
</chapter>

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

<para
>&kdesu;</para>

<para
>Direitos autorais 2000 &Geert.Jansen;</para>

<para
>O &kdesu; é escrito por &Geert.Jansen;. Ele foi em parte baseado no &kdesu; versão 3.0 de Pietro Iglio. Pietro e eu concordamos em manter este programa no futuro.</para>

<para
>O autor pode ser encontrado através do email em &Geert.Jansen.mail;. Por favor, relate qualquer erro que encontrar para mim de modo que eu possa concertá-lo. Se você tiver uma sugestão, sinta-se à vontade para contatar-me.</para>

<para
>Tradução por Marcus Gama <email
>marcus.gama@gmail.com</email
></para
> 
&underFDL; &underArtisticLicense; </chapter>

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

