segunda-feira, 30 de novembro de 2009

"Aquele, pois, que sabe fazer o bem e não o faz, comete pecado."
Tiago 4:17

A História do Google em apenas 2 minutos

Frase do Dia

Se for possível, quanto estiver em vós, tende paz com todos os homens. 
Romanos 12:18

sexta-feira, 27 de novembro de 2009

Seguidores, Orkut e Twitter

Quem quiser se juntar e acompanhar o trabalho deste autor, favor acesar as opções abaixo.
Ou se preferir seguir diretamente este blog, procure a sessão seguidores do lado esquedo e cadastre-se lá.




Frase do Dia

"A Natureza é inexorável, 
e vingar-se-á completamente de uma tal violação de suas leis.”
Ghandi

terça-feira, 24 de novembro de 2009

Charge do Dia

Frase do Dia

"Ninguém é tão grande que não possa aprender,
nem tão pequeno que não possa ensinar"
(Anônimo)

segunda-feira, 23 de novembro de 2009

Instalando e Configurando um Servidor LAMP - Linux Apache Mysql e PHP + Phpmyadmin


Seguindo a Série de Artigos para serem utilizados em sala de aula, desta vez apresentaremos um conjunto de Servidores que juntos é denominado de LAMP - Linux, Apache, Mysql e PHP.
Este conjunto de servidores, mais o banco de dados Mysql e a Linguagem de programação PHP faz uma suíte perfeita de hospedagem de sites e portais.
Vamos instalar o LAMP e ainda mais, vamos instalar também um gerenciador completo do banco de dados do Mysql chamado de phpmyadmin.
Com estes servidores você é capaz de manter e gerenciar portais feitos com CMS como o Mambo, Joomla, XOOPS e PHP-NUKE.

Para instalar o LAMP é bastante simples:
# apt-get install apache2 mysql-server-5.0 phpmyadmin php5


Testando:
Em um browser, coloque o IP da máquina:
http://ip.do.servidor
Deve aparecer a palavra It works!. Isso quer dizer que o apache está operacional.

Para testar o PHP e Mysql juntos, use o Phpmyadmin. Lembre-se da senha que você atribuiu na instalação do LAMP. Para acessar coloque:

http://ip.do.servidor/phpmyadmin
usuário: root
senha: a senha que você atribuiu na instalação

A ferramenta Phpmyadmin é completa.
Com ela você é capaz de gerenciar todas as funções do banco de dados Mysql.

Referências:
Artigo sobre apache

Frase do Dia

"Quando apontares um dedo,
lembra-te de que há três dedos virados para ti... "
(Provérbio Inglês)

Instalando e Configurando um Servidor Web com Apache


Seguindo a Série de Artigos para serem utilizados em sala de aula, desta vez apresentaremos o servidor Web mais utilizado no mundo inteiro: O Apache.
O Servidor Web Apache é robusto e seguro e de longe é um dos projetos mais ativos e promissores do mundo do Software Livre.
O projeto tem sua página oficial em http://www.apache.org/
Além disso o projeto Apache abriga diversos outros projetos de sucesso como o Tomcat e o SpamAssassin.

Arquivo de Configuração:
/etc/apache2/apache2.conf

Daemon:
/etc/init.d/apache2

Porta Tcp: 80

1 - Instalando o Apache
# apt-get install apache2

Depois disso, pode ir a algum browser do tipo (Firefox ou Internet Explorer) e digitar:
http://ip.do.servidor

Exemplo:
http://192.168.0.1

Porém esta é uma configuração muito básica. Neste teste irá apenas aparecer uma página com os dizeres... "It works!" dizendo que o servidor está no ar.

O diretório padrão do apache é o /var/www e se lá você criar um subdiretório chamado teste e colocar uma arquivo index.html com a palavra teste dentro poderá chamá-lo da seguinte maneira:
http://192.168.0.1/teste

Disponibilizando arquivos para Download
As configurações padrões do apache, já fazem com que ele se comporte como um "FTP" via web. Se você apenas criar um link de um diretório na pasta base dele, já aparece como arquivos para download. Vejamos:

# cd /var/www
ln -s /etc/ arquivos (criei um link chamado arquivos que aponta para o diretório /etc)

Vá no browser e digite: http://192.168.0.1/arquivos

Veja o resultado:










Veja que todos os arquivos do diretório /etc/ estão lá disponíveis para download.
Como foi feito isso apenas criando um Link, você também pode criar um diretório tipo /var/www/mp3 e disponibilzar músicas para download.










Se forem criadas várias pastas, elas poderão ser acessadas desta forma. Mas há uma maneira de fazer com que estas pastas sejam acessadas diretamente com números de IP, ou ainda utilizando o nome de Domínio como www.dailson.com.br.
Imagine a seguinte situação:

www.site1.com.br = 192.168.0.2

www.joao.com.br = 192.168.0.3


Essa é a maneira que os provedores trabalham. Cada domínio em um IP. Cada IP em um diretório e assim fazemo com que apenas uma máquina responda por vários domínios.
Para isso temos que aprender a trabalhar com Virtual Hosts (Hospedeiros Virtuais).

Antes disso, precisamos fazer com que nossa máquina responda por vários IPs. Para isso, basta criarmos IPs virtuais.

Configurando Ips Virtuais:
Se você deseja que seu servidor responda por vários Ips, é necessária a criação de interfaces virutais. Isso pode ser feito diretamente com o comando ifconfig ou dentro do arquivo /etc/network/interfaces:
Usando o comando ifconfig
Basta colocar a interface seguida de dois pontos e o número da interface vitual. Iniciando em zero.
Exemplos:

Cria a interface virutal eth0:0
# ifconfig eth0:0 192.168.0.2 netmask 255.0.0.0 up

Cria a interface virutal eth0:1
# ifconfig eth0:1 192.168.0.3 netmask 255.0.0.0 up

Cria a interface virutal eth0:2
# ifconfig eth0:2 192.1681.0.4 netmask 255.0.0.0 up

Se você quiser mais detalhes de como proceder de forma correta com configuração de redes no Linux (Debian e Derivados) acesse este tutorial:

http://www.dailson.com.br/2009/05/configuracao-de-rede-no-debian-gnulinux.html

Criando Virtual Hosts

A Técnica de Virtual Hosts faz com que o apache redirecione o IP diretamente para uma Pasta.
Para criar IPs virtuais:

1 - Abra o arquivo /etc/apache2/httpd.conf
# vi /etc/apache2/httpd.conf

Crie a seguinte configuração:
1 - Crie os IPs virtuais

Neste nosso exemplo vou criar os IPs virtuais: 192.168.0.1 e 192.168.0.2
# ifconfig eth0:0 192.168.0.2 netmask 255.0.0.0 up
# ifconfig eth0:1 192.168.0.3 netmask 255.0.0.0 up

2 - Crie os subdiretórios abaixo de /var/www cada um para seu site.
Criar os diretório /var/www/site1 e /var/www/site2

# mkdir /var/www/site1
# mkdir /var/www/site2


Obs: Não esqueça de colocar dentro destes diretórios o arquivo index.html com algum conteúdo.
Sugestão:
No index.html do site1 escreva SITE1
No index.html do site2 escreva SITE2

3 - Criar a configuração no apache
# vi /etc/apache2/sites-enabled/000-default

Lá já tem uma estrutura de VirtualHost, vamos criar a nossa. Vá ao final do arquivo e escreva as seguintes linhas:
<VirtualHost 192.168.0.2>
DocumentRoot /var/www/site1
ServerName 192.168.0.2

</VirtualHost>

<VirtualHost 192.168.0.3>
DocumentRoot /var/www/site2
ServerName 192.168.0.3

</VirtualHost>

Pronto!!

Reinicie o apache:
# /etc/init.d/apache2 restart

E teste no Browser com o comando:
http://192.168.0.1
http://192.168.0.2

Frase do Dia

"Se houver muitos comandantes, o navio afunda."
(Provérbio Árabe)

Instalando e Configurando o SWAT - Samba Web Administrations Tool


Seguindo a Série de Artigos para serem utilizados em sala de aula, desta vez apresentaremos o SWAT.
O SWAT é uma ferramenta livre que tem como objetivo facilitar a configuração do SAMBA. Escrevi um artigo rápido sobre configuração do samba neste link. Porém se você deseja configurar e iniciar os serviços de compartilhamento do SAMBA em apenas alguns cliques use o SWAT. A página do SWAT é semelhante as página de configurações de Modems ou ainda de roteadores Wireless. É fácil, intuitiva e ainda mais, o help é super completo e você aprende muitas opções apenas "fuçando" o SWAT.
Porém para conhecer bem o SWAT e mexer nele é necessário que você tenha um conhecimento básico de SAMBA. Para isso, acesse este breve tutorial.
O SWAT é mantido pelos próprios mantenedores do SAMBA e a página oficial fica em:
http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/SWAT.html

Obs: Tutorial testado em Debian/Ubuntu

1 - Instalação
# apt-get install swat

2 - Habilitando o Swat
a) abra o seguinte arquivo
# vi /etc/inetd.conf

b)Procure a seguinte linha (geralmente é a útima)
#swat stream tcp nowait.400 root /usr/sbin/tcpd /usr/sbin/swat

c) Descomente a linha (o ato de descomentar é tirar o jogo da velha do início da linha)
swat stream tcp nowait.400 root /usr/sbin/tcpd /usr/sbin/swat

d) Salve o arquivo e reinicie o Super Servidor Inetd para colocar o SWAT no ar.
# /etc/init.d/openbsd-inetd restart

A parte em azul abaixo é opcional.

Nota: Se você já usa o Super Servidor xinetd, será necessário que você crie o arquivo /etc/xinetd.d/swat com o seguinte conteúdo:

service swat

{

port = 901
socket_type = stream
wait = no
user = root
server = /usr/sbin/swat
log_on_failure += USERID
disable = no
}

E depois reinicie o xinetd.d com o comando /etc/init.d/xinetd restart

Caso você não use o xinetd e queira usá-lo, utilize o seguinte comando para instalar:

# apt-get install swat xinetd

3 - Acessando o SWAT
Para acessar o SWAT abra um browser da sua preferência (Firefox, Internet Explorer...) e coloque o seguinte endereço
http://ip-da-maquina:901

Exemplo:
http://192.168.0.1:901

A primeira tela que aparece é a de autenticação. É necessário que você logue com o usuário root. O root tem todos os poderes de configuração sobre o swat. Caso você logue com um usuário comum apenas algumas poucas opções irão aparecer.

Tela de Autenticação do SWAT

Logo após uma autenticação bem sucedida, o SWAT apresenta a tela inicial e todas as opções.

Tela Inicial do SWAT

Os Menus são os Botões e a tela inicial é apenas para acesso do HELP onde você tem um manual completíssimo das funções do SAMBA.


Para iniciar, vamos clicar no botão GLOBALS que irá alterar e configurar todas as opções da sessão GLOBALS do SAMBA.





Note que temos as opções exatamente iguais as opções da sessão GLOBALS do SAMBA. Basta alterar e clicar no botão Commit Changes.

Nota Importantíssima: Após qualquer alteração nesta página é obrigatório clicar no botão Commit Changes para que o SWAT grave suas opções no arquivo /etc/samba/smb.conf. Caso você faça alguma alteração e clique em qualquer outro menu acima, tudo o que você fez será perdido. Então não esqueça... Alterou... Botão Commit Changes apertou... ;)


Orientações sobre o botão Commit Changes

O SWAT mostra apenas o que é essencial e prático para configuração do SAMBA. Mas se você quiser fazer uma configuração bem aprofundada é necessário que você pressione o botão Advanced. Este botão irá apresentar todas as opções da sessão GLOBALS. Não se assuste quando você pressionar este botão... Apenas aprecie...

Orientações sobre o botão Advanced


O Botão Shares (Compartilhamento) irá apresentar opções para criar/excluir e manter os compartilhamentos do servidor Samba.



Tela inicial do Botão Shares

Note que na tela acima, não aparecem os compartilhamentos. Para isso você tem duas opções.

1 - Exibindo os compartilhamentos:

Clique no botão Choose Share e escolha um compartilhamento que deseja alterar ou excluir. E logo após clique no botão Choose Share.

Tela de um compartilhamento

Note acima as opções do smb.conf. Algumas eu preenchi como exemplo. Veja que há bastante opções para serem testadas, mas não esqueça que depois de qualquer alteração... O Botão Commit Changes deve ser pressionado para que o arquivo smb.conf seja modificado.
Não esqueça também de explorar todas as opções possíveis de um compartilhamento pressionando o botão Advanced.

2 - Para Criar um Compartilhamento
a) Clique no botão Menu Shares
b) Escreva o nome do compartilhamento que você deseja que apareça na rede Windows e clique no no botão Create Share (para este exemplo, vamos criar o compartilhamento jogos)
c) Logo a após o SWAT irá apresentar a tela com todas as opções em branco. Para você criar um compartilhamento, basta você informar qual o path (caminho) no servidor para a pasta jogos. Vamos usar como exemplo o caminho /home/dailson/jogos
Pronto! Clique no botão Commit Changes e este compartilhamento já estará configurado.

Para configurar impressoras compartilhadas, clique no botão Printers




Ao clicar, o SWAT apresenta a tela de configuração de compartilhamento de impressoras. O processo é o mesmo citado anteriormente em relação aos compartilhamentos. Então basta seguir os mesmos procedimentos para criar, excluir, listar e modificar os compartilhamentos. Lembre-se de também apertar o botão Advanced para ter uma maior leque de opções.

Tela de compartilhamento de Impressoras


O Botão Wizard (Assistente) irá lhe ajudar a fazer tarefas "chatas" de como promover o servidor a controlador de domínio. A tela é bem intuitiva.
Não esqueça de a cada alteração, apertar o botão "Rewrite smb.conf" e depois Commit Changes.

Tela principal do Wizard



O Menu Status, serve para duas funções:



1 - Reiniciar, parar e iniciar os serviços que fazem o SAMBA funcionar, conforme tela abaixo:


2 - Ou ter um log visual das conexões que estão abertas no momento. Veja na tela abaixo que é possível ver quem está acessando, que compartilhamento está sendo usado e que arquivos estão sendo utilizados.

Note que existem uns botões X para que você consiga fechar as conexões dos clientes. Porém, se o cliente abrir novamente ele irá continuando a ter acesso ao compartilhamento.



O Botão view é apenas um visualizador do smb.conf. Aqui também vale a dica. Clique no botão Advanced e veja como é o smb.conf completo...



Visualização do smb.conf


O Menu Password serve para você manter os usuários que poderão acessar o servidor samba. Ao invés de cadastrar usuários com o comando smbpasswd -a usuario, você pode fazer diretamente nesta tela. Isto facilita e muito a gestão de usuarios.


Além disso você pode mudar a senha de usuários e ainda pode cadastrar as máquinas XP que necessitam ser criadas contas para ingressar no domínio.

Bom, o Swat é uma ferramenta muito extensa. Minha intenção é que você consiga dar os primeiros passos nesta maravilhosa ferramenta.

Quaisquer dúvidas, estou as ordens.

Frase do Dia

"Ouve teu pai, que te gerou,
e não desprezes tua mãe,
quando vier a envelhecer."
Provérbios 23:22

sexta-feira, 20 de novembro de 2009

Instalando e Configurando um Servidor SAMBA

Seguindo a Série de Artigos para serem utilizados em sala de aula, desta vez apresentaremos o Servidor SAMBA. SAMBA é um acrônimo para o protocolo SMB da Microsoft. O SMB quer dizer Service Message Block e é responsável pelo compartilhamento de arquivos e impressoras na rede Microsoft.

Criado por Andrew Tridgell, o Samba é uma excelente ferramenta para fornecer conectividade entre sistemas Windows e Unix-like, e sua configuração está basicamente concentrada em um único arquivo, que é altamente complexo, mas isto somente no começo de seu uso. Assim que você se acostumar com o programa, verá inúmeras linhas como boas e velhas amigas.

Para configurar o Samba é necessário abrir o arquivo smb.conf em um editor de textos como nano, vi ou mcedit. Este arquivo se encontra em /etc/samba, é nele que serão feitas todas as alterações para que a conectividade entre o Windows e o Linux funcione.

Arquivo de Configuração:
/etc/samba/smb.conf

Portas:
139 tcp 445 tcp

Daemon:
/etc/init.d/samba

1 - Instalando o Samba:
# apt-get install samba cifs-utils

2 - Configurando o mínimo no /etc/smb.conf
O arquivo smb.conf é dividido em duas sessões:

[GLOBALS]
Opções que alteram o comportamento e recursos do servidor Linux na rede Windows

[SHARES]
Sessão que cria e mantém os compartilhamentos do servidor Linux na rede Windows


Abra o arquivo /etc/samba/smb.conf e altere as seguintes linhas:
Na sessão globals:
[GLOBALS]

Linha que decide o Grupo de Trabalho que o Servidor Linux irá entrar na Rede Microsoft
WORKGROUP = ALUNOS

Linha que configura o nome da máquina na rede Windows
NETBIOS NAME = Server_Linux

Linha que decide o tipo de autenticação. Para exigir que todo usuário que acessar o servidor necessite digitar uma senha:
SECURITY = USER

Você pode usar os seguintes atalhos nas configurações do smb.conf
  • %M, Máquina (Machine)
  • %U, Usuário (User)
  • %L, Nome da Máquina Local (Local Machine)

3 - Configurando os compartilhamentos
Depois da sessão [GLOBALS] qualquer outro nome com chaves que for digitado, o Samba já irá reconhecer como compartilhamento. O nome que vem entre chaves já é o nome do compartilhamento e o único parâmentro obrigatório é o caminho do compartilhamento.
Veja abaixo alguns exemplos:

Exemplo 1: Compartilhando o CDROM
[cdrom]
path = /media/cdrom


Exemplo 2: Compartilhando as Músicas:
[mp3]
path = /home/dailson/mp3


Exemplo 3: Compartilhando Jogos
[jogos]
path = /usr/games


As opções mais comunos na área de compartilhamento são:
Comment: Mostra um comentário para o diretório em questão
Browseable: Define se o diretório pode ser visto por todos
Available: Define se o diretório estará disponível para acesso ou não.
Writable: Define se é possível ou não escrever neste arquivo
Read only: Define se o diretório está ou não disponível para gravação.
Write List: Este parâmetro diz ao servidor qual o grupo ou usuário tem permissão para gravar no diretório, caso este seja definido como "@root", somente quem faz parte do grupo root poderá gravar neste diretório, os outros usuários somente poderão ler o conteúdo deste diretório.

Veja abaixo, um diretório compartilhando com as opções acima:
[mp3]
path = /home/dailson/mp3

comment = Pasta de Musicas

browseable = yes

available = yes

writable = yes
read only = no

write list = dailson, @alunos

Obs:
No samba, existe um compartilhamento especial chamado [HOMES] que faz com que todas as pastas homes dos usuários fiquem disponíveis para eles no momento que eles logam no servidor. Por padrão esta pasta vem comentada no arquivo de configuração. Para deixá-la com acesso aos usuários autenticados e com acesso de gravação, deixe este compartilhamento especial da seguinte forma:

[homes]
comment = Home Directories
read only = no


Note que não tem a opção path


Depois de configurado o /etc/samba/smb.conf você já pode reiniciar o daemon e colocar o servidor samba no ar
# /etc/init.d/samba restart

Mas antes de acessar o servidor SAMBA de uma máquina Windows, é necessário cadastrar usuários no SAMBA. Para isso faça o seguinte comando:
# smbpasswd -a usuário

Exemplo:
# smbpasswd -a dailson

Lembre-se que dailson já deve existir no Linux como um usuário comum criado com o comando useradd ou adduser.
Cadastre a senha do usuário

E você agora já pode acessar o servidor Linux em Iniciar / Executar e digite \\ip.do.servidor.linux
Exemplo:
\\192.168.0.1

O Windows irá apresentar a tela de autenticação. Digite usuário e Senha e pronto!
Referências:
http://www.vivaolinux.com.br/artigo/Configurando-o-Samba/

Como utilizar o SAMBA para acessar uma Estação Windows?
Bom, acessar o Linux a partir do Windows já foi visto. Mas para fazer o inverso, a partir de uma máquina Linux, acessar compartilhamentos no Windows.

Se você tiver interface gráfica, pode utilizar o smb4k (Samba para KDE). O smb4k faz todas as tarefas necessárias para gerenciamento de compartilhamento em máquinas remotas Windows. É um "canivete suíço"! Para instalar o smb4k faça:
# apt-get install smb4k

Tela do smb4k

Ou ainda utilizar os próprios Gerenciadores de Arquivos como o Nautilus ou o Konquerror e digitar na barra de endereços: smb:///

Veja o exemplo no Nautilus do GNOME:

Tela do Nautilus

Via linha de comando, existem diversas maneiras. Para facilitar, vamos instalar alguns clientes do Samba:
# apt-get install smbclient smbfs

1 - Listando os Compartilhamentos disponíveis de uma máquina Windows:
# smbclient -U usuário -L \\host

Exemplo:
#smbclient -U dailson -L \\dailson
Informe a senha e veja os compartilhamentos.

Uma dica também é na hora da senha dar enter em branco, para ver se o smbclient lista toda a rede.

2 - Exibindo todas as máquinas da rede e todos os compartilhamentos
# smbtree

Uma dica também é na hora da senha dar enter em branco, para ver se o smbclient lista toda a rede.

3 - Montando um compartilhamento Windows em uma máquina Linux.
Dados do compartilhamento:
IP da Estação Windows: 192.168.0.1
Usuário: dailson
Compartilhamento: Filmes
Ponto de Montagem no Linux: /media/windows

Um dos comandos para resolver este problema é este:
# mount.cifs //192.168.0.1/filmes /media/windows -o username=dailson

Ou ainda:
# mount.cifs \\\\192.168.0.1\\filmes /media/windows -o username=dailson

Você ainda pode especificar a senha diretamente na linha de comando. Isto é útil caso você queira colocar uma montagem em scripts ou na inicialização do sitema:
# mount.cifs //192.168.0.1/filmes /media/windows -o username=dailson,password=senha

Uma maneira bem interessante de configurar o SAMBA é usar uma ferramenta chamada SWAT. O SWAT é o Samba Web Administration Tool. Neste link você encontra um tutorial completo sobre esta ferramenta.

Frase do Dia

"Uma casa limpa e bem arrumada
é sinal de computador quebrado…"

(Anônimo)

Instalando e Configurando um Servidor FTP com o VSFTPD



Seguindo a Série de Artigos para serem utilizados em sala de aula, desta vez apresentaremos o Servidor FTP - File Transfer Protocol.
FTP significa File Transfer Protocol (Protocolo de Transferência de Arquivos), e é uma forma bastante rápida e versátil de transferir arquivos (também conhecidos como ficheiros), sendo uma das mais usadas na internet.

Pode referir-se tanto ao protocolo quanto ao programa que implementa este protocolo (Servidor FTP, neste caso, tradicionalmente aparece em letras minúsculas, por influência do programa de transferência de arquivos do Unix).

A transferência de dados em redes de computadores envolve normalmente transferência de arquivos e acesso a sistemas de arquivos remotos (com a mesma interface usada nos arquivos locais). O FTP (RFC 959) é baseado no TCP, mas é anterior à pilha de protocolos TCP/IP, sendo posteriormente adaptado para o TCP/IP. É o padrão da pilha TCP/IP para transferir arquivos, é um protocolo genérico independente de hardware e do sistema operacional e transfere arquivos por livre arbítrio, tendo em conta restrições de acesso e propriedades dos mesmos.
Fonte: http://pt.wikipedia.org/wiki/File_Transfer_Protocol

Para instalarmos um servidor FTP poderíamos utilzar várias soluções do mundo Linux como o Proftpd. Mas escolhemos para este tutorial o VSFTP - Very Secure FTP que tem em seu site oficial http://freshmeat.net/projects/vsftpd/

Arquivo de configuração:
/etc/vsftpd.conf

Daemon:
/etc/init.d/vsftpd

Porta TCP/IP envolvidas:
20 e 21 tcp/udp

Instalação:
#apt-get install vsftpd

Pronto. Já neste ponto, você já tem um servidor FTP com acesso anônimo liberado. Vamos testar?

Iniciando o servidor:
#/etc/init.d/vsftpd restart

a) Utilizando a linha de comando:
# ftp localhost Connected to localhost.
220 (vsFTPd 2.0.7)

Name (localhost:root): anonymous

Password: qualquersenha

Porém o acesso anônimo é de somente leitura.
Se você desejar disponibilizar algum arquivo pra que usuários anônimos da sua rede ou da Internet baixem a partir deste servidor que você acabou de montar, coloque no seguinte caminho:
/home/ftp

Este é o diretório local no seu HD que os usuários anônimos caem quando logam no seu servidor.

b) Utilizando o browser
Você pode fazer o teste utilizando o Firefox, Konquerror, Opera, Chomium ou IE. Basta na barra de endereços digitar:
ftp://localhost (caso você esteja na mesma máquina que está o servidor)
ftp://10.0.0.1 (supondo que este é o IP do servidor FTP que você está montando).

c) Utilizando um Cliente FTP
Para fazer testes de FTP, não use Browsers. Use clientes de FTP. No Linux eu utilizo dois: Filezilla e o GFTP
Eu prefiro o Filezilla. Caso você use Debian, Ubuntu ou derivados, basta instalar com o comando:
apt-get install filezilla

Um teste de acesso utilizando o Filezilla.
Se você utiliza Windows, você também pode utilizar o Filezilla.

Para fazer um acesso autenticado, ou liberar gravação do usuário anônimo, é necessário alterar algumas linhas do /etc/vsftpd.conf. Vamos conhecer melhor este arquivo.

As opções do /etc/vsftpd.conf

Habilita o protocolo IPv6
listen_ipv6=YES

Libera/Nega acesso Anônimo
anonymous_enable=YES

Permite que usuários do servidor façam o login no servidor FTP
local_enable=YES

Permite que os usuários tenham acesso de gravação no servidor de FTP (Menos o anônimo)
write_enable=YES

Permite que o usuário anonimo faça upload para o servidor de FTP
anon_upload_enable=YES
Obs: Para esta opção funcionar a linha write_enable=YES deve estar ativada.

# Permite que o usuário Anônimo crie diretorios
anon_mkdir_write_enable=YES

Proibindo usuários de Logar no Servidor FTP
Configure as seguintes linhas:
userlist_deny=YES
userlist_file=/etc/vsftpd.denied_users
Crie o arquivo /etc/vsftpd.denied_users e escreva um por linha os usuários que não podem logar no servidor.

Autorizando somente alguns usuários a logarem no servidor:
Configure as seguintes linhas:
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.allowed_users
Crie o arquivo /etc/vsftpd.allowed_users e escreva um por linha quem pode logar no servidor.

Enjaulando Usuários
Para impedir que os usuários autenticados saiam do seu diretório home e possam navegar pelo HD do servidor, ative a opção abaixo:
chroot_local_user=YES
Obs: Esta técnica é chamada de Enjaular usuários

Para "enjaular" somente alguns usuários:
Configure as seguintes linhas
chroot_local_user=NO
chroot_list_enable=YES
Crie o seguinte arquivo: /etc/vsftpd.chroot_list e escreva o nome dos usuários que você deseja enjaular um por linha

Para "enjaular" todos e deixar alguns livres:
Configure as seguintes linhas:
chroot_local_user=YES
chroot_list_enable=YES
Crie o seguinte arquivo: /etc/vsftpd.chroot_list e escreva o nome dos usuários que você deseja que não seja enjaulado um por linha.

Possibilitando que o usuário Anônimo faça Upload.
Obs: Se você ativar esta opção e for logar com no servidor com o usuário anonymous, você irá receber a seguinte mensagem:
500 OOPS: vsftpd: refusing to run with writable anonymous root

Isto contradiz toda a história de permissionamento do Linux, mas é isto mesmo. Para você permitir que o Anonymous faça login e consiga fazer uploads para o servidor de FTP, é necessário que o diretório /home/ftp não pertença ao usuário ftp e ainda mais, não pode ter permissão de gravação. Você deverá criar um subdiretório dentro do diretório /home/ftp e ai sim, você libera a gravação deste subiretório. Então para evitar este erro faça o seguinte:

Passe o diretório /home/ftp para o root
# chown root:root /home/ftp

Tire as permissões de gravação deste diretório
# chmod 555 /home/ftp

Crie um subdiretório que contenha permissão para gravação
# mkdir /home/ftp/upload

Altere as permissões deste subdiretório
# chmod 777 /home/ftp/upload

Faça o teste: Logue como anonimo utilizando o filezilla e faça uploads de arquivos.

Referências:
http://ubuntuforums.org/showthread.php?t=518293

Frase do Dia

"Malandro mesmo é o Mario, que tira moeda até de tijolo."
(Anônimo)

quarta-feira, 18 de novembro de 2009

Instalando e Configurando um Servidor DHCP - Dynamic Host Control Protocol


Seguindo a Série de Artigos para serem utilizados em sala de aula, desta vez apresentaremos o Servidor DHCP - Dynamic Host Control Protocol.
O DHCP, Dynamic Host Configuration Protocol, é um protocolo de serviço TCP/IP que oferece configuração dinâmica de terminais, com concessão de endereços IP de host e outros parâmetros de configuração para clientes de rede. Este protocolo é o sucessor do BOOTP que, embora mais simples, tornou-se limitado para as exigências atuais. O DHCP surgiu como padrão em Outubro de 1993. O RFC 2131 contém as especificações mais atuais (Março de 1997). O último standard para a especificação do DHCP sobre IPv6 (DHCPv6) foi publicado a Julho de 2003 como RFC 3315.

Resumidamente, o DHCP opera da seguinte forma:

* Um cliente envia um pacote UDP em broadcast (destinado a todas as máquinas) com um pedido DHCP
* Os servidores DHCP que capturarem este pacote irão responder (se o cliente se enquadrar numa série de critérios — ver abaixo) com um pacote com configurações onde constará, pelo menos, um endereço IP, uma máscara de rede e outros dados opcionais, como o gateway, servidores de DNS, etc.

O DHCP usa um modelo cliente-servidor, no qual o servidor DHCP mantém o gerenciamento centralizado dos endereços IP usados na rede.
Fonte: Wikipedia - http://pt.wikipedia.org/wiki/DHCP

Para instalar o Servidor DHCP
# apt-get install isc-dhcp-server

Arquivo de Configuração
/etc/dhcp/dhcpd.conf

Daemon
/etc/init.d/isc-dhcp-server

Modelo do Arquivo /etc/dhcp/dhcpd.conf

ddns-update-style none;
ignore client-updates;


option domain-name "lab-c2.com.br";
default-lease-time 86400;

max-lease-time 86400;

authoritative;

log-facility local7;


subnet 10.0.0.0 netmask 255.0.0.0 {

range 10.0.0.150 10.0.0.250;

option domain-name-servers 10.0.0.254, 10.0.0.245;

option routers 10.0.0.254;

}


# Este exemplo abaixo é para fixar um número de IP a uma estação.

# Para fazer isso, é necessário saber o MAC da placa de rede da estação em questão.

host fantasia {

hardware ethernet 08:00:07:26:c0:a5;

fixed-address 10.0.17.253;
}



Para colocar as alterações no ar:
# /etc/init.d/isc-dhcp-server restart

Para acompanharmos o fornecimento de IP´s na rede, poderemos utilizar o tail para visualizar o arquivo dhcpd.leases que armazena os IP´s fornecidos pelo servidor DHPC. Façamos da seguinte forma:

# tail -f /var/lib/dhcp/dhcpd.leases

lease 10.0.0.11 {starts 1 2007/05/28 22:41:54;
ends 1 2007/05/28 22:51:54;

hardware ethernet 00:14:2a:42:ad:6b;

uid 01:00:14:2a:42:ad:6b;

client-hostname "beto";

}

Frase do Dia

"Prestígio só dá dinheiro para a Nestlé"
(Anônimo)

Instalando e Configurando um Servidor NFS - Network File System




Seguindo a Série de Artigos para serem utilizados em sala de aula, desta vez apresentaremos o Servidor NFS - Network File System. Utilizados em redes Unix para compartilhamento de arquivos e diretórios. Muitos preferem compartilhar dados utilizando o próprio SSH ou ainda o SAMBA, porém este importante servidor é utilzado em tarefas como implementação de Terminais Burros (Thinclients) e de Instalação de Sistemas Operacionais utilizando Boot Remoto.
Apresentaremos tanto o cliente como o Servidor NFS .

1 - Utilizando um Servidor NFS

Utilizando um compartilhamento remoto:

Para usar um compartilhamento NFS, basta usar o comando mount. Porém antes de fazer, você pode utilizar o comando para exibir os compartilhamentos do servidor alvo:

Exibindo os compartilhamentos
showmount –e IP_DO_SERVIDOR
Exemplo:
# showmount –e 10.0.17.254

Exibindo os serviços de compartilhamento
# rpcinfo –p 10.0.17.254

Montando um Diretório
A sintaxe é a seguinte:
mount –t nfs IP_SERVIDOR:/diretório /local_a_ser_montado

Exemplo:
# mount –t nfs 10.0.17.254:/arquivos /media/servidor
# mount –t nfs 10.0.17.254:/jogos /media/jogos-servidor


Onde /media/servidor e /media/jogos-servidor são diretórios que você terá que criar para poder montar estes compartilhamentos remotos.

2 - Configurando o Servidor NFS
NFS – Network File System
Servidor de Arquivos e compartilhamento entre máquinas Unix*.

Para instalar o servidor NFS:
# apt-get install nfs-kernel-server

Arquivo de Configuração:
/etc/exports

Daemons Responsáveis:
/etc/init.d/portmap
/etc/init.d/nfs-common

/etc/init.d/nfs-kernel-server


Assegure de executar os seguintes comandos, antes de começar a compartilhar seus diretórios:
# /etc/init.d/portmap start
# /etc/init.d/nfs-common start


Para compartilhar:
Todos os compartilhamentos devem ser declarados no arquivo /etc/exports. E deve ser escrito dessa forma:
/diretório estacao1(opcao1,opcao2)
/diretório estacao1(opcao1,opcao2) estacao2(opcao1,opcao2)


Onde opção pode ser:
ro – Somente leitura
rw – Leitura e gravação
sync – Mantém a sincronia em tempo real (Síncrono)
async – Faz transferência de forma assíncrona
noaccess – compartilha arquivos, mas não subdiretórios
no_root_squash – trata o usuário root remoto como usuário root local
root_squash - evita que o root cliente tenha direito de root sobre os diretórios do servidor.
no_subtree_check – Desabilita a verificação de estados de arquivos dentro de um filesystem.
subtree_check – Habilita esta verificação.
Obs: Por questões de desempenho, deixe esta opção desabilitada, ou seja, no_subtree_check. Não esqueça de colocar sempre esta opção

Exemplos:

/arquivos 10.0.17.100(rw,sync,no_subtree_check)
/arquivos 10.0.17.*(rw,sync,no_subtree_check)
/arquivos *(rw,sync,no_subtree_check)

/arquivos 10.0.17.100(rw,sync,no_subtree_check) 10.0.17.1(ro,no_subtree_check)


Obs: É bom lembrar que independente da opção ro ou rw, a permissão do diretório no servidor deve ou não permitir a gravação. Altere isso com o comando chmod.

Ativando os compartilhamentos:
# /etc/init.d/nfs-kernel-server restart
Ou
# exportfs –r

Exibindo os compartilhamentos
showmount –e IP_DO_SERVIDOR

Exibindo os serviços de compartilhamento
# rpcinfo –p
# rpcinfo –p 10.0.17.254