# Manual do &ksu;

Geert
Jansen

    g.t.jansen@stud.tue.nl

Lauri
Watts

    vampyr@atconnex.net

Revisão
Sérgio
Fernandes

    sergio_fernandes@rocketmail.com

Tradução
Pedro
Morais

    morais@kde.org

Revisão da Tradução
2000
Geert Jansen
2000
Sérgio Fernandes
&FDLNotice;
04/09/2000
1.00.00

O &ksu; é uma interface gráfica para o comando Unix "`su`".

KDE
su
password
root

## Introdução

Bem-Vindo ao &ksu; ! O &ksu; su é uma interface gráfica Ambiente de Trabalho KDE do para o comando UNIX "`su`". 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.

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 para mais informações , e uma análise á segurança.

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 <-> gráfica em vez de um puro programa gráfico.

## Instalação

### Descarregando

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 `ftp://skynet.stack.nl/pub/users/geertj/`.

### Compilando

O KDE su está no kdebase. Assim, ou já o tem, ou obtê-lo-á quando instalar o kdebase.

Para compilar a versão para o KDE 1.x, use:

    &dollar; ./configure
    &dollar; make
    &dollar; make install

Terá que executar o último passo como root. O processo de instalação precisa de escrever nos directorios de sistema do KDE.

## Usando o KDE su

O uso do KDE su é fácil. A sintaxe é a seguinte:

    &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

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

-c PROGRAM

  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:

      &dollar; kdesu -c "kfm -sw"

-f FILE

  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).

  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:

      &dollar; kdesu -c kdmconfig -f kdmrc

-t

  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.

-n

  Não guardar password. Isto desactiva a caixa de activação "Guardar password", no diálogo da password.

-q

  Silêncio.

-d

  Mostra informação sobre a depuração.

-v

  Imprime informação sobre a versão e sai.

-h

  Mostra alguma ajuda.

-s

  Pára o daemon kdesu. Veja .

## Configuração

O KDE su vem com um módulo de controlo chamado kcmkdesu. Pode encontrá-lo no menu KDE em Configuração->Aplicações->KDE su. Pode mudar as seguintes coisas:

- 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.

- 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.

## Internos

### Autenticação X

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 `.Xauthority`. Assim que o comando é terminado, o ficheiro é removido.

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ã.

### Interface para o su

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.

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 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".

Em vez de executar o comando do utilizador directamente com o su, o kdesu executa uma pequena porção de programa chamada `kdesu&lowbar;stub`. Esta porção (correndo como utilizador de destino), pede alguma informação ao 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.

### Verificação de Passwords

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: `/bin/true`. Se obtiver sucesso, a password é assumida como correcta.

### Guardar Passwords

Para o seu conforto, o KDE su implementou a função "guardar password". Se está interessado em segurança, deve ler este parágrafo.

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..

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ã.

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.

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.

## Autor

ksu;

Copyright 2000 Geert Jansen

O KDE su foi escrito por Geert Jansen. É de alguma maneira baseado no &ksu;, versão 0.3 do Pietro Iglio. O Pietro e eu acordamos que eu faria a manutenção deste programa no futuro.

O autor por ser contactado através do email em g.t.jansen@stud.tue.nl 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.

&underFDL; &underArtisticLicense;