<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook V3.1-Based Variant V1.0//EN">
<book lang="pt">
<bookinfo>
<title>Manual do KDE su</title>
<authorgroup>
<author>
<firstname>Geert</firstname>
<surname>Jansen</surname>
<affiliation>
<address><email><ulink url="mailto:g.t.jansen@stud.tue.nl">g.t.jansen@stud.tue.nl</ulink></email></address>
</affiliation>
</author>
</authorgroup>
<date>23/05/2000</date>
<releaseinfo>Versão 1.1.2</releaseinfo>
<para>
Tradução da documentação por Sérgio Fernandes <email>sergio_fernandes@rocketmail.com</email>
</para>
<abstract>
<para>Esta é a documentação oficial do KDE su.</para>
</abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>su</keyword>
<keyword>password</keyword>
<keyword>root</keyword>
</keywordset>
</bookinfo>
<chapter id="Introduction">
<title>Introdução</title>
<para>Bem-Vindo ao KDE su ! O KDE su é uma máscara gráfica, para o comando UNIX "su", do Ambiente de Trabalho KDE.
Permite-lhe executar um programa, como um utilizador diferente, fornecendo a password desse utilizador. O KDE su é um
programa sem previlégios; usa o su do sistema.</para>
<para>O KDE su tem uma função adicional: pode recordar passwords. Se está a usar esta funcionalidade, necessita apenas
de introduzir a password uma vez para cada comando. Veja <xref linkend="secpasswordkeeping"> para mais informações
, e uma análise á segurança.</para>
<para>Este programa está pensado para ser iniciado a partir da linha de comandos, ou de ficheiros .desktop. Embora seja
pedida a password do root usando um diálogo Gráfico, eu considero-o como sendo mais uma linha de comando &lt;-&gt;
gráfica em vez de um puro programa gráfico.</para>
</chapter>
<chapter id="Installation">
<title>Instalação</title>
<sect1 id="downloading">
<title>Descarregando</title>
<para>O KDE su está no CVS do KDE, em kdebase. Deverá ser incluido em todas as distribuições KDE (2.X). Pode ainda obter
uma versão para o KDE 1.x a partir da da minha homepage em <literal
remap="tt">ftp://skynet.stack.nl/pub/users/geertj/</literal>. </para> </sect1>
<sect1 id="compiling">
<title>Compilando</title>
<para>O KDE su está no kdebase. Assim, ou já o tem, ou obtê-lo-á quando instalar o kdebase.</para>
<para>Para compilar a versão para o KDE 1.x, use:</para>
<para><programlisting>&dollar; ./configure
&dollar; make
&dollar; make install 
 </programlisting>
</para>
<para>Terá que executar o último passo como root. O processo de instalação precisa de escrever nos directorios de
sistema do KDE.</para>
</sect1>
</chapter>
<chapter id="UsingKDEsu">
<title>Usando o KDE su</title>
<para>O uso do KDE su é fácil. A sintaxe é a seguinte:</para>
<para><programlisting>&dollar; kdesu &lsqb;USER&rsqb; &lsqb;-ntqd&rsqb; &lsqb;-f FILE&rsqb; -c
 COMMAND &lsqb;ARG1 &lsqb;ARG2 &lsqb;...&rsqb;&rsqb;&rsqb;
&dollar; kdesu -v|-h|-s
 </programlisting>
</para>
<para>As opções da linha de comandos são explicadas em baixo.</para>
<para><variablelist>
<varlistentry>
<term>-c PROGRAM</term>
<listitem>
<para>Isto especifica que o programa é corrido como root. Tem de ser passado em um argumento. Assim se, por exemplo
deseja iniciar um novo gestor de ficheiros, introduziria no prompt:
<programlisting>&dollar; kdesu -c "kfm -sw"
  </programlisting>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-f FILE</term>
<listitem>
<para>Esta opção permite um uso eficiente do KDE su nos ficheiros .desktop. Isto diz ao KDE su para examinar o ficheiro
especificado por FILE. Se este ficheiro pode ser alterado pelo utilizador corrente, O KDE su executará o comando como
utilizador corrente. Se não puder ser alterado, o comando é executado como utilizador USER (por defeito será root).</para>
<para>FILE é avaliado da seguinte maneira: se FILE começa com um "/", é tomado como um nome de ficheiro absoluto. De
outra maneira, é tomado como nome de um ficheiro de configuração global do KDE. Por exemplo: para configurar o gestor de
ecrã do KDE, kdm, pode emitir um: </para>
<para><programlisting>&dollar; kdesu -c kdmconfig -f kdmrc
  </programlisting>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-t</term>
<listitem>
<para>Permite enviar para o terminal. Isto desactiva a memorização de passwords. Isto é largamente usado para efeitos de
depuração; se deseja executar uma aplicação em modo consola, use o "su" standard.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-n</term>
<listitem>
<para>Não guardar password. Isto desactiva a caixa de activação "Guardar password", no diálogo da password.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-q</term>
<listitem>
<para>Silêncio.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-d</term>
<listitem>
<para>Mostra informação sobre a depuração.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-v</term>
<listitem>
<para>Imprime informação sobre a versão e sai.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-h</term>
<listitem>
<para>Mostra alguma ajuda.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-s</term>
<listitem>
<para>Pára o daemon kdesu. Veja <xref linkend="secpasswordkeeping">.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</chapter>
<chapter id="Configuration">
<title>Configuração</title>
<para>O KDE su vem com um módulo de controlo chamado kcmkdesu. Pode encontrá-lo no menu KDE em
Configuração-&gt;Aplicações-&gt;KDE su. Pode mudar as seguintes coisas:</para>
<para><itemizedlist>
<listitem>
<para>Modo de eco. Isto define como os caracteres que tecla são ecoados no ecrã. As escolhas possiveis são: uma estrela
por letra, três estrelas ou sem eco. O valor por defeito é uma estrela por letra.</para>
</listitem>
<listitem>
<para>Guardar passwords. Pode instruir o KDE su para recordar passwords que introduz, activando  a caixa de activação
"guardar password". Se estiver activada, pode introduzir um tempo limite no campo de texto por debaixo. Este é o total
de tempo, em minutos, que a password será recordada. O valor por defeito é não guardar passwords. </para>
</listitem>
</itemizedlist>
</para>
</chapter>
<chapter id="Internals">
<title>Internos</title>
<sect1 id="x-authentication">
<title>Autenticação X</title>
<para>O programa que executa correrá sobre a id de utilizador root e geralmente não terá autorização para aceder ao seu
ecrã X. O KDE su contorna isto adicionando uma cookie de autenticação para o seu ecrã para um ficheiro temporário <literal remap="tt">.Xauthority</literal>.
Assim que o comando é terminado, o ficheiro é removido.</para>
<para>Se não cookies X, está por sua conta. O KDE su detectará isto e não adicionará uma cookie, mas deve certificar-se
que é permitido ao root aceder ao seu ecrã.</para>
</sect1>
<sect1 id="interface-to-su">
<title>Interface para o su</title>
<para>O KDE su usa o "su" do sistema para obter previlégios. Neste parágrafo serão explicados os detalhes de como o
kdesu faz isto.</para>
<para>Porque algumas das implemantações do su (i.é. a do RedHat) não querem ler a password a partir do stdin, o KDE su
cria  um par pty/tty e executa o "su" com os seus descritores de ficheiros ligados ao tty.</para>
<para>Para executar o comando seleccionado pelo utilizador, em vez de uma shell interactiva, o kde su usa o argumento
"-c" com o su. Este argumento é entendido por todas as shells conhecidas, por isso deve funcionar portávelmente. O su
passa o argumento "-c" para a shell de destino do utilizador, e a shell executa o programa. Comando de exemplo:"su root
-c the&lowbar;program".</para>
<para>Em vez de executar o comando do utilizador directamente com o su, o kdesu executa uma pequena porção de programa
chamada <literal remap="tt">kdesu&lowbar;stub</literal>. Esta porção (correndo como utilizador de destino), pede alguma
informação do kdesu sobre o canal pty/tty (a porção stdin e stdout) e a seguir executa o programa do utilizador. A
informação recebida é: o ecrã X, uma cookie de autenticação X (se existente), o PATH e o comando a executar. A razão
porque é usada uma porção de programa é que a cookie 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 Passwords</title>
<para>O KDE su verificará a password que introduziu e dá uma mensagem de erro se não for correcta. A verificação é feita
executando um programa de teste: <literal remap="tt">/bin/true</literal>. Se obtiver sucesso, a password é assumida como
correcta.</para> </sect1>
<sect1 id="secpasswordkeeping">
<title>Guardar Passwords</title>
<para>Para o seu conforto, o KDE su implementou a função "guardar password". Se está interessado em segurança, deve ler
este parágrafo.</para>
<para>Permitindo que o KDE su recorde passwords abre um buraco (pequeno) na segurança do seu sistema. Obviamente, o KDE
não permite que qualquer um mas apenas os id de utilizador use as passwords, mas, se feito sem precauções, isto irá
diminuir o nivel de segurança do root para um utilizador normal(você). Um hacker que entrar na sua conta, obterá acesso
root. O KDE su tenta prevenir isto. O esquema de segurança que usa é, razoávelmente seguro e é explicado aqui..</para>
<para> O KDE su usa um daemon, chamado kdesud. O daemon escuta um socket UNIX em /tmp por comandos. O modo do socket é
0600 de maneira a que apenas a sua id de utilizador pode ligar-se a ele. Se a opção guardar password estiver activada, o
KDE su executa os comandos através deste daemon. Escreve o comando e a password do root para o socket e o daemon executa
o comando usando o "su", como descrito anteriormente. Depois disto, o comando e a password nã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 periodo de tempo, o cliente não tem de fornecer a password. Para não deixar hackers
que entram na sua conta roubar passwords do daemon (por exemplo, anexando um depurador), o daemon é instalado com
set-group-id nogroup. Isto deve fazer com que os utilizadores normais (incluindo você) não consigam obter passwords do
processo kdesud. O daemon, ainda define a variável de ambiente DISPLAY para o valor que tinha quando foi iniciado. A
unica coisa que um hacker pode fazer é executar uma aplicação no seu ecrã.</para>
<para>Um ponto fraco neste esquema é que os programas que executa não são escritos provávelmente tendo em mente a
segurança (como os programas que definem um setuid root). Isto significa que eles podem ter sobrecargas de buffer ou
outros problemas, e um hacker pode explorar estes.</para>
<para>O uso da função guardar password é um compromisso entre conforto e segurança. É encorajado a pensar sobre isto e
decidir por si, se quer usar isto ou não.</para>
</sect1>
</chapter>
<chapter id="Author">
<title>Autor</title>

<para>O KDE su foi escrito por Geert Jansen. É de alguma maneira baseado no KDE su, versão 0.3 do Pietro Iglio. O Pietro
e eu acordamos que eu continuaria este programa no futuro.</para>

<para>O autor por ser contactado através do email em &lt;g.t.jansen@stud.tue.nl&gt;.
Por favor relate quaisquer bugs que encontrar a mim, de maneira a que eu os possa arranjar. Se tem uma sugestão,
sinta-se á vontade para me contactar.</para>
</chapter>
</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
End:
-->
