<?xml version="1.0" ?> <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ <!ENTITY kappname "&tdesu;"> <!ENTITY package "tdebase"> <!ENTITY % addindex "IGNORE"> <!ENTITY % Brazilian-Portuguese "INCLUDE" > <!-- change language only here --> ]> <book lang="&language;"> <bookinfo> <title >O manual do &tdesu;</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 &tdesu; é um frontend 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 &tdesu;! O &tdesu; é um frontend gráfico 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 &tdesu; é um programa se privilégios especiais; ele usa o <command >su</command > do sistema.</para> <para >O &tdesu; 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 <-> colada a uma &GUI; do que um programa puramente &GUI;.</para> </chapter> <chapter id="using-tdesu"> <title >Usando o &tdesu;</title> <para >O uso do &tdesu; é fácil. A sintaxe é parecida com isto:</para> <cmdsynopsis ><command >tdesu</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 >tdesu</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 >tdesu <option >-c <replaceable >kfm -sw</replaceable ></option ></command ></userinput ></para ></listitem> </varlistentry> <varlistentry> <term ><option >-d</option ></term> <listitem ><para >Mostre informações de depuração.</para ></listitem> </varlistentry> <varlistentry> <term ><option >-f <replaceable >arquivo</replaceable ></option ></term> <listitem ><para >Esta opção permite um uso eficiente do &tdesu; em arquivos <filename >.desktop</filename >. Isto diz ao &tdesu; para examinar o arquivo indicado em <parameter >arquivo</parameter >. Se este arquivo puder ser alterado pelo usuário atual, o &tdesu; 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;, <application >kdm</application >, o usuário poderá emitir um <command >tdesu <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 >tdesu</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 tdesu. 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 &tdesu; 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 &tdesu; 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 &tdesu; 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 &tdesu; usa o <command >su</command > do sistema para adquirir privilégios. Nesta seção, eu explanarei os detalhes de como o &tdesu; faz isso. </para> <para >Por causa de algumas implementações do <command >su</command > (&ie; a do &RedHat;) não permitirem a leitura de senhas a partir do <literal >stdin</literal >, o &tdesu; cria um par de pty/tty e executa o <command >su</command > com seus descritores de arquivo padrão conectados ao tty.</para> <para >Para executar o comando o usuário selecionado, ao contrário de um shell interativo, o &tdesu; 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 &tdesu; executa um pequeno programa chamado <application >tdesu_stub</application >. Este programa (executado como usuário alvo), solicita algumas informações do &tdesu; 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 &tdesu; 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 &tdesu; 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 &tdesu; lembrar-se da senha abre uma (pequena) janela na segurança de seu sistema. Obviamente, o &tdesu; 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 &tdesu; 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 &tdesu; usa um serviço, chamado <application >tdesud</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 &tdesu; 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 >tdesud</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 >&tdesu;</para> <para >Direito de cópia 2000 &Geert.Jansen;</para> <para >O &tdesu; é escrito por &Geert.Jansen;. Ele foi em parte baseado no &tdesu; 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> &underFDL; &underArtisticLicense; </chapter> </book> <!-- Local Variables: mode: sgml sgml-omittag: nil sgml-shorttag: t End: -->