Introdução ao samba
Autor: @ndersonsg | Publicado: 2012-01-23T07:48:00-08:00

IntroduçãoAntes de começar vamos entender o que é o Samba. Em uma rede énecessírio compartilhar dados, por isso temos que pensar em obter o míximo emqualidade do Sistema / Aplicação que serí o responsível por esta tarefa.Com o SAMBA é possàvel compartilhar diretórios, impressoras, acessararquivos na rede exatamente como em redes Microsoft. Mas neste caso, seuservidor é um Linux rodando uma aplicação especàfica. O Windows NT e o2000 (assim como o NetWare 5 e outros presentes no mercado) sãoreconhecidos mundialmente por sua segurança e escalabilidade, mas o SAMBApossui muitas vantagens que podem se transformar em soluções e economiapara sua empresa. Confira:- Permite compatibilidade com estações Windows (de WfW a 2000) eservidores WinNT 4.0 e 2000. Entre servidores e estações Linux (com InterfaceGrífica por exemplo) a compatibilidade é total.- O SAMBA é 100% configurível, com a grande vantagem de centralizaresta configuração em um único arquivo, o smb.conf. Sem dúvida é muitointeressante ter a possibilidade de restaurar toda a configuração quedisponibiliza seu Servidor de Arquivos (inclusive as permissões de acesso)através do backup de apenas 1 arquivo, em casos de desastre. Porém issonão quer dizer que não seja necessírio o backup de outros arquivos deconfiguração... :)- Todo o SAMBA pode ser configurado remotamente através de acessoseguro, além do recebimento por email de informações do estado do servidor(bastando utilizar um script especàfico que busca informações nosarquivos de log e cria um arquivo que pode ser enviado por email).- Em se falando de economia não hí o que discutir: o Linux e o SAMBAestão disponàveis para download na Internet sem ônus algum para qualquerusuírio comum ou empresa que se interesse em utilizí-lo, sem custos comlicenças ou atualizações.- As mais recentes distribuições jí trazem o SAMBA como padrão, mas seudownload e atualizações estão disponàveis em:- O suporte estí disponàvel 24h por dia, o ano todo: além do próprio site doSAMBA existem milhares de sites e listas de discussão dedicadas ao assunto,entre outras documentações e artigos em sites de renome por Administradores eEngenheiros de Redes Linux. Muita coisa jí estí em nosso idioma facilitandoos iniciantes e interessados em leitura. Muitos sites nacionais sãoespecializados em Linux e Segurança para Linux.Se a sua empresa busca uma solução estível e segura para Servidor deArquivos da rede, o SAMBA é uma grande opção.Instalação----------Se a distribuição que deseja utilizar jí traz o SAMBA (como aConectiva, RedHat, Mandrake, Debian, TechLinux, Suse, praticamente todas hoje emdia!), a instalação não é necessíria. Se deseja atualizí-lo ou iniciara instalação, siga os passos abaixo.Para instalar o SAMBA é necessírio antes saber se o pacote obtido estíno formato RPM ou .tar (.tgz ou .tar.gz). Se o pacote for um RPM,execute o comando abaixo:#rpm -ivh samba-2.2.x-i386.rpmAtualmente grande parte das distribuições instalam o conjunto depacotes samba-common, samba-client e samba-doc juntamente com o pacote samba,criando uma dependência entre estes pacotes.Substitua o "x" pelo número relativo a versão do pacote ou o nomecorreto do pacote dependendo da sua distribuição. Para atualizar o SAMBAatual, substitua a sintaxe -ivh por -Uvh. Se o pacote veio no formatotar.gz, execute o comando abaixo:#tar -zxvf samba-2.2.x-i386.tar.gzUm diretório serí criado com o nome samba-2.0.x. Entre neste diretórioe em seguida no subdiretório source. Para iniciar a instalação digite:#./configure Em seguida digite:#make Os binírios do SAMBA serão criados. Quando terminar digite:#make installAgora os binírios e píginas do man serão instalados. Aguarde o processoe quando terminar confira o diretório /usr/doc/samba-2.2.x/docs parainformações sobre o SAMBA.Configuração------------Toda a configuração do SAMBA é centralizada no arquivo smb.conf, quedeve ser guardado no diretório /etc.(OBS: A partir da versão 7 do RedHat, o arquivo smb.conf foi "movido",devendo ser guardado no diretório: /etc/samba)Nele é que são descritos os compartilhamentos, permissões de acesso,impressoras, dentre outras configurações disponàveis. Quando instalado, oSAMBA disponibiliza os seguintes componentes:smbd - O servidor SAMBA.nmbd - O Servidor de nomes NetBiossmbclient - Cliente SMB para sistemas Unix.smbmount - Ver final do documento, em Configurações.smbpasswd - Alterar senhas (encriptadas) de usuírios smb.smbprint - Cliente para envio de impressão a sistemas Linux.smbstatus - Apresenta a situação atual das conexões SMB no Host.testparm - Verifica o arquivo smb.conf (configuração do SAMBA).testprns - Verifica a comunicação via rede com as impressoras.O smb.conf é dividido basicamente em três partes: a configuração doservidor SAMBA (parâmetros na seção [global], [printers] e [netlogon]), aconfiguração dos diretórios/pastas pessoais dos usuírios (parâmetros naseção [homes]) e as demais seções que correspondem aos diretórioscompartilhados.Cada seção é representada entre colchetes [seção], e os parâmetros sãoseguidos do sinal de igual (=) e o valor ou termo correspondente.Confira abaixo um exemplo do smb.conf para um servidor Samba como PDC darede:[global]comment = Servidor SAMBAworkgroup = EMPRESAsecurity = useros level = 100announce as = NT Serverdomain logons = yeslogon script = %U.batlogon path = //%L/Profiles/%Udomain master = yeslocal master = yespreferred master = yesguest account = nobodyencrypt passwords = yes# wins server = 192.168.0.2wins support = yeskeep alive = 20debug level = 3winpopup command = /bin/csh -c 'xedit %s; rm %s' &amp;log file = /var/log/samba_log.%unull passwords = nounix password sync = yessocket options = IPTOS_LOWDELAY TCP_NODELAYprinting = bsdprintcap name = /etc/printcapload printers = yeshosts allow = 192.168.0. 127.hosts deny = 192.168.0.3 192.168.0.4[homes]comment = Pastas dos Usuariospublic = nobrowseable = yeswriteable = yeshosts deny = 192.168.0.250[printers]comment = Impressoras Linuxpublic = nobrowseable = yesprintable = yesread only = yescreate mode = 0700path = /var/spool/sambaadmin users = admin, usuario1[netlogon]comment = Compartilhamento de Scriptspath = /etc/scriptspublic = nobrowseable = yeswriteable = no[diretoria]comment = Grupo Diretoriapath = /home/diretoriapublic = nobrowseable = yesvalid users = @diretoriawriteable = yeswrite list = @diretoriaforce create mode = 0777force directory mode = 0777[comercial]comment = Grupo Comercialpath = /home/comercialpublic = yesbrowseable = yeswriteable = yeswrite list = @comercialread list = @marketingforce create mode = 0777force directory mode = 0777[transf]comment = Area de Transferenciapath = /home/transfpublic = yesbrowseable = yeswriteable = yeswrite list = @todosforce create mode = 0777force directory mode = 0775max disk size = 200[oculto$]comment = Especifico do Adminpath = /home/admin/ocultocopy = homesmax connections = 1Conhecendo os parâmetros-------------------------&gt; Seção [global]Define as configurações globais do SAMBA. A relação abaixo apresenta aexplicação dos parâmetros do exemplo:commentComentírio para este Host na Rede.workgroupEspecifica o Domànio ou Workgroup a que o Host pertence na Rede.securityPor padrão o SAMBA utiliza a segurança a nàvel de usuírio (security =user), com opções:security = share - Senhas de acesso serão solicitadas por cada recursocompartilhado e não por usuírio, ou seja, cada diretório ou impressorapoderí ter uma senha única conhecida pelos usuírios autorizados. Estaopção é geralmente usada p/ estações de trabalho Linux, onde em diversoscasos simplifica o acesso a dados locais quando necessírio.security = user - As permissões são dadas de acordo com o login dousuírio, ou através dos grupos (@grupo).security = server - O SAMBA tentarí validara senha do usuírio enviandoos dados para outro servidor SMB, como outro servidor SAMBA ou umservidor Windows. Deve-se incluir o parâmetro .password server = x.x.x.x. naseção [global] do smb.conf.security = domain - Usado se o Host for adicionado a um Domànio Windowsatravés do comando smbpasswd. Neste caso as informações de usuírio esenha serão enviadas para o PDC da rede, exatamente como o servidor NTfaria. Note que é necessírio que a conta do usuírio exista tanto no Linuxquanto no servidor primírio (mais adiante isso serí explicado de formadetalhada).os levelEste parâmetro não é obrigatório se você não possui um servidor Linuxou Windows na rede, mas deve ser usado caso tenha um ou mais. A variívelé um número de 1 a 255, onde 65 é a mesma variível utilizada peloservidor Windows. Especifique um número maior que este (como 100 porexemplo) para garantir que o servidor SAMBA seja eleito na escolha devalidação do login das estações.announce asPermite especificar o tipo de servidor NetBios (nmbd) que serídivulgado na rede. As opções aceitas pelo SAMBA: "NT Server", "NT Workstation","Win95" ou "WfW".domain logonsUsado para validar o login na rede, apenas para estações Windows.logon scriptIndica qual arquivo de logon script serí executado para os usuírios. Avariível %u corresponde ao usuírio na rede. Deve também ser criado umcompartilhamento de nome [netlogon] apontando para o diretório dosscripts.logon pathIndica o caminho do perfil remoto do usuírio. A variível %L correspondeao nome do servidor NetBios (que pode ser o próprio SAMBA). O logonpath é útil quando usuírios costumam efetuar logon em mais de um Host narede, pois seu perfil é trazido com o logon. No caso do exemplo, odiretório "Profiles" deve conter os scripts (em formato Microsoft usando NETUSE e etc) e os scripts devem ser criados com o notepad do Windows porexemplo, a fim de conservar o formato do arquivo.domain masterIndica se o Host serí o Domain Master Browser da rede inteira (WAN).local masterIndica se o Host serí o Master Browser da rede local.preferred masterEste parâmetro força a eleição do SAMBA como Master Browser para oworkgroup. É recomendível utilizar este parâmetro em conjunto com o "domainmaster = yes" para garantir a eleição. Mas tome cuidado: se você possuiuma rede com servidores Windows e SAMBA e jí possui um servidor comoDomain Master, não use esta opção e deixe o parâmetro "os level = 65"para haver equilàbrio.guest accountO SAMBA trabalha melhor em redes Microsoft com a existência de umaconta guest (visitante em inglês). Por padrão a conta usada é nobody (amesma utilizada pelo Apache).wins serverIndica qual o servidor de Wins da rede. Se o próprio Host for oservidor de Wins então não utilize este parâmetro, pois haverí um loop e osistema travarí!wins supportPermite ao SAMBA ser o servidor de Wins na rede. Isto significa que oSAMBA terí uma tabela com o ambiente completo da rede, garantindo que asestações tenham acesso a estas informações e ganho em velocidade paraencontrar e acessar os compartilhamentos e impressoras. O Wins Serverdeve ser especificado na configuração de rede (TCP/IP) das estações,indicando o endereço IP do servidor.keep aliveComo míquinas rodando Windows tendem a travar com o passar do tempo,este parâmetro é usado para verificar o estado da conexão, evitandotrífego desnecessírio na rede. Também pode ser usado para estações Linux.debug levelParâmetro usado para dar flexibilidade a configuração do sistema.Permite ao SAMBA trabalhar corretamente com algumas situações de erro, porexemplo.winpopup commandEspecifica qual comando serí executado quando o servidor recebermensagens Winpopup. Aqui, muitas opções podem ser usadas de acordo com apreferência do Administrador. Se sua rede utiliza mensagens deste tipo, éinteressante definir um comando para o parâmetro, evitando assimpossàveis mensagens de erro para quem enviou a mensagem ao servidor.log fileIndica o arquivo de log do SAMBA. A variível %u corresponde ao nome delogon do usuírio. O samba por padrão gera arquivos de log em/var/log/samba que indicam por exemplo os horírios de logon dos usuírios, quemacessou determinado arquivo, etc. Esteja atento para estas informaçõespara consultas quando necessírio.null passwordsIndica se serí ou não possàvel que usuírios tenham senha nula de logon(logon sem senha).unix password syncSe este parâmetro for ativado (= yes) então clientes SMB (como estaçõesWindows) poderão trocar sua senha de login.socket optionsEste parâmetro permite configurações extras para o protocolo,possibilitando uma melhor performance do servidor em lidar com os pacotes narede.printingIndica qual o sistema de impressão padrão utilizado pelo Linux.printcap nameIndica o arquivo para busca das definições das impressoras.load printersDisponibiliza as impressoras para a rede.hosts allowIndica quais míquinas tem acesso ao servidor SAMBA. Pode-se utilizar oendereço IP ou o nome da míquina. Para garantir acesso a toda uma redepor exemplo, escreva: "hosts allow = 192.168.1.". Este parâmetro deveser usado preferencialmente nas demais seções, mas também pode ser usadona seção Global.hosts denyComo em "hosts allow", mas para restringir o acesso ao servidor SAMBA.Seção [homes]Define os parâmetros para as pastas pessoais dos usuírios na rede (homedir):commentComentírio para este compartilhamento.publicTambém conhecido como "guest ok", permite ou não acesso de outrosusuírios.browseableDefine se o compartilhamento serí ou não visàvel para o Ambiente deRede. Estações Windows95 versão 4.00.950-C não aceitam esta opção, ondeuma possàvel solução é utilizar o nome do compartilhamento seguido de $(teste$ por exemplo), como faz-se no Windows.writeableIndica se o usuírio poderí ou não escrever em sua pasta pessoal (homedir).-&gt; Demais Seções [shares]Correspondem aos compartilhamentos presentes na rede. Os parâmetrosabaixo são apenas alguns dos possàveis que podem ser utilizados:commentComentírio para o compartilhamento.pathCaminho do diretório compartilhado.valid usersEste parâmetro é usado para destacar quem terí acesso aocompartilhamento na rede. É importante destacar que estações Win95/98/Me têmdiferenças entre si que em muitas situações representam um problema para acessoe segurança. Acontece algumas vezes de você definir o "write list" e o"read list" corretamente mas mesmo assim usuírios do "read list"conseguem escrever no compartilhamento (!). Para resolver este problema,inclua o "valid users" indicando os usuírios que têm acesso e em seguidainclua o "write list" e o "read list" conforme sua necessidade.writeableIndica se serí ou não possàvel criar ou excluir arquivos ou diretóriosdo compartilhamento.public / guest okIndica se serí ou não permitido o acesso de outros usuírios.browseableDefine se o compartilhamento serí ou não visàvel para o Ambiente deRede do Windows (apresentado na rede).write listDefine os usuírios e/ou grupos com acesso de escrita nocompartilhamento. Para mais de um usuírio, separe os nomes por vàrgula(user1, user2, etc) e para grupos utilize @ antes do nome do grupo.read listComo em .write list., mas define quem terí permissão de apenas leitura.force create modeDiz ao SAMBA para forçar o tipo de permissão dos arquivos criados (omesmo que usar o chmod). Esta permissão tem menor prioridade que osparâmetros write list e read list.force directory modeO mesmo que force create mode, mas para os diretórios criados nocompartilhamento.admin usersIndica quais são os usuírios com permissão completa para ocompartilhamento (permissão de root).copyPermite copiar os parâmetros de outra seção, como um template porexemplo, útil se utiliza compartilhamentos semelhantes. Para alterarparâmetros basta informí-los na seção atual.hosts allowIndica quais míquinas podem acessar o compartilhamento. Pode-seutilizar o endereço IP ou o nome da míquina. Para garantir acesso a toda umarede classe C por exemplo, escreva: "hosts allow = 192.168.1.".hosts denyComo em "hosts allow", mas para restringir o acesso aocompartilhamento.max connectionsPermite especificar o número míximo de conexões simultâneas aocompartilhamento.max disk sizePermite especificar qual o limite de espaço em disco que ocompartilhamento pode utilizar. Este valor é definido em Mb (megabytes).Abaixo temos variíveis que podem ser usadas em parâmetros:%S - Nome do Serviço (compartilhamento) atual.%u - Nome do usuírio.%g - Nome do grupo.%H - Nome do diretório pessoal do usuírio (home dir).%m - Nome da míquina cliente fornecido pelo NetBios.%L - Nome do servidor NetBios, permitindo que a configuração desejadaseja alterada de acordo com o cliente que vai acessar o sistema.%M - Nome Internet da míquina cliente.%a - Sistema Operacional da míquina remota, onde os reconhecidos sãoWfW, Win95, Win2000.%I - O endereço IP da míquina cliente.%T - Data e horírio.Testando o SAMBA----------------Agora que o smb.conf estí configurado faça um teste para saber se estítudo certo, com o comando testparm:# testparm &gt; teste_config_samba #Serí criado o arquivo teste_config_samba. Confira este arquivo e casoexista alguma mensagem de erro (ERROR...) volte a corrija o problema.Acertadas as configurações, deve-se ativar o SAMBA:#/etc/rc.d/init.d/smb startSe quiser conferir se o SAMBA estí realmente no ar, execute o comandoacima mas substitua o "start" por "status".Para que o SAMBA seja iniciado sempre após a inicialização do servidor,execute o ntsysv e marque o SMB. Se preferir, você também pode escrevera linha de "start" do smb no arquivo /etc/rc.d/rc.local, da seguinteforma:1) De um vi no rc.local (#vi /etc/rc.d/rc.local ).2) Tecle "i" para editar e ví até o final do arquivo (Page Down).3) Escreva a seguinte linha: /etc/rc.d/init.d/./smb start4) Tecle "Esc" e em seguida ":" e depois "wq" para sair.A partir de agora, sempre que o computador for reiniciado o SAMBA seríativado automaticamente.Em uma estação Linux, é necessírio dar um "start" exatamente como noservidor, onde o smbclient deve ser utilizado para acessar oscompartilhamentos disponàveis no servidor.Ainda na estação Linux, é necessírio que cada uma contenha um smb.confse diretórios locais precisarem ser compartilhados.Estações Windows devem estar com o TCP/IP configurado corretamente (IP,Míscara de SubRede, Wins se existir, etc).Acessando Servidores através de Estações Linux-----------------------------------------------&gt; O smbclientDa mesma forma que o SAMBA permite que o Linux atue como servidor paraestações Linux e redes Microsoft, ele também permite atuar como estaçãode trabalho para acessar servidores de ambos sistemas, sem que nenhumaconfiguração seja necessíria no servidor.Com o smbclient é possàvel acessar dados em um servidor Windows (lembrao comando net, mas a sintaxe utilizada é similar aos de FTP). Ele podeser usado para receber e enviar arquivos, listar diretórios, navegarpelos diretórios, renomear e apagar arquivos, entre outros. Diretórioscompartilhados por um servidor SAMBA são acessados da mesma forma.Para verificar quais compartilhamentos estão disponàveis em umdeterminado Host, execute:$smbclient -L host_desejadoA resposta serí uma lista de serviços, ou seja, nomes de dispositivosou impressoras que podem ser compartilhados com os usuírios na rede. Amenos que o servidor SMB não tenha itens de segurança configurados, serísolicitada uma senha antes de mostrar as informações. Exemplo:$smbclient -L servidor1A resposta serí semelhante a:Server time is Fri Dec 22 15:58:02 2000Timezone is UTC+10.0Password:Domain=[EMPRESA] OS=[Windows NT 4.0]Server=[NT LAN Manager 4.0]Server=[servidor1] User=[] Workgroup=[EMPRESA] Domain=[]Sharename Type CommentADMIN$ Disk Remote AdministrationPublic Disk PublicC$ Disk Default SharePrint$ Disk Printer ControlPara acessar uma pasta compartilhada, basta especificar o caminho narede, conforme abaixo:$smbclient //maquina/pasta1 senha O smbtarTambém é possàvel fazer backup (cópias de segurança) para o formato.tar de arquivos que estão em compartilhamentos na rede. Esta operação émuito útil para garantir backup de arquivos em estações com pastascompartilhadas mas que não pertencem ao Domànio da rede (por exemplo) ou emestações isoladas da rede. O comando utilizado é o smbtar:$smbtar -s HOST -p SENHA -x COMPARTILHAMENTO -d PASTA -t FITA (.tar)Como exemplo vamos criar um arquivo chamado vacina.tar que serí obackup de //servidor1/vacinas/vacina.exe sem senha para acesso:$smbtar -s servidor1 -x vacinas -d vacina.exe -t vacina.tarPara conferir se o arquivo foi criado corretamente, digite:$tar -tvf vacina.tarSe o empacotamento teve sucesso, você verí o nome original do arquivo eseu tamanho. Para que o backup seja guardado em fita deve-se mudar asintaxe do comando, substituindo o nome do arquivo pela unidade de fitainstalada (geralmente /dev/st0).-&gt; O smbpasswdO SAMBA permite também que as estações troquem suas senhas de logon,utilizando o smbpasswd. Ele age de forma similar ao comando passwd, masas senhas são armazenadas no arquivo smbpasswd. É possàvel ainda alterara senha dos usuírios em um servidor Primírio de um Domànio NT (PDC).Utilizado pelo superusuírio, ele permite que contas sejam adicionadosou removidos e atributos sejam alterados.Mantenha o "localhost" especificado no parâmetro "allow hosts" para seuperfeito funcionamento.O smbpasswd é um arquivo em formato ASCII e contém o nome do usuírio,identificação junto ao Linux, a senha encriptada, o indicador de comoestí a conta e a data de última alteração da senha do usuírio.Vale destacar que o smbpasswd somente é útil quando o SAMBA estíconfigurado para utilizar senhas criptografadas (veja detalhes emConsiderações).-&gt; O smbstatusPara saber a situação atual das conexões SAMBA, utilizamos o smbstatus($smbstatus -p - Lista os processos smbd e finaliza em seguida. Útil quandoutilizado em programas.-S - Lista todos os compartilhamentos definnidos.-s - Permite utilizar outro arquivo de conffiguração (smb.conf2 porexemplo), que deve ser especificado após a opção.-u - Lista as informações rellevantes sobre o usuírio, que deve serespecificado após a opção.-&gt; O testprnsO testprns verifica o nome da impressora junto ao smbd, a fim dedeterminar se hí um nome vílido (entrada encontrada em printcap para aimpressora) sendo informado para uso pelo serviço de impressão. Pode serativado da seguinte forma:#testprns ftp://ftp.samba.org/pub/samba/pwdump/pwdump.exeEfetue logon como usuírio Administrator no servidor NT (quedisponibiliza a autenticação). Em seguida, abra um Command Prompt e ví até odiretório que você colocou o pwdump. Rode o comando pwdump da seguintemaneira:#pwdump smbpasswdSerí gerado um arquivo smbpasswd com as informações de autenticação(logon e senha) do Windows NT no formato criptografado utilizado peloSAMBA. Agora copie o arquivo smbpasswd gerado para o servidor Linux(através de diskete ou diretório compartilhado, por exemplo). No Linux, jogueo arquivo smbpasswd criado para o diretório /etc e defina as permissõespara 600:#chmod 600 /etc/smbpasswdPara que funcione corretamente, é importante destacar que o ID dosusuírios seja o mesmo tanto no smbpasswd quanto no passwd do Linux. Abra osmbpasswd e exporte os dados de autenticação (nome do usuírio, ID, etc)mas não é possàvel fazer o mesmo com as senhas. Se você quiser exportaras senhas vai ter que quebrí-las com algum password cracker :) Naverdade não é necessírio ter a senha no passwd, apenas o login, ID e home.Para rodar o SAMBA e ele autenticar os usuírios, não é preciso ter asenha no passwd do Unix, apenas o login, ID e home se você quiserexportí-los. Vão ser utilizadas as senhas do smbpasswd.Luciano Linhares Martins lmartins@matrix.com.br criou um scriptbaseado no mksmbpasswd para converter as senhas em formato smbpasswd para opasswd. Funciona bem e pode ser modificado conforme a necessidade decada um. É um script bem simples e pode ser alterado de acordo com a suanecessidade. Crie o arquivo mkpasswd.sh com o conteúdo abaixo:#!/bin/shawk 'BEGIN {FS=":"printf("#\n# Unix password file.\n#\n")}{ printf( "%s:*:%s:103:%s:/home/%s:/bin/bash\n", $1, $2, $5, $1) }'Dê um chmod 700 no arquivo e execute da seguinte maneira:#cat /etc/smbpasswd | ./mkpasswd.sh passwd-smbSe o seu arquivo smbpasswd e o script mkpasswd.sh estiverem em outrolocal, configure de acordo com a sua necessidade. Após isso, é gerado umarquivo chamado passwd-smb com os logins, id's, home, etc no formato dopasswd do seu sistema.Normalmente, os ID's do smbpasswd vão começar a partir de 1000 e vocênão vai ter problemas para junta-lo com o seu passwd do Unix sem nenhumconflito. Eu recomendo que você confira antes de juntar as bases.Procure por logins com o mesmo ID, mesmo username e username com espaços.Se você utiliza shadow é importante desabilití-lo antes de juntar osarquivos. Desabilite o shadow através do comando pwunconv. Em seguidapara passar o arquivo passwd-smb para o passwd do sistema entre nodiretório onde esta o arquivo passwd-smb que você gerou e digite:#cat passwd-smb /etc/passwdSe você utiliza o shadow, pode reativí-lo agora através do comandopwconv. Reinicie o Linux para que as alterações entrem em vigor.Exemplo de Login Script para estações Windows---------------------------------------------O login script (ou logon script) é uma ferramenta muito útil paradisponibilizar recursos na rede. O script abaixo é um exemplo que pode usadoem redes com estações Windows.Lembre-se de que deve ser criado com o notepad (por exemplo) em umaestação Windows para que funcione corretamente! (Confira a seção [global]para saber mais sobre o logon script). Note que a sintaxe do comandonet é diferente para sistemas 95/98/Me e NT/2000.rem Logon script padrão para a rede.net time \\servidor1 /set /yes@echo offif %OS%.==Windows_NT. goto WinNT:Win95net use X: \\servidor1\pasta_01net use Z: /HOMEgoto end:WinNTnet use X: \\servidor1\pasta_01 /persistent:nonet use Z: /HOME /persistent:no:endConfigurando o SAMBA Remotamente--------------------------------Além de ser um software de uso livre e compatàvel com redes existentes,o SAMBA ainda possui outra caracteràstica: permite ser administradoremotamente. Para isso deve utilizar um programa especàfico que geralmentetrabalha via http. É possàvel monitorar através de sua rede interna oumesmo através da Internet.Os principais programas são o SWAT, Webmin e o LinuxConf. Existemoutros mas não vou entrar em detalhes de como instalar estes programas ouutilizí-los, mas abaixo estí o link para downloads, inclusive deprogramas para administrar o SAMBA através da Interface Grífica do Linux:http://us4.samba.org/samba/GUIConsiderações-------------Abaixo estão algumas considerações importantes sobre o SAMBA:O SAMBA permite ainda muitas outras configurações que podem serconsultadas através do man do smb.conf. Uma documentação importante estí em/usr/doc/samba-2.2.x/ com dicas e referencias a segurança, navegação,compatibilidades, etc.Uma caracteràstica das versões mais recentes do SAMBA é a possibilidadede um cliente NT/2000 usar sua interface nativa de configuração paraver e modificar permissões no Linux. O parâmetro "nt acl support = yes"deve ser adicionado na seção [global] do smb.conf.A aplicação smbmount vem inclusa no pacote do SAMBA (samba-client) coma função de possibilitar a montagem de um compartilhamento de outramíquina localmente. É uma ótima ferramenta mas pode apresentar problemas,onde os mais conhecidos são quando compartilhamos unidades de CD viarede. O comando mount é mais seguro e pode fazer exatamente a mesmatarefa, com a seguinte sintaxe:mount -t smbfs -o username=usuario,password=senha //estacao/pasta /localO diretório /local deve ser criado antecipadamente. Vale a penaescrever uma linha no /etc/fstab para facilitar o processo.Não é aconselhível reiniciar o SAMBA a cada modificação no smb.conf.Com excessão a parâmetros como "path", "logon master", e outros quedefinem acesso ou segurança, a criação de compartilhamentos e permissões deacesso são automaticamente validadas pelo Samba. Muitos programas ficam"salvando" arquivos constantemente enquanto estão abertos, e se nestemomento você reiniciar o SAMBA serí um risco de se perder o arquivo.Por padrão o SAMBA não utiliza autenticação encriptada na rede, mas sim"clear text". Versões mais atuais do Windows95/98/Me não utilizam omodo "clear text". Para resolver este problema temos duas soluções:Solução 1 - Inserir os parâmetros "encript passwords = yes" e "smbpasswd file = /etc/smbpasswd" na seção [global] do smb.conf e certificar-sede que todas as estações na rede utilizam autenticação encriptada nologon. Para fazer o Windows trabalhar com senhas criptografadas, use oregedit e crie a seguinte chave:Windows 95/98HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servic es\VxD\VNETSUPAdicione um novo valor DWORD: Value Name: EnablePlainTextPassword eData: 0x01Windows NT 4.0HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servic es\Rdr\ParametersAdicione um novo valor DWORD: Value Name: EnablePlainTextPassword eData: 0x01Windows 2000HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\LanmanWorkStation\ParametersAdicione um novo valor DWORD: Value Name: EnablePlainTextPassword eData: 0x01Uma vez que as alterações no registro tenham sido feitas, reinicie amíquina Windows.Para maiores detalhes, leia os arquivos ENCRYPTION.txt, Win95.txt eWinNT.txt na documentação do Samba. Se seus clientes e seu servidor estãousando senhas criptografadas, você não serí capaz de visualizarcompartilhamentos no servidor até que uma conexão inicial tenha sido feita coma autenticação apropriada. Para conseguir a conexão inicial, entre onome do compartilhamento manualmente no Gerenciador de Arquivos ou nacaixa de diílogo do Explorer, na forma '\\'. Registre-se no servidor comum nome de usuírio e senha que lhe são vílidos.Se você suspeita que seu serviço de nomes NetBIOS não estí corretamenteconfigurado (talvez porque você tenha obtido erros 'host not found' aotentar se conectar), tente usar somente o endereço IP do servidor:'\\192.168.0.1'. Para que o nome dos arquivos apareçam corretamente, vocêpode precisar configurar algumas opções na seção do compartilhamento.Adicione o seguinte parâmetro para clientes Windows 95/98/NT/2000, maspode apresentar problemas para clientes WfW3.11: "mangle case = yes".Solução 2 - Não utilizar encriptação no logon, alterando uma chave noregistro do Windows. O SAMBA trís o arquivo .reg para cada versão doWindows com a chave modificada. Execute o arquivo correspondente paravalidar a mudança (eles estão em /usr/doc/samba-2.0.x/docs).Se você não possui estes arquivos, abaixo estão as chaves que devem sermodificadas nas estações Windows para não utilizar o "clear text":Windows 95/98[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servic es\VxD\VNETSUP]"EnablePlainTextPassword"=dword:00000001WindowsNT 4.0[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Rdr\Parameters]"EnablePlainTextPassword"=dword:00000001Windows 2000[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\LanmanWorkStation\Parameters]"EnablePlainTextPassword"=dword:00000001É claro que se sua rede for "sniffada", os passwords que não estiveremencriptados serão descobertos. Em alguns casos vale a pena tirar acriptografia de login e monitorar a rede com um anti-sniffer. Mas lembre-seque o Windows NT e o 2000 só conseguem se autenticar no servidor SAMBAatravés de senha encriptada. Mais ainda: o Windows 2000 vem com algumasdificuldades para entrar no Domànio de um PDC Samba versão 2.1.x.Utilize a versão 2.2.2 ou superior do Samba para evitar problemas.Se o SAMBA deve diferenciar maiúsculas e minúsculas quando procurandopor arquivos, adicione "case sensitive = yes". Para utilizar como padrãoletras maiúsculas ou minúsculas quando os arquivos são criados,adicione "default case = lower (ou upper)". Para preservar maiúsculas eminúsculas para todos os nomes de arquivo, adicione "preserve case = yes".Para preservar maiúsculas e minúsculas para nomes DOS (8.3), adicione"short preserve case = yes".Se o servidor possui mais de uma placa de rede, o smb.conf deve conteruma especificação para qual placa serí utilizada pelo Samba. Adicione oseguinte parâmetro: "interfaces = 192.168.1.1/24", onde o número depoisda / é uma referencia à míscara de sub-rede. "24" é o valor a usar parauma rede Classe C não segmentada. Para mais informações sobre cílculode sub-redes visite:http://www.ziplink.net/~ralphb/IPSubnet/index.htmlO SAMBA atualmente não pode ser utilizado como BDC (Backup Server) emconjunto com um PDC Windows NT ou 2000. Tanto as versões 2.0.x quanto as2.2.x ainda ñ estão prontas para tal tarefa (pelo menos por enquanto).O Samba de modo geral não permite "trust relationship" entre servidoresWindows (NT e 2000). Quem sabe após ler estas linhas este recurso jítenha sido disponàvel? :)Todos os parâmetros de configuração apresentados neste manual sãovílidos para as versões 2.0.x e 2.2.x do Samba. Caso alguém encontre algumaincompatibilidade, peço que entre em contato ok!Lembre-se que a documentação do SAMBA (do protocolo SMB em geral) éextensa. Consulte os docs criados após a sua instalação. Você pode tambémobter referencias em documentações do LDP (Linux DocumentationProject), que no Brasil estí em: .Agradecimentos e créditos-------------------------(Em versões anteriores deste manual eu não citei alguns nomes,puramente por esquecimento... Peço muitas desculpas pois ainda circulam naInternet. Os devidos créditos estão abaixo e se esqueci de alguém, porfavor email-me!!)Espero com este artigo ter ajudado todos aqueles que pretendem montarum servidor de arquivos Linux e difundir o Linux e sua documentação aomaior número possàvel de empresas, administradores e usuírios.Deixo meus sinceros agradecimentos a todos que colaboraram com estemanual direta ou indiretamente, principalmente aos seguintes sites (emordem de publicação):Linux UnleashedLinuxPlaceLinux in BrazilLDP BrasilOlinuxDicas Linux... e todos os outros que também publicaram este manual e que seesforçam para divulgar o Linux no Brasil. Documentações foram consultadaspara agregar ainda mais informação a este manual, e foram elas:smb-howto do LDPsamba-howto da Conectivao man do samba (smb.conf e comandos)publicações disponàveis no site oficial do SambaEste manual pode ser encontrado em: http://br.geocities.com/vffzbrAgradeço também a todos os usuírios, administradores e leitores queenviaram emails a respeito do manual, elogiando e criticando, buscandorespostas para as dúvidas e citando dicas a serem adicionadas a este.Parabéns ao "Samba Team" pelo excelente trabalho!Grande Abraço a todos! :P