# O Manual do &kwuftpd;

## Introdução

Os sistemas operativos &UNIX; são talvez mais conhecidos pelo seu papel nos servidores. Pode ser difícil, contudo, para os utilizdoress configurarem os ficheiros necessários para gerir esses serviços. Ao mesmo tempo, muitos dos distribuidores compensam essa dificuldade lançando sistemas que por omissão têm configurações demasiado permissivas.

O &kwuftpd; é uma interface do &kde; para editar os ficheiros ftpaccess do wu-ftpd. O &kwuftpd; foi desenhado originalmente para o BeroFTPD 1.2.1 e foi adaptado à versão 2.6.1 do wu-ftpd encontrada na versão 7.0 do &RedHat; Linux. Se estás a usar uma versão mais recente do wu-ftpd com mais opções terás de actualizar o teu &kwuftpd; (ou editar o `ftpaccess` à mão) para tirares partido dela.

O &kwuftpd; ainda é beta; deves fazer uma cópia de segurança do teu ficheiro ftpaccess antes de o editares com o &kwuftpd;.

O &kwuftpd; foi criado pelo Bernhard Rosenkraenzer bero@redhat.com e é (c) 2000 &RedHat; Inc.

### Avisos

Para além dos avisos normais que vêm com o software (Não nos responsabilizamos por algum mal que possa ocorrer.), deve ser apontado que o &kwuftpd; controla a possibilidade dos utilizdoress se ligarem ao teu sistema e adicionarem, removerem ou modificarem ficheiros. Algumas coisas a ter em conta:

- O &kwuftpd; facilita a criação dum servidor seguro -- não garante que fique como tal. Existe uma quantidade de livros, 'sites' Web e cursos sobre segurança e os administradores devem tirar partido deles.

- Os exemplos dados nesta documentação pretendem mostrar a operação do &kwuftpd;. Não são recomendações de segurança e não devem ser tratadas como tal.

- Não te esqueças de salvaguardar o ficheiro `ftpaccess` antes de o modificares com o &kwuftpd;.

## Configuração básica de &FTP;

O &kwuftpd; só vale a pena num sistema com um servidor de &FTP; funcional. A configuração dum servidor está fora do âmbito deste documento, mas como resumo:

1. o wu-ftpd ou um servidor de &FTP; semelhante devem estar instalados. O pacote anonftp também pode ser útil para permitir o &FTP; anónimo.

2. O ficheiro `/etc/inetd.conf` deve conter uma linha do estilo:

       # ftp   stream  tcp nowait  root    /usr/sbin/tcpd  in.ftpd -l
       -a

   Descomenta esta linha retirando o # do início da linha. Se o teu sistema não tinha a linha comentada, aceita como um aviso e comenta os outros serviços que não quiseres. Reinicia o `/etc/inetd.conf` (através de ``/etc/rc.d/init.d/inet restart`` na linha de comandos do &RedHat; e sistemas semelhantes.)

## Usar o &kwuftpd;

### Iniciar o &kwuftpd;

Para lançares o &kwuftpd;, selecciona Sistema Mais Aplicações KWuFTPd do menu do &kde;. Ou escreve ``kwuftpd`` na linha de comandos. Estão disponíveis as opções normais do &Qt; e do &kde;, e são mostradas escrevendo ``kwuftpd` `--all``.

### Acerca das contas de &FTP;

O &kwuftpd; normalmente pergunta ao utilizador para distinguir entre três tipos de utilizdoress:

Anónimo

- Para usar por qualquer pessoa que possa ligar-se ao servidor; estes utilizdoress ligam-se como `ftp` ou `anonymous` e indicam como senha o seu endereço de email.

Convidado

- Os utilizdoress com contas de &FTP; no `/etc/ftpusers` mas que não tenham contas reais no sistema.

Real

- Utilizadores com contas (áreas) no sistema.

### Comandos do Menu

#### O menu Ficheiro

Ficheiro Ler o /etc/ftpaccess

- Abre o `/etc/ftpaccess`, o ficheiro normal de configuração do wu-ftpd, para o editar.

Ficheiro Ler Outro Ficheiro

- Abre um ficheiro diferente para o editar. É útil se quiseres experimentar com um ficheiro diferente antes de tornares efectivas as alterações no `/etc/ftpaccess`.

Ficheiro Gravar o /etc/ftpaccess

- Grava as alterações no ficheiro `/etc/ftpaccess`.

Ficheiro Gravar Outro Ficheiro

- Grava as alterações noutro ficheiro a especificar.

Ficheiro Sair

- Sai do &kwuftpd;.

#### O menu Ajuda

&help.menu.documentation;

### Classe de Utilizadores

O Painel Classes de Utilizadores O Painel Classes de Utilizadores

O Painel Classes de Utilizadores

Este painel permite-te criar classes de utilizdoress para certos endereços IP ou blocos de endereços e controlar os privilégios dessas classes. Por exemplo, isto permite-te dar aos utilizdoress anónimos ou convidados mais permissões se estes se ligarem de certas máquinas.

Para criares uma nova classe, carrega no botão Adicionar Classe e, na janela resultante disso, indica o nome da nova classe, os níveis de privilégios que podem pertencer a essa classe (mais acerca disto em baixo) e os endereços IP para essa classe. Um carácter `*` pode ser usado para definir um bloco de endereços. (Por exemplo `127.0.0.*` inclui todos os utilizdoress locais). Logo que esteja pronto, carrega em OK.

De volta ao painel Classes de Utilizadores, podes seleccionar uma classe e modificar a sua descrição e comportamento. O endereço IP pode ser modificado. A classe pode ser definida para incluir os utilizdoress anónimos, convidados e/ou reais desse endereço. Carregando no botão Auto-agrupar em faz com que os utilizdoress na classe sejam atribuídos ao grupo seleccionado e conferidos os seus privilégios.

O lado direito do painel permite atribuir às classes limites no número de ligações simultâneas em certos intervalos de tempo. Podes também especificar a mensagem a mostrar quando o limite de utilizdoress é excedido.

Na imagem, os utilizdoress reais que se ligam a partir de 127.0.0.* são auto-agrupados ao jsinger e só é permitido um utilizador dessa classe em cada momento.

### Directorias

O Painel Directorias O Painel Directorias

O Painel Directorias

Este painel permite-te especificar a directoria de base para os utilizdoress anónimos e convidados (os utilizdoress reais vêem o sistema de ficheiros reais). Também te permite especificar a senha e os ficheiros de senhas 'shadow' a serem usados. Se não for especificado um ficheiro, será usado o ficheiro de sistema por omissão.

Na imagem, os utilizdoress anónimos vêem o sistema de ficheiros com a sua base em `/home/ftp/pub`, enquanto que os convidados têm acesso por omissão. São usados ficheiros de senhas de &FTP; especiais em vez dos ficheiros de sistema.

### Segurança

O Painel Segurança O Painel Segurança

O Painel Segurança

Este painel permite-te definir várias opções de segurança. A janela Inacessíveis define quais os ficheiros ou directorias que não podem ser obtidos. Carrega no botão Adicionar e selecciona o ficheiro a ser bloqueado. Selecciona uma entrada e carrega em Remover para tirares o ficheiro da lista.

O Número máximo de 'logins' falhados quebra as ligações ao fim do número de tentativas de autenticação falhadas.

Seleccionando a opção Permitir o comando SITE GROUP permite aos utilizdoress mudarem o grupo a que pertencem com o comando ``SITE` `GROUP``.

A permissão de usar os comandos `chmod`, `delete`, `overwrite`, `rename` e `umask` pode ser extendida ou negada aos utilizdoress anónimos, convidados e/ou reais.

Os utilizdoress anónimos devem fornecer o seu endereço de email como a senha. O nível de obrigação pode ser controlado.

Não

- Não há verificação da senha dada.

trivial

- A senha tem de conter um carácter @.

RFC822

- A senha tem de estar na forma de um endereço válido.

Se o botão Aplicar estiver seleccionado, as ligações que falhem o teste serão negadas; caso contrário será dado um aviso.

Na imagem, as directorias `/bin` e `/sbin` e o ficheiro `/etc/passwd` são proibidos de serem obtidos. As ligações são quebradas ao fim de 5 falhanços, o comando ``SITE` `GROUP`` é proibido, os comandos são proibidos aos utilizdoress anónimos e permitidos aos utilizdoress convidados e reais. Os utilizdoress que não enviem endereços de email em conformidade com o RFC822 são avisados.

### Mensagens

O Painel Mensagens O Painel Mensagens

O Painel Mensagens

Este painel permite-te especificar as mensagens a serem mostradas ao utilizador ligado.

Selecciona um ficheiro para a mensagem a mostrar na ligação (antes da autenticação). Alguns clientes extremamente antigos de &FTP; podem ficar confusos com esta mensagem.

O nome da máquina pode ser especificado. Isto será comunicado ao utilizador na autenticação, e pode ser inserido noutras mensagens (como %L). Se não for indicado outro nome, será usado o verdadeiro nome da máquina.

De modo igual, pode ser definido o endereço de email do administrador para inserir nas mensagens (como %E).

Assinala as opções para que as mensagens e os `README`s sejam mostrados ao utilizador sempre que o evento que os desencadeia ocorra (será explicado em baixo); caso contrário só serão mostrados da primeira vez.

Carrega no botão Adicionar Mensagem para indicar o textoa ser mostrado ao utilizador. Ser-te-á perguntada a localização do ficheiro de texto, se será mostrado ao se ligar um utilizador ou na mudança para uma dada directoria e se é mostrado para todas as classes de utilizdoress ou se só para algumas.

Da mesma maneira, o utilizador pode ser notificado dos ficheiros `README` ao se ligar ou ao mudar para uma directoria.

Na imagem, o texto em `/home/ftp/welcome.txt` será mostrado quando um utilizador se ligar. A máquina `camelot` e o endereço do administrador jsinger@leeta.net será inserido nas mensagens mas ainda não se definiram as mensagens ou os `README`s.

### Registo

O Painel Registo O Painel Registo

O Painel Registo

Este painel permite-te controlar quais as actividades que serão registadas (no ficheiro `/var/log/xferlog`). Os utilizdoress anónimos, convidados e reais podem ter diferentes tipos de eventos registados, incluindo os comandos introduzidos, os envios, obtenções e violações de segurança (como autenticações falhadas).

Se seleccionares Redireccionar o registo para o syslog os registos vão para o ficheiro de registo do sistema em vez de ir para o do &FTP;.

Pode ser enviado um 'email' para o administrador quando são enviados ficheiros para o servidor. O endereço `From:` das mensagens, o servidor de email e o endereço do administrador podem ser indicados.

Na imagem, todos os comandos e transferências são registados, assim como as violações de segurança dos utilizdoress reais. Os envios são assinalados por uma mensagem ao admin de Aviso de Envio enviado através do servidor de email por omissão.

### Rácios

O Painel Rácios O Painel Rácios

O Painel Rácios

Este painel permite-te restringir a utilização dos utilizdoress anónimos e convidados. Cada uma destas restrições podem ser aplicadas aos utilizdoress anónimos ou convidados.

Rácio de upload/download

- Por exemplo, se definires isto como 1:5 significa que os utilizdoress têm de enviar 1 megabyte por cada 5 megabytes recebidos. A definição disto para um valor óptimo é a chave para o teu sucesso como um aspirante de 'w4r3z kiddi3'.

Limite de tempo

- Permite aos utilizdores ligarem-se por este período de tempo.

Limite de upload

- Define o número máximo de 'bytes' que podem ser enviados por sessão.

Limite de download

- Define o número máximo de 'bytes' que podem ser recebidos por sessão.

Os ficheiros e directorias podem ser excluídos dos limites de envios e recepções.

Na imagem, os rácios estão desligados, os utilizdoress anónimos podem-se ligar por 15 minutos, a 10 megabytes de 'downloads' por ligação.

### 'Uploads'

O Painel Uploads O Painel Uploads

O Painel Uploads

Este painel permite-te controlar onde e como os utilizdoress podem deixar os seus ficheiros. Carrega em Adicionar para um novo conjunto de regras, Editar para modificar o conjunto escolhido e Apagar para removeres o conjunto seleccionado.

Cada conjunto aplica-se aos utilizdoress com uma dada directoria de base e afecta-se a uma directoria de envio ('upload'). A directoria de envio pode ser abrangente (por exemplo, o `/home/ftp/upload/*` inclui todo o conteúdo de `/home/ftp/upload`).

Os envios podem ser permitidos ou proibidos, e as permissões dos ficheiros criados e o seu dono e grupo podem ser alterados. A capacidade criar novas directorias dentro da directoria em questão pode ser permitida ou não.

### Servidores Virtuais

O Painel Servidores Virtuais O Painel Servidores Virtuais

O Painel Servidores Virtuais

Os seguintes itens podem ser especificados para cada endereço:

Directoria raiz

- O que o utilizador ligado vê como o sistema de ficheiros de base (`/`).

Anúncio

- Um ficheiro cujo conteúdo será mostrado ao utilizador quando se ligar. A localização do ficheiro é relativa à raiz definida em cima.

Registo

- As transferências serão registadas neste ficheiro.

Ficheiro passwd

- Pode ser especificado um ficheiro de senhas alternativo. Caso contrário o ficheiro de senhas do sistema será usado.

Ficheiro shadow

- Pode ser especificado um ficheiro de senhas 'shadow' alternativo. Caso contrário o ficheiro de senhas 'shadow' do sistema será usado.

Nome do servidor

- O nome do servidor que é mostrado ao utilizador quando se liga e é inserido como %L nos ficheiros de mensagem.

Email do administrador

- O endereço de email a ser inserido como %E nos ficheiros de mensagem.

As ligações anónimas podem ser permitidas ou não.

O acesso dos utilizdoress reais pode ser permitido ou recusado no servidor virtual. Pode também ser permitido ou negado o acesso a um utilizador específico.

Na imagem, o servidor virtual `211.22.55.114` tem o sistema de ficheiros com a raiz em `/home/ftp/virtual` no sistema de ficheiros real. Usa ficheiros de senhas normais e 'shadow' separados em `/home/ftp`, mostra como o nome da máquina `ganesh` e como endereço do administrador root; permite ligações anónimas assim como ligações de todos os utilizdoress reais.

## Créditos e Licenças

&kwuftpd;

Aplicação escrita por Bernhard Rosenkraenzer bero@redhat.com, e é copyright 2000 &RedHat;, Inc.

Documentação copyright 2000 by Jonathan Singer jsinger@leeta.net.

Tradução de José Nuno Pires jncp@netcabo.pt

&underFDL; &underGPL;

## Instalação

&install.intro.documentation;

Para obteres o &kwuftpd; em separado, ele faz parte do pacote kdeadmin e deve ser compilado e instalado tal como é indicado na directoria principal do pacote. Podem ser obtidas as novas versões do kdeadmin em ftp://ftp.kde.org/pub/.

&install.compile.documentation;

Também precisas dum ftpd que possa tratar os ficheiros ftpaccess gerados - o &kwuftpd; foi desenhado para o wu-ftpd 2.6.1 (ftp://ftp.wu-ftpd.org/pub/wu-ftpd/) Podes também usar os ficheiros com o wu-ftpd 2.5.0, mas não esperes que tudo funcione.