Você está na página 1de 3

Índice - Artigos

Servidor de arquivos para a rede local, fácil


Introdução

Como vimos no tutorial sobre configuração de redes Windows, compartilhar arquivos no Windows XP é bastante simples. Em resumo, você precisa ativar o "Cliente para redes Microsoft" e o "Compartilhamento
de arquivos e impressoras para redes Microsoft" nas propriedades da conexão local e, a partir daí, compartilhar as pastas desejadas através do Windows Explorer. O XP usa o simple sharing por padrão, o que
permite que todos os usuários da rede tenham acesso aos compartilhamentos, sem que você precise cadastrar logins de acesso para cada um.

Vamos ver agora como fazer o mesmo usando um pequeno servidor Linux, rodando o Samba. O objetivo do servidor é compartilhar arquivos e impressoras com a rede local de uma forma simples, funcionando
como uma espécie de NAS. Você pode tanto fazer esta configuração na sua própria máquina, ou em outro desktop da rede, quanto usar alguma máquina antiga, dedicada à tarefa. Os passos podem ser
seguidos na grande maioria das distribuições.

O primeiro passo é instalar o servidor Samba, o que é feito instalando o pacote "samba" usando o gerenciador de pacotes. No Ubuntu ou Debian você usaria o apt-get (apt-get install samba), no Fedora usaria
o yum (yum install samba), no Mandriva usaria o urpmi (urpmi samba) e assim por diante.

Muitos preferem configurar o Samba usando o swat, mas com tantas opções ele seria overkill no nosso caso e só iria atrapalhar. Ao invés dele, vamos a uma lista de passos rápidos para configurar o servidor
via terminal.

Comece logando-se como root no terminal usando o comando "su -". No caso do Ubuntu você precisa primeiro definir uma senha para o root, usando o comando "sudo passwd".

$ su -

O primeiro passo para configurar o Samba é cadastrar pelo menos uma conta de usuário, usando o comando "smbpasswd -a". Isso é necessário para que o Samba possa autenticar os usuários remotos e possa
ler os arquivos dentro das pastas compartilhadas. Apesar de rodar como um serviço, o Samba está subordinado às permissões de acesso do sistema.

Você pode adicionar a sua própria conta de usuário, como em:

# smbpasswd -a gdh

New SMB password:


Retype new SMB password:

Se preferir, você pode também criar uma nova conta, exclusiva para uso do Samba, como em:

# adduser joao
# smbpasswd -a joao

Normalmente, você precisaria cadastrar várias contas de usuário e distribuir as senhas entre todos que fossem acessar os compartilhamentos. Entretanto, é possível fazer uma configuração mais simples
usando uma conta guest. Esta configuração permite que os usuários da rede local acessem os compartilhamentos sem precisarem de um login válido, algo similar ao simple sharing do Windows XP. Não é o tipo
de configuração que você usaria em uma grande rede, mas é muito prático para usar em uma pequena rede, onde você conhece todo mundo e simplesmente quer compartilhar os arquivos de uma forma
simples.

Depois de cadastrar o usuário, falta configurar o Samba, o que é feito editando o arquivo "/etc/samba/smb.conf". Você pode editá-lo usando o editor que preferir, como em:

# mcedit /etc/samba/smb.conf

ou
# gedit /etc/samba/smb.conf

Muitas distribuições vem configuradas por padrão para não executarem aplicativos gráficos quando você está logado como root no terminal. Ao tentar rodar o programa, você recebe um erro "cannot open
display"

Nesses casos, você tem duas opções:

a) Logar-se como root usando o comando "sux" no lugar do "su -", ele ajusta as permissões necessárias, eliminando o problema. Ele é instalado através do pacote de mesmo nome.

b) Usar o sudo para abrir o programa, como em "sudo gedit /etc/samba/smb.conf", nesse caso executando o comando o comando com seu login de usuário e confirmando a sua senha, quando solicitado.

Voltando à edição do arquivo, apague todo o conteúdo do arquivo, deixando-o com o seguinte conteúdo:

[global]
netbios name = Sparta
server string = Servidor Samba
workgroup = Grupo
local master = yes
os level = 100
preferred master = yes
wins support = yes

printing = cups
load printers = yes

map to guest = bad user


guest account = gdh

[printers]
comment = Impressoras
print ok = yes
guest ok = yes
path = /var/spool/samba

[arquivos]
path = /media/hda3/arquivos
writable = yes
guest ok = yes
[videos]
path = /home/gdh/videos
writable = yes
guest ok = yes

As opções a alterar são:

netbios name: Indica o nome do servidor, com o qual ele aparecerá no ambiente de rede.

workgroup: O grupo de trabalho, o mesmo especificado na configuração das outras máquinas da rede.

guest account: Aqui você especifica a conta que cadastramos anteriormente usando o comando "smbpasswd -a".

Os compartilhamentos do Samba seguem uma estrutura muito simples, onde você indica o nome do compartilhamento (da forma como ele aparecerá no ambiente de rede) entre chaves e indica a pasta a que
ele dará acesso na opção "path". A opção "writable = yes" faz com que o compartilhamento seja para leitura e escrita e a "guest ok = yes" faz com que ele fique disponível para qualquer usuário da rede, já que
qualquer tentativa de acesso com um login de usuário que não existe será mapeada para o usuário "gdh".

Você pode criar mais compartilhamentos usando este mesmo modelo, mudando apenas o nome e a pasta a compartilhar. Com esta configuração, o servidor irá também compartilhar as impressoras instaladas
automaticamente, você precisará apenas fornecer os drivers de impressão ao instalá-las nos clientes.

O único cuidado é que o usuário usado na opção "guest account" (o gdh no exemplo) precisa ter acesso completo ao conteúdo das pastas compartilhadas, já que todos os acessos serão feitos através dele. Caso
necessário, altere as permissões de acesso às pastas, usando o comando "chown -R", como em:

# chown -R gdh.gdh /media/hda3/arquivos

O "-R" no comando faz com que as alterações seja aplicadas de forma recursiva, atingindo todos os subdiretórios dentro da pasta, enquanto o "gdh.gdh" indica o usuário e o grupo que assumirá o controle.

Uma última observação é que este arquivo de configuração faz com que seu servidor Samba assuma a função de master browser da rede, fornecendo aos clientes a lista dos compartilhamentos disponíveis em
toda a rede. Se você for usar esta configuração em mais de um servidor na mesma rede, remova a linha "local master = yes", ou use um número mais baixo na opção "os level =" (nos demais servidores), caso
contrário os servidores ficarão continuamente disputando o cargo, o que prejudicará a navegação dos clientes.

As alterações feitas no arquivo de configuração do Samba são aplicadas automaticamente após alguns minutos, mas se você quiser verificar rapidamente uma alteração que acabou de fazer, pode forçar o
reinicio do servidor usando o comando:

# /etc/init.d/samba restart

(ou /etc/init.d/smb restart, no Fedora e no Mandriva)

Os arquivos dentro dos compartilhamentos podem ser acessados usando o ambiente de redes nos clientes Windows ou clientes como o Smb4K nos clientes Linux. Mas, se você pretender manter o servidor
ligado continuamente, o ideal é mapear os compartilhamentos, de forma que eles fiquem acessíveis permanentemente e a conexão seja restaurada durante o login.

Nos clientes Windows, você pode mapear compartilhamentos clicando com o botão direito sobre o "Meu Computador" e usando a opção "Mapear unidade de rede".

Nos clientes Linux, a melhor opção para criar um mapeamento permanente é inserir uma linha diretamente no arquivo "/etc/fstab", que contém a lista das partições e compartilhamentos de rede que o
sistema deve montar durante o boot.
O arquivo "/etc/fstab" é um dos principais arquivos de inicialização do sistema e por isso deve ser sempre editado com cuidado. Adicione apenas a nova linha, sem alterar as demais, tomando o cuidado de
deixar uma linha em branco no final do arquivo. A linha segue o seguinte modelo:

//servidor/arquivos /mnt/smb smbfs username=gdh,password=1234,uid=joao 0 0

O "//servidor/arquivos" é o caminho para o compartilhamento na rede, incluindo o endereço IP ou nome do servidor e o nome do compartilhamento que será montado, o "mnt/smb" é a pasta local onde ele será
montado, o "smbfs" indica o sistema de arquivos, o "username=gdh,password=1234" indica o login e senha que serão usados para acessar o servidor, o "uid=joao" indica o usuário local (no cliente Linux) que
terá acesso completo aos arquivos dentro da pasta montada, enquanto o "0 0" é um "nada a declarar", que indica que não temos opções adicionais.

Dentro do nosso exemplo, poderíamos usar a linha:

//192.168.1.254/videos /media/videos smbfs username=fulano,password=1234,uid=gdhnet 0 0

Veja que, por segurança, preferi especificar diretamente o endereço IP do servidor, de forma a evitar qualquer possibilidade de problemas relacionado à resolução do nome. Como nosso servidor foi configurado
para permitir o acesso usando a conta guest, posso colocar qualquer login na opção "username=" e qualquer senha na "password=". O "gdhnet" indica a conta que uso no cliente Linux, com a qual vou acessar
a pasta onde o compartilhamento será montado.

Para que a alteração entre em vigor sem precisar reiniciar o micro, use o comando "mount -a" (no cliente), como root.

Com o compartilhamento montado, você pode acessar os arquivos da mesma forma que acessaria uma partição local, inclusive abrindo arquivos e vídeo e audio sem precisar copiá-los para a sua máquina
previamente. A única observação é que a banda da rede precisa ser suficiente para transferir o arquivo na velocidade necessária para exibí-lo, de forma que assistir um vídeo em alta resolução, através de uma
rede wireless lenta ou congestionada pode resultar em um vídeo saltado.