O Samba o servidor que permite compartilhar arquivos e acessar
compartilhamentos em mquinas Windows, um dos servios mais utilizados em servidores Linux de rede local. Ele dividido em dois mdulos, o servidor Samba propriamente dito e o "smbclient", o cliente que permite acessar compartilhamentos em outras mquinas. Usando o Samba, o servidor Linux se comporta exatamente da mesma forma que uma mquina Windows, compartilhando arquivos e impressoras e executando outras funes, como autenticao de usurios. Voc pode configurar o Samba at mesmo para tornar-se um controlador de domnio. Este um guia "mais que completo" sobre o Samba, mostrando todas (ou pelo menos quase todas :) as opes de configurao. Uma introduo: Configurando um servidor Samba da forma mais simples possvel Instalao e configurao usando o swat o Instalando o Samba o Cadastrando os usurios o Usando o Swat o Permitindo que os usurios compartilhem pastas Configurao avanada do Samba o Ajustando as permisses de acesso o A seo [global] o A seo [homes] o A conta guest o Auditando os acessos o Backends: smbpasswd ou tdbsam o Portas e firewall Usando o Samba como PDC o Logando Clientes Windows o Cadastrando as mquinas sem usar a conta de root o Ajustando as permisses locais o Logando Clientes Linux o Usando o PDC para autenticao local Compartilhando impressoras no Samba o Disponibilizando drivers de impresso para os clientes o Compartilhando atravs do Cups Usando quotas de disco no Samba Mantendo o horrio sincronizado Usando o NFS
Introduo Como vimos no tutorial sobre configurao 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 conexo local e, a partir da, compartilhar as pastas desejadas atravs do Windows Explorer. O XP usa o simple sharing por padro, o que permite que todos os usurios 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 espcie de NAS. Voc pode tanto fazer esta configurao na sua prpria mquina, ou em outro desktop da rede, quanto usar alguma mquina antiga, dedicada tarefa. Os passos podem ser seguidos na grande maioria das distribuies. 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 opes ele seria overkill no nosso caso e s iria atrapalhar. Ao invs dele, vamos a uma lista de passos rpidos 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 usurio, usando o comando "smbpasswd -a". Isso necessrio para que o Samba possa autenticar os usurios remotos e possa ler os arquivos dentro das pastas compartilhadas. Apesar de rodar como um servio, o Samba est subordinado s permisses de acesso do sistema. Voc pode adicionar a sua prpria conta de usurio, como em: # smbpasswd -a gdh New SMB password: Retype new SMB password: Se preferir, voc pode tambm criar uma nova conta, exclusiva para uso do Samba, como em: # adduser joao # smbpasswd -a joao Normalmente, voc precisaria cadastrar vrias contas de usurio e distribuir as senhas entre todos que fossem acessar os compartilhamentos. Entretanto, possvel fazer uma configurao mais simples usando uma conta guest. Esta configurao permite que os usurios da rede local acessem os compartilhamentos sem precisarem de um login vlido, algo similar ao simple sharing do Windows XP. No o tipo de configurao que voc usaria em uma grande rede, mas muito prtico 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 usurio, 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 distribuies vem configuradas por padro para no executarem aplicativos grficos 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 opes: a) Logar-se como root usando o comando "sux" no lugar do "su -", ele ajusta as permisses necessrias, eliminando o problema. Ele instalado atravs 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 usurio e confirmando a sua senha, quando solicitado. Voltando edio do arquivo, apague todo o contedo do arquivo, deixando-o com o seguinte contedo: [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 opes a alterar so: 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 configurao das outras mquinas 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 opo "path". A opo "writable = yes" faz com que o compartilhamento seja para leitura e escrita e a "guest ok = yes" faz com que ele fique disponvel para qualquer usurio da rede, j que qualquer tentativa de acesso com um login de usurio que no existe ser mapeada para o usurio "gdh".
Voc pode criar mais compartilhamentos usando este mesmo modelo, mudando apenas o nome e a pasta a compartilhar. Com esta configurao, o servidor ir tambm compartilhar as impressoras instaladas automaticamente, voc precisar apenas fornecer os drivers de impresso ao instal-las nos clientes. O nico cuidado que o usurio usado na opo "guest account" (o gdh no exemplo) precisa ter acesso completo ao contedo das pastas compartilhadas, j que todos os acessos sero feitos atravs dele. Caso necessrio, altere as permisses 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 alteraes seja aplicadas de forma recursiva, atingindo todos os subdiretrios dentro da pasta, enquanto o "gdh.gdh" indica o usurio e o grupo que assumir o controle. Uma ltima observao que este arquivo de configurao faz com que seu servidor Samba assuma a funo de master browser da rede, fornecendo aos clientes a lista dos compartilhamentos disponveis em toda a rede. Se voc for usar esta configurao em mais de um servidor na mesma rede, remova a linha "local master = yes", ou use um nmero mais baixo na opo "os level =" (nos demais servidores), caso contrrio os servidores ficaro continuamente disputando o cargo, o que prejudicar a navegao dos clientes. As alteraes feitas no arquivo de configurao do Samba so aplicadas automaticamente aps alguns minutos, mas se voc quiser verificar rapidamente uma alterao que acabou de fazer, pode forar 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 acessveis permanentemente e a conexo seja restaurada durante o login. Nos clientes Windows, voc pode mapear compartilhamentos clicando com o boto direito sobre o "Meu Computador" e usando a opo "Mapear unidade de rede". Nos clientes Linux, a melhor opo para criar um mapeamento permanente inserir uma linha diretamente no arquivo "/etc/fstab", que contm a lista das parties e compartilhamentos de rede que o sistema deve montar durante o boot. O arquivo "/etc/fstab" um dos principais arquivos de inicializao 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 endereo 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 sero usados para acessar o servidor, o "uid=joao" indica o usurio 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 no temos opes adicionais. Dentro do nosso exemplo, poderamos usar a linha: //192.168.1.254/videos /media/videos smbfs username=fulano,password=1234,uid=gdhnet 0 0 Veja que, por segurana, preferi especificar diretamente o endereo IP do servidor, de forma a evitar qualquer possibilidade de problemas relacionado resoluo do nome. Como nosso servidor foi configurado para permitir o acesso usando a conta guest, posso colocar qualquer login na opo "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 alterao 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 partio local, inclusive abrindo arquivos e vdeo e audio sem precisar copi-los para a sua mquina previamente. A nica observao que a banda da rede precisa ser suficiente para transferir o arquivo na velocidade necessria para exib-lo, de forma que assistir um vdeo em alta resoluo, atravs de uma rede wireless lenta ou congestionada pode resultar em um vdeo saltado.