|
[03/07]
:. Resumo do dia [03/07] :. Problemas graves com os links da Telefonica em SP [03/07] :. Texas Instruments integra projetor em BlackBarry [03/07] :. Willcom 9: celular pequeno e integrado ao Google [03/07] :. SSDs consomem mais energia que HDs convencionais [03/07] :. Firefox entrou para o Guinness Book [02/07] :. Revista GIMPZINE nº 8 [02/07] :. Os críticos estão errados: o KDE 4 não precisa de um fork [02/07] :. Resumo do dia [02/07] :. Everex preparando Cloudbook de 10,2 polegadas [02/07] :. AMD Phenom de 45 nm poderá suportar memória DDR3 [02/07] :. Instalando o VMWare Workstation 6.x no Mandriva Linux [01/07] :. Um ano de GPLv3: estudos sobre a adoção da licença [01/07] :. Google e MPF entram em acordo sobre pedofilia no Orkut [01/07] :. Fotos do Eee Monitor: o 'iMac' da Asus :. Mais noticias » |
Changelog
- 20/01/2005 Documento escrito, "revisado", "htmlizado" e "uppado" totalmente às pressas em algumas horas :) -21/01/2005 Corrigidos muitos erros de português. Notei que, no phpnuke, para sair uma barra invertida, no código html é necessário inserir duas barras... Pequena atualização na seção de 'Instalação' e 'Anti-vírus' Introdução
Este documento visa abranger as dúvidas mais comuns de usuários já experientes vindos do SaMBa 2.x, ou até mesmo novatos no SaMBa 3.0. Veja bem: Novatos no servidor SaMBa, mas pressupõe-se que você tenha algum conhecimento em servidores linux, que saiba iniciar e parar serviços, editar arquivos de configuração e etc. Estou usando o Conectiva 10 e o Kurumin 3.0 no artigo, adapte os comandos caso seja necessário. Instalação
Não complique, procure binários no CD de instalação de sua distribuição ou use uma ferramenta para baixar a versão mais nova dos sites da mesma. No Conectiva, o comando ficaria (depois do bom e velho 'apt-get update') # apt-get install task-profile-sambaserver
Esse 'task', no Conectiva Linux, é um meta-pacote que inclui: [root@gateway root]# rpm -qa | grep samba Claro que você pode instalar um a um, via apt, yast ou urpmi em sua distribuição. No Kurumin, o comando para pegar a versão 3.0 do SaMBa ficaria: # apt-get install samba -t unstable
Configuração
Você até pode usar ferramentas genéricas como o webmin ou o swat, ou ainda, ferramentas próprias de sua distribuição como o Mandrake Control Center ou o YaST do SuSE, mas, de toda forma, ajustes finos devem ser feito diretamente no .conf do danado. Concentre-se então no arquivo que geralmente fica em /etc/samba/smb.conf No Conectiva, o padrão dele é ótimo, vem com ótimos "hacks" que se tornaram indispensáveis hoje em dia ao invés daquele enorme arquivo default do samba que quase ninguém lê :) Ainda no Conectiva 10, você tem a opção de dar um 'reload' no serviço, ao invés de dar um 'restart' que nada mais é um 'stop + start', ou seja, você pode fuçar no arquivo sem o medo de escutar reclamação dos usuários dizendo que a rede está caindo! :) Nas seções seguintes, vou abordar as configurações mais usadas e problemas mais freqüentes. No final, exemplos funcionais do mesmo. Migrando do SaMBa 2.x
O SaMBa 3.x está bem melhor do que seu antecessor, sem sombra de dúvidas. Leia essa nota: "O projeto Samba anunciou o lançamento da versão 3.0 oficial de seu sistema, cuja principal novidade em relação à série 2.x é o suporte a ActiveDirectory. Isto significa que ele pode se integrar a redes gerenciadas pela família Windows 2000, identificando-se como um servidor membro e autenticando usuários usando LDAP/Kerberos. Outras novidades, incluindo o suporte a unicode, nova autenticação, o surgimento do comando net (similar ao que existe no Windows) e muito mais você encontra no anúncio de lançamento." Contudo, você pode ter problemas com os caracteres, anti-vírus, lixeira e outras coisas no novo SaMBa, no qual irei tentar passar algumas dicas rápidas, porém precisas (como uma espadada do Ninja TuxKiller :) Os artigos anteriores sobre o SaMBa 2.x continuam disponíveis para consulta, e provavelmente você precisará consultar algum deles Arrumando os caracteres
Ainda bem que agora temos suporte ao Unicode e não precisamos arrancar a força o UTF do sistema para que os caracteres fiquem normais, como era feio anteriormente. Faça um teste: Pelo windão, crie um arquivo chamado 'çççããã' e veja no Linux como ele ficou. Agora pense na possibilidade de tentar recuperar um backup do mesmo via linha de comando. Meio difícil, né? A forma de dizer para o SaMBa que nós somos da Ilha de Vera Cruz e falamos Tupiniquim mudou do SaMBa 2.x para o 3.x, agora é usado: unix charset = iso8859-1 Isso, logicamente levando em consideração que suas estações Windows também falem Português! Caso tenha dúvidas verifique o autoexec.bat da estação, lá no meio daquela tranqueiralhada vai ter o tal o 850. Lixeira
A lixeira também mudou uma série de coisas. Mas ela continua sendo um módulo VFS (Virtual File System). Insira o bloco abaixo no seu [global] para fazer efeito em todos os compartilhamentos, ou apenas em um específico. recycle:exclude = *.tmp *.temp *.o *.obj ~$* Aprenda mais sobre os tais VFS aqui: http://info.ccone.at/INFO/Samba/VFS.html Se tudo der certo, depois do 'reload' no SaMBa, o arquivo apagado via Windows irá parar em, por exemplo, f:\.recycle Manutenção da Lixeira
Se sua lixeira estiver funcionando corretamente, em pouco tempo ela vai lotar até acabar o espaço em seu servidor :) Para evitar isso, agende no seu crontab: 00 18 * * 1-5 find /dados/.recycle/ -type f -mtime 15 -exec rm -rf {} \; Cuidado com o comando, que apagará os arquivos que estão na lixeira há mais de 15 dias, de segunda a sexta às 18:00! Anti-vírus
Esse é outro cara que mudou, e, como a prima Lixeira, ainda é um módulo VFS. No Conectiva 10 com o pacote 'clamav' e 'samba-vscan-clamav' instalados e o serviço 'clamd' rodando, insira as linhas abaixo na seção [global] para que o danado atue em todos os compartilhamentos ou insira apenas onde você queira que anti-vírus funcione. vfs object = vscan-clamavVale-se notar que o ClamAV não tem permissão de entrar no diretório $HOME dos usuários ;) Dê uma afinada no seu 'vscan-clamav.conf' e tome cuidado com a perda de desempenho, principalmente com arquivos grandes em rede 10/10 :) A opção 'verbose file logging' pode ser inicialmente definida para yes, para você acompanhar em /var/log/messages o que está acontecendo no seu servidor. Recomendo que defina a opção 'max file size' para '10000000' que é algo próximo a 10 MB, senão o windão pode parecer travado quando o usuário tentar abrir aquele Service Pack de 200 MB que está no servidor, e fora que a sua CPU vai ficar um tempinho com 100% de utilização. Recomendo também que a opção 'infected file action' seja definida para 'quarantine' (o diretório padrão é /var/lib/samba/quarantine) Para testar, use o Eicar especialmente desenvolvido para essa finalidade. Se não funcionar com o reload, apele para o restart (do samba e do clamd). Se for usá-lo em conjunto com a lixeira, faça uma única vez: vfs object = recycle, vscan-clamav Segurança!
Esse, na minha opinião, foi uma grade mancada "dos caras" do SaMBa, na minha opinião. Ao levantar o SaMBa em um gateway (com duas placas de rede), é conveniente que somente a rede interna tenha acesso aos arquivos, concorda? Isso era feito com a linha: interfaces = eth1 Mas, sei lá porque cargas d'agua, agora também é necessário que a linha abaixo ativada (por padrão ele é 'no') bind interfaces only = Yes Aí sim, você restringe o acesso apenas ao pessoal da eth1 (caso essa seja sua LAN). Mas, você pode ter problemas caso use autenticação do SQUID integrada com o SaMBa. Aí a autenticação começa a falhar, mesmo liberando o 'lo' (loopback) junto a eth1. Você terá que resolver a nível de firewall mesmo. Use-o também se quiser redundância :) iptables -A INPUT -p tcp -i eth0 --dport 137:139 -j ACCEPT Impressora
No Conectiva 10, os "hacks" necessários funcionam que é uma beleza! Testei com uma HP 1200 e foi tudo ok! Certifique-se primeiro, que a impressora imprime localmente (dã...) antes de tentar colocá-la no SaMBa (parece óbvio, mas tem cara um por ae....) No [global]: printcap name = cups Nos [share's]: [print$] Bloqueando extensões
Isso continua igual, e é bem legal fazê-lo :) veto files = /*.mp3/*.wmv/*.wma/*.ogg/ Resolvendo problemas
Meu professor de Integradas, na universidade, mandava a gente conversar com o exercício... agora eu entendo o que ele quis dizer, e digo a vocês: Conversem com o SaMBa!!!! :) Caso algo dê errado, corra seu terminal para /var/log/samba e veja os arquivos alterados recentemente. Olhe minuciosamente cada detalhe, se necessário, delete todos e de um 'reload' no SaMBa para ver de novo qual é o problema. Eu costumo fazer assim: # cd /var/log/samba
# ll -tr Assim, os arquivos que foram alterados por último aparecem em baixo. Use o 'tail' para acompanhar em tempo real o que está acontecendo: # tail -f log.smbd
(aperte crtl+c para fechá-lo) Caso necessário, delete tudo de novo, aumente no smb.conf o 'debug level' para '=3' (ou mais ainda!), reload no samba e veja de novo o que ocorre. Caso não entenda nada, olhe de novo. Repita esse passo até entender algo!!!! (heheheh) Claro, consultem também o oráculo (google.com) copiando e colando trechos do log... Vai na fé (isso dizia meu professor de Prolog) que você consegue resolver o pepino ;) Exemplo prático 1: Compartilhando arquivos
Um pequeno estudo de caso para ilustrar essa ocasião: Em lindo dia, chovendo pra caramba e um baita trânsito em São Paulo, um cliente me acorda no buzão dizendo que o Windão 2000 dele travou as quatro rodas e o bicho não liga mais. Depois de uma longa viajem até o local, realmente, o windão tava ruim das pernas, nem em modo de segurança ele entrava! (ahhhh, que novidade!!!) =) O W2k (vou chamá-lo dessa forma a partir de agora) apenas compartilhava uma pasta com uma galera, sem permissão nem restrição nenhuma... e ele era também os servidor do Norton Corporate da galera. Então fiz o seguinte: Levantei o SaMBa no meu servidor de Internet e e-mail que tinha ao lado rodando Kurumin, joguei os arquivos para lá usando um Live-CD antigo também do Kurumin, deixei o mesmo NetBIOS do defunto, startei o SamBa, a galera acordou e voltou a trabalhar sem saber de nada... hehehhe... enquanto isso, mais uma vez, eu cometi o "seppuku" (suicídio dos samurais :), iniciado pelo comando 'fdisk', logo depois 'format c:' que vocês devem bem conhecer... A parte que interessa, é a seguinte: Depois de instalado no Kurumin, o instalador faz algumas perguntas, como por exemplo se deseja senhas criptografadas. Responda que SIM caso trabalhe com algum Windows superior ao 95 (provavelmente sim!!!) Abrindo o smb.conf dele, deixei como mostra o setup abaixo, e vou comentando melhor ao longo do artigo as principais opções. ########################################## Alguns detalhes importantes: Bom, precisei criar a pasta /dados e dar permissão para todos nela: # mkdir /dados # chown nobody.nobody /dados -R # chmod 777 /dados -R
Verifique também se o usuário 'nobody' existe em seu sistema, e veja que, os arquivos criados dentro do servidor serão acessíveis para todos os usuários devidos devido ao '777' Veja que tomei o cuidado de deixar o mesmo nome que o servidor tinha e o mesmo nome do compartilhamento! Nota aos desatentos: Tudo isso foi feito sem nenhum boot no servidor de internet e e-mail =) Umas horas depois, depois de tudo ok com o W2k de volta ao ar, com o Nortão instalado, parei de novo os usuários e troquei o "netbios name" do SaMBa para que ele não se batesse com o Wk2 (acredite: é bem mais fácil trocar o do samba! Se o windão tiver Active Directoy então....), voltei os arquivos e mais um dia com o final feliz! :) Nota: O windão teve que continuar lá devido ao Nortão Corporate >:( Exemplo prático 2: PDC da rede
Nesse outro cenário, agora vamos montar um cara que será o PDC (Personal Digital Cellular? Não!!! Primary Domain Controller!) da rede, validando usuário e senha, rodando script de logon, sincronizando horário com as estações velhas sem baterias na BIOS :), restrição de acesso e tudo mais!! :) O .conf pode ficar mais ou menos assim: ##################################### Nessa configuração do [dados], diferente da anteior, o que o usuário criar dentro do servidor vai ser dele, obedecendo o 'umask' do seu servidor Linux. No Kurumin, ele é 022 o que significa que o diretório criado pelo mesmo terá permissão '744' ou seja: 'usuário=rwx, grupo=rx, outros=rx' Logo, outros usuários não modificação suas pastas ou seus arquivos! Só para lembrar: read = 4, write = 2 e execute = 1. Detalhes no 'man chmod' :) Outras pontos importantes a comentar: 'add machine script': Essa linha já vem no Conectiva 10, facilitando coisa de 300% o processo de colocar uma máquina com 2000 ou XP na rede pois ela cria a conta de máquina "automagicamente". Não acredita? De uma lida na seção "Colocando o WinXP na rede" do meu artigo "Samba como PDC da rede". 'logon script': Arquivo de lote que as estações irão executar ao logar no PDC. Pode-se usar variáveis, como por exemplo %m ou %u para separar os scripts por usuários ou por maquinas (não necessariamente nessa mesma ordem, detalhes na documentação :) A pasta /home/netlogon deverá ser criada, e o arquivo 'todos.bat' lá deverá existir, ** criado a partir de uma estação windows** para manter a quebra de linhas, ou convertido posteriormente com o utilitário 'unix2dos'. Um exemplo do todos.bat: @echo off Veja que você pode mapear o diretório HOME do usuário, sincronizar a data com o servidor, e até mesmo forçar a leitura de um arquivo de registro!!! Legal né? Se você colocar um 'deltree /y c:*.*' deve funcionar também, heheheh 8-) 'os level': Aumente esse número para que o SaMBa seja realmente o PDC da rede. Acompanhe nos log's, e verá que a cada inicialização ele procura por quem é mais poderoso do que ele, e, como no Highlander (só pode haver um :) ele detona o cara e assume o posto de soberano. Acha que eu estou louco? Então olhe você mesmo nos log's... Abaixe esse número para deixar uma estção Windows ganhar... hehehe 'logon path': Deixe-o em branco se quiser evitar em em todo login/ logoff a estação windows 2k/XP copie todo o seu perfil para o servidor (demora um bocado....) Bom, agora que temos o PDC, precisamos... de usuários para logar nele!!! Adicionando/ Removendo usuários
Continua a mesma coisa: Necessário usuário cadastrado e válido no Linux e no SaMBa. # useradd tuxkiller
# passwd tuxkiller # smbpasswd -a tuxkiller Note que esse usuário não terá uma shell válida, sendo impossibilitado de fazer logon via ssh/ ftp! O que mudou efetivamente, é que o stdin do smbpasswd mudou. "O que quer dizer isso", você pergunta. Antes, um simples: # smbpasswd -a login senha
Era capaz de cadastrar um fulano no SaMBa sem ter que digitar e confirmar a senha dele. Imagine esse processo x100 usuários, que legal vai ser para você, responsável pela migração... Agora, no SaMBa 3.x tive que bolar algo assim: # ( echo senha ; echo senha ) | smbpasswd -s -a login "Para que isso??" você me pergunta! Para automatizar em um script, uai! Eu achei, muito tempo atrás, um script na NET que adicionava e removia usuários no Linux, dei uma mexida no script e agora ele faz o serviço completo: Adiciona no Linux e no SaMBa, digitando uma única vez. Tem até uma cara mais amigável para o usuário final, tanto é que eu configurei o sudo em um conectiva para que um usuário mortal pudesse fazer o serviço sem a minha intervenção! Para saber mais sobre o sudo, consulte esse outro artigo nosso: Controle o acesso a Internet e diminua sua conta de telefone =) Segue o danado logo abaixo. O 'changelog' dele não está aí a toa, é para ler e configurar como é solicitado. Como em toda GPL, só peço que mantenha os créditos e caso faça alguma modificação interessante no código, que mande-o de volta para mim. Assim eu atualizo aqui e todo mundo fica feliz ;) #!/bin/bash Estação 9x/Me
Recomendo fortemente que começe por aqui que é bem mais fácil! Basta alterar a estação para fazer parte de um domínio, reiniciar e etc... fique esperto nos log's para entender o que está acontecendo. Depois que estiver tudo ok, passe para as NT-like. Estação 2000/XP
Elas são chatas, mas basta seguir as dicas do Edinho em SaMBa como PDC: Enfrentando Problemas e Aplicando Soluções! que não tem erro. Como disse antes, o processo melhorou muito e não é mais necessário editar o registro do windão, graças ao SaMBa :) Resumidamente, não acesse o servidor antes de ingressar em domínio, senão o XP vai reclamar que não pode fazer duas conexões com o mesmo usuário no mesmo servidor, algo assim. Para contornar isso, reinicie a máquina ou mande um 'net session /d' no XP e tente de novo. O root deverá estar cadastrado no SaMBa (smbpasswd -a root) Lembre-se que o novo usuário vai "perder" os e-mails, ícones, papel de parede e outras coisas, porque será criado um novo usuário no windão. Portanto, trate de backupear essas coisas em um local acessível para posterior importação. Usuário administrador
Nos NT-like (NT, 2000, XP e 2003) você irá perceber que seu usuário é um mísero mortal e que nada pode fazer no sistema. Talvez você precise instalar algum programa, então precisará tornar seu usuário um administrador na máquina NT-like. Para isso, o --d@niel-- postou umas dicas muito interessantes que se resume em: Se precisar de mais ajuda, consulte o documento Group Mapping MS Windows and UNIX. Considerações finais
Espero que este documento ajude alguém como vem me ajudado, afinal, é uma ótima coletânea de quase 1 ano acumulando dicas e resolvendo problemas nessa nova versão do software. Caso você tenha alguma contribuição para fazer ao este documento, alguma melhoria, correção de português (deve ter vários...), elogio ou algo do tipo, por favor, sinta-se a vontade em me mandar um e-mail (tiagocruz AT linuxrapido.org) Agora, caso você tenha alguma dúvida, por favor, não me mande e-mail em particular, e sim, poste no fórum para que outras pessoas ajudem a resolvê-la também. Infelizmente não posso me recordar todos que me ajudaram, de uma forma ou outra, a elaborar este documento, mas indico cegamente o FAQ do meu amigo ZAGO que muita coisa daqui saiu de lá. Também indico como leitura "extra-curricular" o Manual Oficial do SaMBa para que tudo dê certo no final. Este material é livre para leitura, uso, redistribuição ou modificação, entre outros direitos, conforme definido na licença livre GNU Free Documentation License. » Gostou do texto? Veja nossos livros impressos
|