Ei pessoal vamos começar instalando o PROFTPD
Não é difícil instalar o Proftpd, basta procurar pelo pacote "proftpd" na distribuição usada, como em:
# apt-get install proftpd
# yum install proftpd
ou:
# urpmi proftpd
# yum install proftpd
ou:
# urpmi proftpd
No
Debian, durante a instalação do pacote do Proftpd, geralmente são
feitas algumas perguntas. A primeira é se você deseja deixar o servidor
FTP ativo em modo standalone ou em modo inetd.
O standalone
é mais seguro e mais rápido, enquanto o inetd faz com que ele fique
ativo apenas quando acessado, economizando cerca de 400 KB de memória
RAM (que fazem pouca diferença hoje em dia). O modo standalone é a opção
recomendada.
Você terá também a opção de ativar o acesso anônimo,
que permite acessos anônimos (somente leitura) na pasta "/home/ftp",
onde você pode disponibilizar alguns arquivos para acesso público. Nesse
caso, os usuários fazem login no servidor usando a conta "anonymous"
e um endereço de e-mail como senha. Caso prefira desativar o acesso
anônimo, apenas usuários com login válido na máquina poderão acessar o
FTP.
Depois
de concluída a instalação, o servidor fica ativo por default, é
inicializado automaticamente durante o boot e pode ser controlado
manualmente através do serviço "proftpd", como em "/etc/init.d/proftpd start".
A configuração manual do servidor FTP é feita através do arquivo "/etc/proftpd/proftpd.conf".
Um arquivo configurado no CentOS pode ser usado no Mandriva (por
exemplo), ou vice-versa; afinal, independentemente de estar usando o
Debian, Fedora ou o Mandriva, o proftpd será sempre o mesmo.
Sempre que fizer alterações no arquivo, reinicie o servidor para que elas entrem em vigor. Para isso, use o comando "/etc/init.d/proftpd restart".
No
caso do Debian Etch e do Ubuntu 6.10 em diante, o servidor é
configurado para utilizar endereços IPV6 por padrão, o que faz com que
ele exiba uma mensagem de erro e aborte a inicialização caso você não
tenha configurado a rede IPV6.
Para solucionar o problema, abra o arquivo "/etc/proftpd.conf" e substitua a linha:
UseIPv6 on
por:
UseIPv6 off
Uma das primeiras opções do arquivo é a opção Port,
que permite alterar a porta usada pelo FTP. O padrão é usar a porta 21,
mas muitos serviços de banda larga bloqueiam as portas 21 e 80 para que
os usuários não rodem servidores. Nesse caso, você pode mudar para a
porta 2121, por exemplo:
# Port 21 is the standard FTP port.
Port 2121
Port 2121
Ao mudar a porta padrão do servidor, os
usuários precisarão indicar manualmente a porta no cliente de ftp ou
navegador, como em: ftp://200.234.213.23:2121.
Em seguida, vem a opção MaxClients,
que limita o número de conexões simultâneas ao servidor FTP. Esta opção
trabalha em conjunto com a limitação de banda (veja a seguir). Você
pode limitar os downloads de cada usuário a um máximo de 10 KB/s e limitar o servidor a 3 usuários simultâneos, por exemplo. Assim, o FTP consumirá um máximo de 30 KB/s do link do servidor.
MaxClients 30
Se você quiser limitar o acesso dos usuários, prendendo-os em seus respectivos diretórios home, adicione a linha "DefaultRoot ~"
no final do arquivo. Lembre-se de que no Linux o "~" é um curinga, que é
automaticamente substituído pela pasta home do usuário que está logado:
DefaultRoot ~
Para ativar a limitação de banda, adicione a linha "TransferRate RETR 8:10", onde o "8" pode ser substituído pela taxa desejada, em KB/s, por usuário:
TransferRate RETR 8:10
A princípio, apenas os usuários que
tiverem logins válidos no servidor poderão acessar o FTP. Caso você
queira abrir um FTP público, adicione estas linhas no arquivo de
configuração. Elas ficam comentadas no arquivo original:
<Anonymous ~ftp>
User ftp
Group nogroup
UserAlias anonymous ftp
DirFakeUser on ftp
DirFakeGroup on ftp
RequireValidShell off
MaxClients 20
DisplayLogin welcome.msg DisplayFirstChdir .message
<Directory *>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
User ftp
Group nogroup
UserAlias anonymous ftp
DirFakeUser on ftp
DirFakeGroup on ftp
RequireValidShell off
MaxClients 20
DisplayLogin welcome.msg DisplayFirstChdir .message
<Directory *>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
<Directory incoming>
Umask 022 022
<Limit READ WRITE>
DenyAll
</Limit>
Umask 022 022
<Limit READ WRITE>
DenyAll
</Limit>
<Limit STOR>
AllowAll
</Limit>
</Directory> </Anonymous>
AllowAll
</Limit>
</Directory> </Anonymous>
A linha "MaxClients"
determina o número máximo de usuários anônimos que poderão se logar
simultaneamente no servidor. Essa opção é separada da MaxClients
principal, que limita o número de usuários com login válido. Você pode
permitir 30 usuários válidos e mais 20 anônimos, por exemplo.
A opção "DisplayLogin welcome.msg"
indica a mensagem de boas-vindas que é mostrada quando os usuários
fazem login no FTP. Por padrão, é exibido o conteúdo do arquivo "/home/ftp/welcome.msg".
Os usuários anônimos têm acesso apenas aos arquivos dentro da pasta "/home/ftp",
que é visto pelo cliente FTP como o diretório raiz do servidor. Graças a
isso, eles não têm como ver, muito menos alterar outros arquivos do
sistema.
A seção "Directory incoming" mais
abaixo cria uma pasta de upload (por padrão a "/home/ftp/incoming"),
onde os anônimos poderão dar upload de arquivos. A idéia é que você veja
periodicamente o conteúdo da pasta e mova o que for útil para a pasta
"/home/ftp", para que o arquivo fique disponível para download.
Por padrão, os anônimos não podem ver o
conteúdo da pasta incoming, podem apenas dar upload. Se necessário, crie
a pasta incoming usando os comandos:
# mkdir /home/ftp/incoming
# chown nobody:nogroup /home/ftp/incoming
# chown nobody:nogroup /home/ftp/incoming
Para acessar o seu servidor, os clientes
devem usar o login "anonymous" ou "ftp", usando um endereço de e-mail
qualquer como senha.
Uma medida comum ao ativar o upload para
os usuários anônimos é usar uma partição separada para o FTP, para
evitar que algum engraçadinho fique dando upload durante a madrugada até
lotar o HD do servidor. Nesse caso, você precisa apenas adicionar uma
linha no arquivo "/etc/fstab" para que a partição desejada seja
montada durante o boot. Esta linha de exemplo montaria a partição
/dev/hda3, formatada em ReiserFS na pasta /home/ftp:
Agora vamos instalar o Samba:
Instalando os pacotes
Faça o download da última versão do Samba disponível no site:
Copie o arquivo para o diretório /tmp e depois o descompacte usando:
# tar -zxvf samba-3.0.4.tar.gz
Acesse o diretório do samba-3.0.4 que foi criado e leia a documentação, ela pode lhe dar uma idéia do que deseja fazer.
Agora acesse o diretório source e faça:
# ./configure --prefix=/usr/local/samba
(crie o diretório samba se ele não existir)
# make
# make install
Depois dessa fase precisaremos configurar o SWAT, que é um programa usado para configurar o Samba em modo gráfico. Acrescente a seguinte linha ao arquivo /etc/services:
Depois dessa fase
precisaremos configurar o SWAT, que é um programa usado para configurar o
Samba em modo gráfico. Acrescente a seguinte linha ao arquivo
/etc/services:
swat 901/tcp # swat
Depois acrescente a seguinte linha ao arquivo /etc/inetd.conf:
swat stream tcp nowait.400 root /usr/sbin/tcpd /usr/local/samba/sbin/swat swat
Agora finalize o processo inetd:
# killall -HUP inetd
Agora vamos testar o SWAT para ver se ele está funcionando corretamente, abra o browser e digite:
http://localhost:901
Configurando o arquivo smb.conf
O smb.conf é o arquivo de configuração do Samba, este arquivo
pode ser configurado pelo programa Swat ou manualmente usando um editor
de textos como o vi e está localizado no diretório /etc. O arquivo é
composto por seções e parâmetros. As seções descrevem recursos
compartilhados (exceto a [global]) e são representadas por colchetes e
os parâmetros, dentro das seções, representam os atributos dos
compartilhamentos. Há três seções especiais:
Esta é apenas uma configuração básica de um diretório e uma impressora como recursos compartilhados:
# vi /etc/samba/smb.conf
- [global] - São parâmetros que serão aplicados ao servidor como um todo.
- [home] - Disponibiliza o diretório /home dos usuários.
- [printers] - Disponibiliza o acesso a qualquer impressora especificada e conectada à máquina local.
Esta é apenas uma configuração básica de um diretório e uma impressora como recursos compartilhados:
# vi /etc/samba/smb.conf
# Configuração do Servidor Samba
# Data: 30/06/2004
# Parâmetros Globais
[global]
netbios name = DEBIAN
workgroup = OSDORMESUJO
server string = Servidor Samba
security = user
encrypt passwords = yes
log file = /var/log/samba/samba.log
# Parâmetros Locais
[arquivos]
comment = Arquivos de usuários
path = /home/arquivos
public = no
read only = yes
create mode = 0740
directory mode = 0740
# Impressoras Compartilhadas
[Epson]
printable = yes
print command = /usr/bin/lpr -P%p -r %s
printer = lp
printing = BSD
path = /var/spool/lpd/lp
# Data: 30/06/2004
# Parâmetros Globais
[global]
netbios name = DEBIAN
workgroup = OSDORMESUJO
server string = Servidor Samba
security = user
encrypt passwords = yes
log file = /var/log/samba/samba.log
# Parâmetros Locais
[arquivos]
comment = Arquivos de usuários
path = /home/arquivos
public = no
read only = yes
create mode = 0740
directory mode = 0740
# Impressoras Compartilhadas
[Epson]
printable = yes
print command = /usr/bin/lpr -P%p -r %s
printer = lp
printing = BSD
path = /var/spool/lpd/lp
Post extra :
Criando usuario no Terminal:
Imagine
agora que você quer uma configuração um pouco mais complexa, com vários
usuários, cada um tendo acesso a apenas uma pasta específica. Esta
configuração pode ser usada em conjunto com os virtual hosts do Apache
(permitindo que os responsáveis
possam atualizar os arquivos do site), ou em situações em que seu
servidor hospeda arquivos de diversos usuários ou projetos diferentes.
O responsável pelo projeto1 pode dar upload para a pasta "/home/ftp/projeto1"
(por exemplo), mas não deve ter acesso a outras pastas nem a outros
arquivos do sistema. Os usuários anônimos terão acesso às pastas
de todos os projetos, mas, naturalmente, apenas para leitura.
A
forma mais simples de fazer isso é criar os usuários que terão acesso
ao FTP, colocando a pasta a que terão acesso como seu diretório home e
bloqueando o uso do shell, para que eles não possam acessar o servidor
remotamente
através de outros meios (via ssh, por exemplo).
Vamos
começar adicionando no arquivo a opção que prende os usuários nos seus
diretórios home. Abra o arquivo "/etc/proftpd.conf" e adicione (no final
do arquivo) a linha:
DefaultRoot ~
Você
vai precisar adicionar também a seção para liberar o acesso anônimo ao
ftp, que vimos acima. Como queremos apenas que os mantenedores dos
projetos possam dar upload de arquivos, remova a seção "<Directory
incoming>". A seção vai ficar:
<Anonymous ~ftp>
User ftp
Group nogroup
UserAlias anonymous ftp
DirFakeUser on ftp
DirFakeGroup on ftp
RequireValidShell off
MaxClients 20
DisplayLogin welcome.msg DisplayFirstChdir .message
<Directory *>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
</Anonymous>
User ftp
Group nogroup
UserAlias anonymous ftp
DirFakeUser on ftp
DirFakeGroup on ftp
RequireValidShell off
MaxClients 20
DisplayLogin welcome.msg DisplayFirstChdir .message
<Directory *>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
</Anonymous>
O diretório padrão do FTP, onde os usuários anônimos terão acesso aos arquivos, é a "/home/ftp". Em outras distribuições pode ser usada a pasta "/var/ftp"; dê uma olhada em como o arquivo vem configurado por
padrão.
De volta à configuração, vamos começar criando subpastas para cada projeto:
# mkdir /home/ftp/projeto1
# mkdir /home/ftp/projeto2
# mkdir /home/ftp/projeto3 etc...
# mkdir /home/ftp/projeto2
# mkdir /home/ftp/projeto3 etc...
O
próximo passo é ir adicionando os usuários no sistema, tendo o cuidado
de fazer as alterações no diretório home e no shell padrão, para que
eles tenham acesso somente via FTP e apenas à pasta desejada.
Para adicionar os usuários, use o comando "adduser", como se estivesse criando uma conta normal:
# adduser projeto1
Acrescentando usuário projeto1...
Acrescentando novo grupo projeto1 (1005).
Acrescentando novo usuário projeto1 (1005) com grupo projeto1.
Criando diretório pessoal /home/projeto1.
Copiando arquivos de /etc/skel
Acrescentando novo grupo projeto1 (1005).
Acrescentando novo usuário projeto1 (1005) com grupo projeto1.
Criando diretório pessoal /home/projeto1.
Copiando arquivos de /etc/skel
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Retype new UNIX password:
passwd: password updated successfully
Veja
que por padrão ele cria a pasta "/home/projeto1", que passa a ser o
diretório home do usuário criado. Entretanto, neste caso queremos que o
home seja a pasta "/home/ftp/projeto1", onde ele dará upload dos
arquivos.
Para alterar isso, abra o arquivo "/etc/passwd", onde ficam guardadas as informações dos usuários. Na última linha do arquivo você verá:
projeto1:x:1005:1005:,,,:/home/projeto1:/bin/bash
Vamos alterar o "/home/projeto1" para "/home/ftp/projeto1" (para trocar o home) e o "/bin/bash" para "/bin/false",
de forma a impedir que usuário tenha acesso ao shell do servidor e
possa executar
comandos (fazendo o que não deve no servidor). Se você preferir que,
além do acesso via ftp, os usuários tenham acesso via ssh, então
mantenha o "/bin/bash". Depois das alterações, a linha ficará:
projeto1:x:1005:1005:,,,:/home/ftp/projeto1:/bin/false
EXTRAÇÃO:
http://www.vivaolinux.com.br/artigo/Instalando-e-configurando-o-servidor-Samba?pagina=3
http://www.vivaolinux.com.br/artigo/Instalando-e-configurando-o-servidor-Samba?pagina=2
http://www.vivaolinux.com.br/artigo/Instalando-e-configurando-o-servidor-Samba
http://www.hardware.com.br/livros/servidores-linux/criando-usuarios.html
Nenhum comentário:
Postar um comentário
deixe seu comentario .. Faça um login aqui