Samba, parte 1: Instalao e configurao usando o swat
A necessidade de compartilhar arquivos e impressoras motivou o aparecimento das primeiras
redes (ainda na dcada de 70) e continua sendo uma necessidade comum. Mesmo para fazer um simples backup armazenado remotamente, necessrio confi!urar al!um tipo de compartilhamento de arquivos. "#istem diversas formas de disponibilizar arquivos, incluindo o $%&, o %'(, o &%'( e at mesmo um servidor )eb, que pode ser usado para compartilhar a pasta contendo os arquivos e aceitar uploads atravs de um script em (*(. "ntretanto, quando falamos em redes locais, o protocolo mais usado o +,%& (+ommon ,nternet %ile &-stem), que o protocolo usado para compartilhar arquivos e impressoras em redes Microsoft. . nome /+,%&/ pode soar estranho 0 primeira vista, mas ele nada mais do que a mais nova vers1o do protocolo &M2, usada a partir do 3indo)s 4000. A hist5ria do &M2 e do +,%& come6a em 789:, quando a ,2M criou o protocolo $et2,.& ($et)ork 2asic ,nput .utput), um protocolo para troca de mensa!ens entre mquinas da rede, ori!inalmente desenvolvido para servir como uma e#tens1o do 2,.& da placa;m1e, oferecendo recursos de rede. "m 789< o protocolo foi e#pandido, dando ori!em ao protocolo $et2"=,, que foi durante muito tempo o principal protocolo usado em redes locais, antes da populariza61o do '+(>,(. . &M2 (&erver Messa!e 2lock) veio mais tarde, ?unto com o 3indo)s @.77. . protocolo &M2 !overna o compartilhamento de arquivos e impressoras em redes Microsoft, incluindo a nave!a61o na rede, o estabelecimento de cone#Aes e a transferBncia de dados. . &M2 utiliza o $et2,.& para a troca de mensa!ens entre os hosts e inclui uma vers1o atualizada do $et2,.&, que roda sobre o '+(>,(. Acessando as propriedades do protocolo '+(>,( dentro das confi!ura6Aes de rede de uma mquina com o 3indo)s C(, vocB pode ver que ele continua presente, com o ob?etivo de manter compatibilidade com as versAes anteriores do 3indo)s . problema com o $et2,.& que ele depende do uso intensivo de pacotes de broadcast e de pacotes =D(. . +,%& a evolu61o natural do &M2, que inclui diversos novos recursos, abandona o uso do $et2,.& e passa a utilizar uma Enica porta '+( (::<) no lu!ar das trBs portas (7@7 =D(, 7@9 =D( e 7@8 '+() utilizadas pelo &M2. . &amba ?ustamente uma implementa61o das mesmas fun6Aes para sistemas =ni#, incluindo n1o apenas o Finu#, mas tambm o 2&D, &olaris, .& C e outros primos. "le come6ou como uma implementa61o do protocolo &M2 e depois foi sucessivamente e#pandido e atualizado, de forma a incorporar suporte ao +,%&. . &amba come6ou no final de 7887, de forma acidental. Andre) 'rid!ell, um Australiano que na poca era estudante do curso de (hD em +iBncias da +omuta61o da =niversidade $acional da Austrlia. "le precisava rodar um soft)are da D"+ chamado /eCcursion/, que trabalhava em con?unto com o (atch)orks, um soft)are de compartilhamento de arquivos que utilizava um protocolo obscuro, que mais tarde se revelou uma implementa61o do protocolo &M2 desenvolvida pela D"+. +omo todo bom hacker, ele decidiu estudar o protocolo e assim desenvolver um servidor que pudesse rodar em seu (+. "le desenvolveu ent1o um pequeno pro!rama, chamado clocksp-, que era capaz de e#aminar o trfe!o da rede, capturando as mensa!ens enviadas pelo cliente e as respostas do servidor. +om isso, ele foi rapidamente capaz de implementar o suporte 0s principais chamadas e a desenvolver um pro!rama servidor, que era capaz de conversar com os clientes rodando o (atch)orks. (ouco depois, em ?aneiro de 7884 ele disponibilizou o /&erver 0.7/ no servidor da =niversidade, que foi rapidamente se!uido por uma vers1o aprimorada, o /&erver 0.</. "ste arquivo ainda pode ser encontrado em al!uns dos %'(s do httpG>>samba.or!, com o nome /server;0.</. "sta vers1o inicial rodava sobre o M&;D.&. Depois de um lon!o perHodo de hiberna61o, o soft)are foi portado para o Finu#, dando vers1o 0 vers1o se!uinte (7.<), que foi lan6ada apenas em dezembro de 788@ e passou a se chamar /smbserver/. . nome continuou sendo usado at abril de 400:, quando foi finalmente adotado o nome definitivo. . nome /&amba/ sur!iu a partir de uma simples busca dentro do dicionrio ,spell por palavras que possuHssem as letras &, M e 2, de /&erver Messa!e 2locks/, posicionadas nessa ordem. A busca retornou apenas as palavras /salmonberr-/, /samba/, /sa)timber/ e /scramble/, de forma que a escolha do nome acabou sendo 5bvia. =ma curiosidade que n1o e#istiu um /&amba 7.0/, pois a primeira vers1o a utilizar o nome /&amba/ foi a 7.I.0<, que foi a sucessora imediata do /smbserver 7.I.:/. . pro?eto come6ou a se tornar popular a partir da vers1o 7.I.08 (lan6ada pouco depois), que foi a primeira a trazer suporte ao controle de acesso com base nos lo!ins de usurio (assim como o 3indo)s $'), enquanto as versAes anteriores suportavam apenas o controle de acesso com base no compartilhamento (assim como no 3indo)s @.77 e 8<), onde a Enica op61o de se!uran6a era usar uma senha de acesso para os compartilhamentos. A partir daH o pro?eto n1o parou de crescer, atraindo um nEmero crescente de usurios e desenvolvedores, at se transformar no monstro sa!rado que ho?e. "stes dois links contam um pouco mais sobre a hist5ria do &amba, desde as primeiras versAesG httpG>>))).samba.or!>samba>docs>70-ears.html httpG>>))).r#n.com>services>faq>smb>samba.histor-.t#t "m 8: a Microsoft liberou as especifica6Aes do &M2 e do $et2ios, o que permitiu que o desenvolvimento do &amba desse um !rande salto, tanto em recursos quanto em compatibilidade, passando a acompanhar os novos recursos adicionados ao protocolo da Microsoft, que mais tarde novamente dei#ou de ser aberto. *o?e, alm de ser quase 700J compatHvel com os recursos de rede do 3indo)s 89, $', 4000 e C(, o &amba reconhecido por ser mais rpido que o pr5prio 3indo)s na tarefa de servidor de arquivos. =m dos pontos fortes do &amba que o pro?eto foi todo desenvolvido sem precisar apelar para qualquer viola61o de patentes. 'odas as chamadas (com e#ce61o das que a Microsoft tornou pEblicas em 8:) foram implementadas monitorando as transmissAes de dados atravs da rede, que os desenvolvedores costumam chamar de /%rench +afe technique/. Dentro do e#emplo, seria como aprender francBs sentando;se em um caf e passar a prestar aten61o nas conversas e a partir daH ir aprendendo novas palavras e e#pressAes e situa6Aes onde elas podem ou n1o ser usadas. K um trabalho bastante detalhista e tedioso, que demanda um !rande esfor6o e resulta em avan6os !raduais, mas se e#ecutado por anos a fio, como no caso do &amba, que come6ou a ser desenvolvido em 7887 (? que a primeira vers1o pEblica foi disponibilizada em ?aneiro de 7884) resulta em conquistas surpreendentes. ,sso torna o &amba virtualmente a a6Aes le!ais relacionadas a quebras de patentes ou problemas similares, ? que o soft)are inteiramente baseado em observa61o e no uso de especifica6Aes pEblicas. =ma curiosidade que a e#istBncia do &amba permitiu que a Microsoft conse!uisse colocar (+s rodando o 3indo)s em muitos nichos onde s5 entravam 3orkstations =ni#, ? que com o &amba os servidores =ni# e#istentes passaram a ser compatHveis com as mquinas 3indo)s. .u se?aG at certo ponto o desenvolvimento &amba foi vanta?oso at mesmo para a Microsoft. Luase tudo que vocB pode fazer usando um servidor 3indo)s, pode ser feito tambm atravs do &amba, com uma e#celente se!uran6a e confiabilidade e com um desempenho em muitas situa6Aes bastante superior ao de um servidor 3indo)s com a mesma confi!ura61o. . &amba uma solu61o bastante completa e fle#Hvel para uso em redes locais, pois inclui vrias op6Aes de se!uran6a e, alm de compartilhar arquivos, permite tambm compartilhar impressoras e centralizar a autentica61o dos usurios, atendendo tanto a clientes 3indo)s, quanto clientes Finu#. (ara os clientes 3indo)s, o servidor &amba aparece no ambiente de redes e#ibindo os compartilhamentos disponHveis, e#atamente da mesma forma que um servidor 3indo)s .s compartilhamentos podem ser acessados da forma tradicional e inclusive mapeados. $o caso dos compartilhamentos de impressoras, possHvel inclusive utilizar o (oint;and;(rint, onde os clientes obtm os drivers de impress1o diretamente a partir do servidor e a impressora fica disponHvel com apenas dois cliques. Alm de compartilhar arquivos e impressoras, o servidor &amba pode atuar como um (D+, autenticando os usurios da rede. "#istem tambm diversas op6Aes de se!uran6a, que permitem restrin!ir o acesso aos compartilhamentos. $aturalmente, o servidor pode ser acessado de forma simples tambm nos clientes Finu# da rede. As versAes recentes do Monqueror e do $autilus incorporam plu!ins que permitem acessar os compartilhamentos de forma bastante prtica (e#perimente di!itar smbG>>endere6oNdoNservidor na barra de endere6os do Monqueror) e e#istem tambm clientes especializados, como o &mb:k . &amba dividido em dois m5dulos, o servidor &amba propriamente dito e o /smbclient/, o cliente que permite acessar compartilhamentos em outras mquinas. =sando o &amba, o servidor Finu# se comporta e#atamente da mesma forma que uma mquina 3indo)s, compartilhando arquivos e impressoras e e#ecutando outras fun6Aes, como autentica61o de usurios. OocB pode confi!urar o &amba at mesmo para tornar;se um controlador de domHnio. +omo comentei a pouco, o &amba dividido em dois m5dulos. . servidor propriamente dito e o cliente, que permite acessar compartilhamentos em outras mquinas (tanto Finu# quanto 3indo)s). .s dois s1o independentes, permitindo que vocB mantenha apenas o cliente instalado num desktop e instale o servidor apenas nas mquinas que realmente forem compartilhar arquivos. ,sso permite melhorar a se!uran6a da rede de uma forma !eral. .s pacotes do &amba recebem nomes um pouco diferentes nas distribui6Aes derivadas do Debian e no %edora e outras distribui6Aes derivadas do Ped *at. Oe?aG (acote Debian %edora &ervidorG samba samba +lienteG smbclient samba;client Documenta61o samba;doc samba;doc &)atG s)at samba;s)at (ara instala;lo no Debian ou =buntu, por e#emplo, vocB usariaG Q apt;!et install samba smbclient s)at samba;doc . script de instala61o faz duas per!untas. A primeira se o servidor deve rodar em modo daemon ou sob o inetd. Pesponda /daemons/ para quer o servidor rode diretamente. ,sso !arante um melhor desempenho, melhor se!uran6a e evita problemas diversos de confi!ura61o relacionados ao uso do inetd, servi6o que est entrando em desuso. "m se!uida ele per!untaG /Rerar a base de dados para senhas >var>lib>samba>passdb.tdbS/. K importante responder que "Sim", para que ele crie o arquivo onde ser1o armazenadas as senhas de acesso. +omo e#plica o script, /Caso voc no o crie, voc ter que reconfigurar o samba (e provavelmente suas mquinas clientes) para utilizao de senhas em texto puro/, o que um procedimento trabalhoso, que consiste em modificar chaves de re!istro em todas as mquinas 3indo)s da rede e modificar a confi!ura61o de outros servidores Finu#. Muito mais fcil responder /&im/ e dei#ar que ele utilize senhas encriptadas, que o padr1o. G) Fembre;se de que vocB deve instalar todos os pacotes apenas no servidor e em outras mquinas que forem compartilhar arquivos. . &)at a?uda bastante na etapa de confi!ura61o, mas ele opcional, pois vocB pode tanto editar manualmente o arquivo smb.conf, quanto usar um arquivo pronto, !erado em outra instala61o. $os clientes que forem apenas acessar compartilhamentos de outras mquinas, instale apenas o cliente. . %edora inclui mais um pacote, o /s-stem;confi!;samba/, um utilitrio de confi!ura61o rpida, que permite criar e desativar compartilhamentos de forma bem prtica. .utro confi!urador rpido o m5dulo /,nternet T Pede U &amba/, disponHvel no (ainel de +ontrole do MD". $este tutorial abordo apenas o s)at, que o confi!urador mais completo, mas vocB pode lan6ar m1o destes dois utilitrios para realizar confi!ura6Aes rpidas. +om os pacotes instalados, use os comandosG Q >etc>init.d>samba start Q >etc>init.d>samba stop ... para iniciar e parar o servi6o. (or padr1o, ao instalar o pacote criado um link na pasta />etc>rc<.d/, que ativa o servidor automaticamente durante o boot. (ara desativar a inicializa61o automtica, use o comandoG Q update;rc.d ;f samba remove (ata reativ;lo mais tarde, useG Q update;rc.d ;f samba defaults $o Fedora e Mandriva, os comandos para iniciar e parar o servi6o s1oG Q service smb start Q service smb stop (ara desabilitar o carre!amento durante o boot, use o /chconfig smb off/ e, para reativar, use o /chconfig smb on/. $ote que, em ambos, o pacote de instala61o se chama /samba/, mas o servi6o de sistema chama;se apenas /smb/. K sempre recomendvel utilizar os pacotes que fazem parte da distribui61o, que s1o compilados e otimizados para o sistema e recebem atualiza6Aes de se!uran6a re!ularmente. De qualquer forma, vocB pode encontrar tambm al!uns pacotes compilados por colaboradores no httpG>>samba.or!>samba>ftp>2inar-N(acka!es>, alm do c5di!o fonte, disponHvel no httpG>>samba.or!>samba>ftp>stable>. Ao instalar a partir do fonte o &amba instalado por default na pasta /usr>local>samba/, com os arquivos de confi!ura61o na pasta />usr>local>samba>lib/. "ste te#to baseado no &amba @ que, enquanto escrevo, a vers1o estvel, recomendada para ambientes de produ61o. . &amba @ trou#e suporte ao Active Director-, passou a ser capaz de atuar como (D+, trou#e muitas melhorias no suporte a impress1o e inEmeras outras melhorias em rela61o 0 srie 4.#. . &amba @.0.0 foi lan6ado em setembro de 400@, ou se?a, a mais de : anos. +omparado com os ciclos de desenvolvimento das distribui6Aes Finu#, que s1o em sua maioria atualizadas a cada I ou 74 meses, : anos podem parecer muita coisa, mas se compararmos com os ciclos de desenvolvimento de novas versAes do 3indo)s, por e#emplo, os ciclos parecem at curtos G). (ara efeito de compara61o, o &amba 4, o ma?or release anterior foi lan6ado em 7888 e o &amba : est em est!io de desenvolvimento, ainda sem previs1o de conclus1o. (or ser um soft)are utilizado em ambientes de produ61o, novas versAes do &amba s1o e#austivamente testadas antes de serem consideradas estveis e serem oficialmente lan6adas. Rra6as a isso, muito raro o aparecimento de bu!s !raves e, quando acontecem, eles costumam ser corri!idos muito rapidamente. $aturalmente, as versAes de produ61o continuam sendo atualizadas e recebendo novos recursos. "ntre o &amba @.0.0 lan6ado em 400@ e o &amba @.0.4: incluHdo no Debian "tch, por e#emplo, foram lan6adas nada menos do que 49 minor releases intermedirios. &e tiver curiosidade em ler sobre as altera6Aes em cada vers1o, pode ler o chan!e;lo! de cada vers1o noG httpG>>samba.or!>samba>histor->. OocB pode verificar qual a vers1o do &amba instalada usando o comando /smbd ;O/, como emG Q smbd ;O Oersion @.0.4: Ao usar qualquer distribui61o atual, muito provavelmente OocB encontrar o &amba @.0.4@ ou superior. &e por acaso vocB estiver usando al!uma distribui61o muito anti!a, que ainda utilize uma vers1o do &amba anterior 0 @.0.0, recomendo que atualize o sistema, ? que muitos dos recursos que cito ao lon!o do te#to, sobretudo o uso do &amba como (D+ n1o funcionam nas versAes da srie 4.#. (ara usar o &amba em con?unto com esta6Aes rodando o 3indo)s Oista, vocB deve utilizar o &amba vers1o @.0.44, ou superior, ou confi!urar as esta6Aes com o Oista para permitirem o uso do sistema $'FM, o que feito atravs do utilitrio /secpol.msc/ em Diretivas locais U .p6Aes de se!uran6a U &e!uran6a de redeG nHvel de autentica61o Fan Mana!er, alterando o valor da op61o de /"nviar somente resposta $'FMv4/ para /"nviar FM e $'FM ; use a se!uran6a da sess1o $'FMv4, se ne!ociado/. Depois de instalado, o pr5#imo passo cadastrar os lo!ins e senhas dos usurios que ter1o acesso ao servidor. "sta uma peculiaridade do &ambaG ele roda como um pro!rama sobre o sistema e est subordinado 0s permissAes de acesso deste. (or isso, ele s5 pode dar acesso para usurios que, alm de estarem cadastrados no &amba, tambm est1o cadastrados no sistema. "#istem duas aborda!ens possHveis. OocB pode criar usurios /reais/, usando o comando adduser ou um utilitrio como o /user!admin" (disponHvel no %edora e no Debian, atravs do pacote !nome;s-stem;tools). Ao usar o adduser, o comando ficaG Q adduser maria =ma se!unda op61o criar usurios /castrados/, que ter1o acesso apenas ao &amba. "sta aborda!em mais se!ura, pois os usurios n1o poder1o acessar o servidor via &&* ou 'elnet, por e#emplo, o que abriria brecha para vrios tipos de ataques. $este caso, vocB cria os usurios adicionando os parVmetros que orientam o adduser a n1o criar o diret5rio home e a manter a conta desativada at se!unda ordemG Q adduser ;;disabled;lo!in ;;no;create;home maria ,sso cria uma espcie de usurio fantasma que, para todos os fins, e#iste e pode acessar arquivos do sistema (de acordo com as permissAes de acesso), mas que, por outro lado, n1o pode fazer lo!in (nem localmente, nem remotamente via &&*), nem possui diret5rio home. =ma dica que no Fedora (e outras distribui6Aes derivadas do Ped *at), vocB s5 conse!ue usar o comando caso lo!ue;se como root usando o comando /su !/ ao invs de simplesmente /su/. A diferen6a entre os dois que o /su ;/ a?usta as variveis de ambiente, incluindo o (A'*, ou se?a, as pastas onde o sistema procura pelos e#ecutveis usados nos comandos. &em isso, o %edora n1o encontra o e#ecutvel do adduser, que vai na pasta />usr>sbin/. .s parVmetros suportados pelo adduser tambm s1o um pouco diferentes. . padr1o ? criar um lo!in desabilitado (vocB usa o comando /pass)d usurio/ para ativar) e, ao invs do /;;no; create;home/, usa a op61o /;M/. . comando (no %edora) fica, ent1oG Q adduser ;M maria De qualquer uma das duas formas, depois de criar os usurios no sistema vocB deve cadastr; los no &amba, usando o comando /smbpasswd !a/, como emG Q smbpass)d ;a maria &e vocB mantiver os lo!ins e senhas sincronizados com os usados pelos usurios nos clientes 3indo)s, o acesso aos compartilhamentos automtico. +aso os lo!ins ou senhas no servidor se?am diferentes, o usurio precisar fazer lo!in ao acessar =m detalhe importante que, ao usar clientes 3indo)s 8<>89>M", vocB deve marcar a op61o de lo!in como /Fo!in do 3indo)s/ e n1o como /+liente para redes Microsoft/ (que o default) na confi!ura61o de rede ((ainel de controle U Pedes). (ara desativar temporariamente um usurio, sem removB;lo do sistema (como em situa6Aes onde um funcionrio sai de frias, ou um aluno suspenso), vocB pode usar o parVmetro /;d/ (disable) do smbpass)d, como emG Q smbpass)d ;d maria (ara reativar a conta posteriormente, use o parVmetro /;e/ (enable), como emG Q smbpass)d ;e maria &e, por outro lado, vocB precisar remover o usurio definitivamente, use o parVmetro /;#/ (e#clude), se!uido pelo comando /deluser/, que remove o usurio do sistema, como emG Q smbpass)d ;# maria Q deluser maria Depois de criados os lo!ins de acesso, falta a!ora apenas confi!urar o &amba para se inte!rar 0 rede e compartilhar as pastas dese?adas, trabalho facilitado pelo Swat. A se!unda op61o editar manualmente o arquivo de confi!ura61o do &amba, o /"etc"samba"smb#conf/, como veremos mais adiante. As op6Aes que podem ser usadas no arquivo s1o as mesmas que aparecem nas p!inas do &)at, de forma que vocB pode at mesmo combinar as duas coisas, confi!urando atravs do &)at e fazendo pequenos a?ustes manualmente, ou vice;versa. . &)at um utilitrio de confi!ura61o via )eb, similar ao encontrado nos modems AD&F. ,sso permite que ele se?a acessado remotamente e facilita a instala61o em servidores sem o ambiente !rfico instalado. "sta mesma aborda!em utilizada por muitos outros utilitrios, como o 3ebmin. Manter o ambiente !rfico instalado e ativo em um servidor dedicado considerado um desperdHcio de recursos, por isso os desenvolvedores de utilitrios de confi!ura61o evitam depender de bibliotecas !rficas. Desse modo, mesmo distribui6Aes minimalistas podem incluH; los. $o caso de redes de pequeno ou mdio porte, vocB pode at mesmo usar uma mquina anti!a como servidor de arquivos, fazendo uma instala61o minimalista do Debian, =buntu ou outra distribui61o e instalando o &amba e o &)at em modo te#to. +omo facilitador, o &)at acaba sendo uma faca de dois !umes, pois ao mesmo tempo em que facilita a confi!ura61o, por ser uma ferramenta visual e dispensar a edi61o manual do arquivo, ele complica, por oferecer um !rande nEmero de op6Aes especHficas ou obsoletas. Oamos ent1o aprender como fazer uma confi!ura61o bsica usando o &)at e depois nos aprofundar na confi!ura61o do &amba editando o smb.conf manualmente. &e preferir, vocB pode ir diretamente para o t5pico se!uinte. $o Debian, &lack)are e tambm no Rentoo, o &)at inicializado atravs do inetd. . inetd tem a fun61o de monitorar determinadas portas '+( e carre!am servi6os sob demanda. ,sto evita que utilitrios que s1o acessados esporadicamente (como o &)at) precisem ficar ativos o tempo todo, consumindo recursos do sistema. Apesar disso, a confi!ura61o dos dois diferenteG no caso das distribui6Aes que usam o inetd, vocB precisa adicionar (ou descomentar) a linha abai#o no arquivo de confi!ura61o do inetd, o /"etc"inetd#conf/G s)at stream tcp no)ait.:00 root >usr>sbin>tcpd >usr>sbin>s)at (ara que a altera61o entre em vi!or, reinicie o inetd com o comandoG Q >etc>init.d>inetd restart $o caso do =buntu, o inetd n1o vem instalado por padr1o. A documenta61o recomenda usar o $inetd no lu!ar dele, o que uma boa dei#a para falar um pouco sobre as diferen6as de confi!ura61o entre os dois servi6os. . #inetd tem a mesma fun61o do inetd ou se?a, carre!ar servi6os sob demanda, mas mais recente e um pouco mais se!uro, de forma que tem sido mais usado. . primeiro passo para instalar o &)at no =buntu seria instalar o s)at e o #inetd usando o apt; !etG Q apt;!et install s)at #inetd Ao invs de usar um Enico arquivo central, no #inetd utilizada uma pasta com arquivos de confi!ura61o separados para cada servi6o em vez de um arquivo Enico como no caso do inetd. (ara ativar o s)at, necessrio criar o arquivo /"etc"$inetd#d"swat/, com o se!uinte conteEdoG service s)at W port X 807 socketNt-pe X stream )ait X no user X root server X >usr>sbin>s)at lo!NonNfailure YX =&"P,D disable X no Z Depois de criado o arquivo, reinicie o servi6o e o &)at ficar disponHvel. Q >etc>init.d>#inetd restart $as distribui6Aes derivadas do Ped *at, o &)at tambm inicializado atravs do #inetd. (ara ativ;lo depois da instala61o, use os comandosG Q chkconfi! s)at on Q service #inetd restart "m caso de problemas, abra o arquivo />etc>#inetd.d>s)at/ e substitua a linha /disable X -es/ (caso presente) por /disable X no/ e reinicie novamente o servi6o #inetd. $o %edora, vocB pode tambm reiniciar os servi6os usando o utilitrio /s-stemconfi!;services/, que funciona como uma interface !rfica para o comando /service/. +omo pode ver, devido 0s diferen6as de confi!ura61o entre as distribui6Aes e o uso do #inetd>inetd, ativar o s)at pode ser um pouco mais complicado do que ativar outros servi6os, embora o &amba propriamente dito n1o dependa dele para fazer seu trabalho. (ara acessar o &)at localmente, basta abrir o %irefo# ou outro 2ro)ser disponHvel e acessar o endere6o http:""localhost:%&1. $o prompt de lo!in, forne6a a senha de root (do sistema) para acessar. As credenciais do root s1o necessrias para que o &)at possa alterar os arquivos de confi!ura61o, reiniciar os servi6os e outras opera6Aes que ficam disponHveis apenas para o root. $o caso do =buntu, vocB pode definir a senha de root usando o comando /sudo pass)d/. Ao confi!urar um servidor remotamente, ou ao instalar o &amba>&)at em um servidor sem o ambiente !rfico instalado, vocB pode acessar o s)at remotamente, a partir de qualquer mquina rede. Abra o nave!ador e acesse o endere6o /httpG>>ip;do;servidorG807/, como emG httpG>>784.7I9.7.7G807. =ma observa61o que o &)at n1o utiliza encripta61o, o que uma temeridade do ponto de vista da se!uran6a, ? que al!um poderia capturar a senha sniffando a rede. OocB pode evitar isso criando um tEnel se!uro usando o &&* e acessando o &)at atravs dele. (ara isso, preciso apenas que o &&* este?a ativado no servidor. (ara criar o tEnel, use o comandoG Q ssh ;f ;$ ;F807G784.7I9.7.7G807 ;l lo!in 784.7I9.7.7 ... onde o /784.7I9.7.7/ o endere6o ,( do servidor, o /807/ a porta do &)at e o /lo!in/ a sua conta no servidor. "ste comando cria um tEnel encriptado entre a porta 807 do seu micro e a porta 807 do servidor, que permite acessar o &)at de forma se!ura. +om o tEnel ativado, vocB acessa o &)at usando o endere6o httpG>>localhostG807, como se estivesse sentado na frente do servidor. . &&* se encarre!a de transportar as informa6Aes de forma transparente. Ao abrir o &)at, vocB ver um menu como o do screenshot abai#o, com vrios links para a documenta61o disponHvel sobre o &amba, que vocB pode consultar para se aprofundar no sistema. $a parte de cima, est1o os links para as se6Aes da confi!ura61o, que o que nos interessa $a se61o 'assword, vocB pode cadastrar usurios, substituindo o uso manual do comando /smbpass)d ;a/. $este caso, vocB precisar primeiro cadastrar os usurios no sistema, utilizando o comando adduser. . &)at apenas cadastra os usurios no &amba "m se!uida, acesse a se61o /(lobals/, que en!loba todas as confi!ura6Aes de rede e acesso. A op61o /netbios name/ indica o nome do servidor, atravs do qual ele ser identificado na rede 3indo)s. $ormalmente se utiliza o nome da mquina, mas isso n1o obri!at5rio, ? que o nome de mquina utilizado pelo &amba n1o est relacionado ao nome definido no arquivo />etc>hosts/ ou 0 confi!ura61o do D$&. . nome pode ter at 7< caracteres e ser composto por letras e nEmeros, alm de espa6os e dos caracteres a se!uirG [ \ Q ] J ^ T ( ) ; _ W Z `. Ao usar mais do que 7< caracteres, os caracteres e#cedentes ser1o i!norados. K tambm permitido o uso de pontos, mas us;los n1o uma boa idia, pois torna os nomes difHceis de diferenciar de nomes de domHnio, o que pode confundir os usurios. A op61o /worgroup/ indica o !rupo de trabalho ao qual ele pertence. OocB pode tanto utilizar o mesmo !rupo de trabalho em todas as mquinas da rede, quanto a!rupar suas mquinas em !rupos distintos como /diretoria/, /vendas/, etc. A se!uir temos a op61o /interfaces/, que permite limitar os acessos ao servidor se vocB tiver mais de uma placa de rede. K o caso, por e#emplo, de quem acessa via AD&F ou cabo e possui uma se!unda placa de rede para compartilhar a cone#1o com os micros da rede local. $estes casos, a placa da )eb ser reconhecida como eth&, enquanto a placa da rede local ser reconhecida como eth1, por e#emplo. OocB pode, ent1o, preencher o campo com o endere6o da placa da rede local (eth7). Assim, o &amba s5 aceitar cone#Aes vindas dos micros da rede local, descartando automaticamente todas as tentativas de acesso vindas da internet. +aso o campo permane6a vazio, o &amba permite acessos vindos de todas as placas de rede, e necessrio bloquear os acessos provenientes da internet usando o fire)all. $a se61o Securit) *ptions temos uma op61o capciosa, que a op61o /securit-/ que aceita os valores /user/, /share/, /server/ e /domain. +om nomes t1o descritivos a confi!ura61o fica fcil, ? que /server/ para quando estamos confi!urando o &amba como servidor e /domain/ para quando ele est sendo confi!urado como controlador de domHnio, certoS "rrado[ G) As op6Aes share e server s1o op6Aes obsoletas (como veremos em detalhes mais a se!uir) e a op61o /domain/ usada quando vocB dese?a que o servidor &amba se?a confi!urado como membro (cliente) de um domHnio sob responsabilidade de outro servidor. &e vocB est confi!urando um servidor &amba, se?a como um servidor de !rupo de trabalho, se?a como controlador de domHnio, a op61o correta para a op61o securit- a /user/. =tilizando o modo user, as permissAes de acesso aos compartilhamentos do samba ficam condicionadas 0s permissAes de acesso de cada usurio. (or e#emplo, se vocB compartilhar a pasta "home"maria"ar+uivos, por default apenas a usuria maria ter permiss1o para !ravar novos arquivos e alterar o conteEdo da pasta. (ara que outros usurios tenham acesso 0 pasta, vocB deve dar permiss1o a eles, criando um novo !rupo e dando permiss1o de escrita para os inte!rantes do mesmo. .utra op61o adicionar os demais usurios no !rupo /maria/ (cada usurio possui um !rupo com o mesmo nome do lo!in, criado no momento em que cadastrado) e confi!urar as permissAes de acesso de forma que o !rupo possa escrever na pasta. OocB pode fazer a administra61o de !rupos usando o /users!admin/, que facilita bastante as coisas ao trabalhar com um !rande nEmero de usurios. Fembre;se que no Debian ele instalado atravs do pacote /!nome;s-stem; tools/. $o %edora ele se chama /s-stem;confi!;users/. &e vocB n1o est t1o preocupado com a se!uran6a, pode fazer do ?eito /fcil/, alterando a op61o /outros/ nas permissAes de acesso da pasta, que d acesso a todo mundo. ,sso faz com que qualquer usurio local do sistema (ou lo!ado via &&*) tenha acesso aos arquivos da pasta, mas n1o permite necessariamente que outros usurios do &amba possam acessar, pois neste caso ainda s1o usadas as permissAes de acesso no &amba. A altera61o das permissAes da pasta feita usando o Monqueror ou outro !erenciador de arquivos e n1o atravs do &amba. .u se?a, necessrio fazer com que os usurios do !rupo, ou todos os usurios do sistema, possam escrever na pasta, evitando que as permissAes do sistema conflitem com as permissAes confi!uradas no &amba. &e confi!uro o &amba para permitir que o usurio /?oao/ possa escrever no compartilhamento, mas a confi!ura61o das permissAes da pasta compartilhada n1o permitem isso, o ?oao vai continuar sem conse!uir escrever. Ao criar compartilhamentos no &amba, preciso se preocupar com as duas coisas. Mais abai#o, temos a op61o ,ncr)pt 'assword. "la tambm importe, e deve ficar sempre ativada ("ncr-pt (ass)ord X -es). 'odas as versAes do 3indo)s, incluindo o @.77 suportam o uso de senhas encriptadas, mas at o 3indo)s 8< ori!inal os clientes dei#avam de usar a encripta61o e passavam a enviar as senhas em te#to puro quando percebiam que o interlocutor n1o suportava encripta61o. "ntretanto, isso abria mar!em para todo tipo de ataques, de forma que a partir do 3indo)s 8< .&P>4 e do 3indo)s $' : &(@, senhas em te#to puro dei#aram de ser suportadas, de forma que ao desativar o uso de senhas encriptadas no &amba, o servidor simplesmente n1o conse!uir conversar com as mquinas 3indo)s e vocB vai ficar quebrando a cabe6a at se lembrar deste par!rafo a). A partir do &amba @ e#iste a op61o de fazer com que o pr5prio &amba mantenha as senhas dos usurios sincronizadas em rela61o 0s senhas dos mesmos no sistema. Anti!amente, sempre que vocB alterava a senha de um usurio no &amba, usando o /smbpass)d/, precisava alterar tambm a senha do sistema, usando o comando /pass)d/. As duas senhas precisam ficar em sincronismo, do contrrio caHmos no problema das permissAes, onde o &amba permite que o usurio acesse o compartilhamento, mas o sistema n1o permite que o &amba acesse os arquivos no disco. (ara ativar este recurso, ative a op61o /uni$ password s)nc/ no &)at. .ri!inalmente, esta op61o fica desativada e aparece apenas dentro das op6Aes avan6adas. (ara che!ar at ela vocB deve clicar no bot1o /+han!e Oie) 'oG Advanced/ no topo da tela. Depois de alterar, clique no +ommit +han!es/. (ara que tudo funcione, necessrio que as op6Aes /pass)d pro!ram/ e /pass)d chat/ este?am confi!uradas com (respectivamente) os valoresG />usr>bin>pass)d Ju/ e /b"ntercsne)cs=$,Ccspass)ordGb Jncn bPet-pecsne)cs=$,Ccspass)ordGb Jncn ./. "stes ? s1o os valores padr1o no &)at, mas n1o custa verificar. A op61o /-osts .llow/ deve incluir os endere6os ,( de todos os computadores que ter1o permiss1o para acessar o servidor. &e quiser que todos os micros da rede tenham acesso, basta escrever apenas a primeira parte do endere6o ,(, como em /1%/#101#&#/, onde todos os endere6os dentro do escopo ser1o permitidos. &e for incluir mais de um endere6o ou mais de um escopo de endere6os, separe;os usando vHr!ula e espa6o, como emG /784.7I9.0., 70.0.0., 74@.7@.:<.7I7/. +aso o campo permane6a vazio, a op61o fica desativada e todos os micros que tiverem acesso ao servidor &amba poder1o acessar. A op61o /-osts 2en)/, por sua vez, permite especificar mquinas que n1o ter1o permiss1o para acessar o servidor. "stas duas op6Aes possuem al!umas peculiaridades, sobretudo quando usadas em con?unto. Oeremos mais detalhes sobre o uso das duas mais adiante. "m uma rede 3indo)s, uma das mquinas fica sempre responsvel por montar e atualizar uma lista dos compartilhamentos disponHveis e envi;la aos demais, conforme solicitado. . host que e#ecuta esta fun61o chamado de /Master 3rowser/. De uma forma !eral, todas as versAes do 3indo)s s1o capazes de atuar como Master 2ro)ser da rede e o car!o pode mudar de dono conforme as mquinas v1o sendo li!adas e desli!adas, mas o &amba e#ecuta o trabalho de forma muito eficiente, de forma que, a menos que vocB tenha outro servidor em posi61o hierarquicamente superior, sempre interessante dele!ar esta tarefa ao servidor &amba. . car!o de Master 2ro)ser disputado atravs de uma elei61o, onde os micros da rede enviam pacotes de broadcast contendo informa6Aes sobre o sistema operacional usado, o tempo de uptime e outras informa6Aes. Ao receber o pacote de broadcast de um /oponente/, cada mquina compara suas credenciais com as do pacote recebido. &e suas credenciais forem inferiores, ela desiste da elei61o, caso contrrio responde enviando o pacote com suas pr5prias credencias. "ste processo de elimina61o continua at que sobre apenas uma mquina, que passa ent1o a ser o Master 2ro)ser da rede, at que se?a desconectado da rede, ou perca o car!o para outra mquina com credenciais superiores. A principal credencial o /.& Fevel/, que nas mquinas 3indo)s varia de acordo com a vers1o do sistema. As mquinas com o 3indo)s $' &erver, 4000 &erver, 400@ &erver ou 4009 &erver possuem um .s Fevel de @4, as com o 3indo)s $' 3orkstation, 4000 (rofessional ou qualquer vers1o domstica do C( ou Oista possuem .& Fevel de 7I e as versAes anti!as do 3indo)s (@.77, 8<, 89, M" e &") possuem .& Fevel de apenas 7. $os servidores &amba o valor a?ustado atravs da op61o /*S 4evel/, na se61o 2ro)se .ptions. ,sso permite que vocB /trapaceie/, fazendo com que o servidor &amba sempre !anhe as elei6Aes. (ara isso, confi!ure esta op61o com um valor alto, 700 por e#emplo, para que ele sempre !anhe as elei6Aes (vocB pode usar qualquer valor entre 0 e 4<<). . default dessa op61o 40, o que faz com que o servidor &amba !anhe de todas as mquinas 3indo)s, com e#ce61o das versAes &erver. (ara completar, dei#e a op61o /4ocal Master/ e /'referred Master/ como /5es/. A op61o /Focal Master/ faz com que o servidor &amba convoque uma nova elei61o sempre que necessrio (de forma a defender o car!o caso outra mquina tente assumir a posi61o) e a /(referred Master/ d a ele uma leve vanta!em quando confrontado com outra mquina com o mesmo .& Fevel K importante enfatizar que vocB nunca deve colocar dois servidores &amba na rede com o mesmo .& Fevel e com a op61o /(referred Master/ ativada, caso contrrio eles iniciar1o uma disputa interminvel pelo car!o, o que far com que a nave!a61o na rede se torne intermitente. Ao usar vrios servidores &amba na rede, crie uma hierarquia, usando valores diferentes para a op61o .& Fevel. &e, por outro lado, vocB n1o dese?ar que o servidor &amba participe das elei6Aes (caso ? tenha outro servidor desempenhando este papel), basta definir a op61o /Focal Master/ com o valor /no/. Abai#o, dei#e a op61o 6I7S Support ativada (5es) para que o servidor &amba atue como um servidor 3,$& para os demais micros da rede. A op61o 6I7S Server deve ser dei#ada em branco, a menos que e#ista na rede al!um servidor 3ins (rodando o $' server ou o 4M server) ao qual o servidor Finu# este?a subordinado. +aso o Enico servidor se?a a mquina Finu#, vocB pode confi!urar as mquinas 3indo)s para utiliz;la como servidor 3ins, para isto basta colocar o seu endere6o ,( no campo /&ervidor 3ins/ na confi!ura61o de rede das esta6Aes. 'erminando, pressione o bot1o /8ommit 8hanges/ no topo da tela para que as altera6Aes se?am salvas no arquivo /"etc"samba"smb#conf/. =ma observa61o importante que o &)at lB o arquivo smb.conf ao ser aberto, lendo as op6Aes confi!uradas e mostrando;as na interface, mas !era um novo arquivo sempre que vocB clica no /+ommit +han!es/. Ao ler o arquivo, ele procura por trechos especHficos de te#to, i!norando tudo que for diferente. ,sso faz com que ele remova qualquer tipo de comentrio incluHdo manualmente no arquivo. "m !eral, quem tem o hbito de editar manualmente o smb.conf, acaba nunca usando o &)at e vive;versa. Depois de cadastrar os usurios no sistema e no &amba e confi!urar a se61o Rlobals, falta apenas confi!urar as pastas que ser1o compartilhadas com as esta6Aes, atravs da se61o /Shares/. +ada usurio vlido cadastrado no sistema possui automaticamente um diret5rio home. "stas pastas ficam dentro do diret5rio >home e podem ser usadas para !uardar arquivos pessoais, ? que, a menos que se?a estabelecido o contrrio, um usurio n1o ter acesso 0 pasta pessoal do outro. Alm dos diret5rios home, vocB pode compartilhar mais pastas de uso !eral. (ara criar um compartilhamento, basta escrever seu nome no campo no topo da tela e clicar no bot1o /8reate Share/. Depois de criado um compartilhamento, escolha;o na lista e clique no bot1o /8hoose Share/ para confi!ur;la. OocB ver uma lista de op6Aes, contendo campos para especificar usurios vlidos e invlidos, usurios que podem ou n1o escrever no compartilhamento, nomes ou endere6os de mquinas, entre outras op6Aes. . campo /path/ o mais importante, pois indica ?ustamente qual pasta do sistema ser compartilhada. . nome do compartilhamento diz apenas com que nome ele aparecer no ambiente de rede, que n1o precisa necessariamente ser o mesmo nome da pasta. A op61o /comment/ permite que vocB escreva um breve comentrio sobre a pasta que tambm poder ser visualizado pelos usurios no ambiente de rede. "ste comentrio apenas para orienta61o, n1o tem efeito al!um sobre o compartilhamento. A op61o /read onl)/ determina se a pasta ficar disponHvel apenas para leitura (op61o 5es) ou se os usurios poder1o tambm !ravar arquivos (op61o 7o). OocB pode tambm determinar quais mquinas ter1o acesso ao compartilhamento atravs das op6Aes /-osts .llow/ e /-osts 2en)/. $ote que as confi!ura6Aes das op6Aes /*osts Allo)/ e /*osts Den-/ incluHdas na se61o !lobal possuem precedBncia sobre as colocadas dentro da confi!ura61o dos compartilhamentos, por isso (salvo poucas e#ce6Aes), elas n1o s1o usadas em con?unto. A op61o /browseable/ permite confi!urar se o compartilhamento aparecer entre os outros compartilhamentos do servidor no ambiente de rede, ou se ser um compartilhamento oculto, que poder ser acessado apenas por quem souber que ele e#iste. ,sso tem uma fun61o semelhante a colocar um /]/ em uma pasta compartilhada no 3indo)s. "la fica compartilhada, mas n1o aparece no ambiente de rede. Apenas usurios que saibam que o compartilhamento e#iste conse!uir1o acess;lo. "sta op61o tem efeito apenas sobre os clientes 3indo)s, pois no Finu# a maior parte dos pro!ramas clientes (como o &mb:k) mostra os compartilhamentos ocultos por padr1o. %inalmente, a op61o /available/ especifica se o compartilhamento est ativado ou n1o. OocB pode desativar temporariamente um compartilhamento confi!urando esta op61o como /7o/. %azendo isso, ele continuar no sistema e vocB poder torn;lo disponHvel quando quiser, alterando a op61o para /5es/. =m detalhe importante que os usurios s5 ter1o permiss1o para acessar pastas que o lo!in permite acessar. (or e#emplo, no Finu# o Enico usurio que pode acessar a pasta "root o pr5prio root, ou outro autorizado por ele. Mesmo que vocB compartilhe a pasta root atravs do &amba, os demais usurios n1o poder1o acess;la. (ara editar as permissAes de uma pasta, basta abrir o !erenciador de arquivos e, nas propriedades da pasta, acessar a !uia /(ermissAes/. As permissAes podem ser dadas apenas ao usurio, para todos os usurios pertencentes ao !rupo do usurio dono da pasta ou para todos os usurios. A op61o /Aplicar mudan6as a todas as subpastas e seus conteEdos/ deve ficar marcada para que as permissAes se?am aplicadas tambm 0s subpastas. 'erminadas as confi!ura6Aes, o servidor ? ir aparecer no ambiente de rede, como se fosse um servidor 3indo)s. .s compartilhamentos podem ser acessados de acordo com as permissAes que tiverem sido confi!uradas, mapeados como unidades de rede, entre outros recursos. (ara compartilhar uma impressora ? instalada na mquina Finu#, o procedimento o mesmo. Dentro do &)at, acesse a se61o printers, escolha a impressora a ser compartilhada (a lista mostrar todas as instaladas no sistema), confi!ure a op61o available como /)es/ e a?uste as permissAes de acesso, como vimos anteriormente. $o Mandriva, vocB pode instalar impressoras atravs do +ontrol +enter. $o Fedora est disponHvel o /s)stem!config!printer/, que contm basicamente as mesmas fun6Aes. "m outras distribui6Aes, vocB pode usar o addprinterwi9ard ou a pr5pria interface de administra61o do +ups, que vocB acessa (via nave!ador) atravs da =PFG http:""1/:#&#&1:0;1 (ve?a mais detalhes sobre o compartilhamento de impressoras na quarta parte deste tutorial). A confi!ura61o do &amba atravs do &)at bem simples para confi!urar um servidor de arquivos, por e#emplo, mas, e se vocB quiser permitir que os usurios tambm criem compartilhamentos em suas esta6Aes de trabalho Finu#, assim como no 3indo)sS $1o seria muito prtico ter que ensin;los a usar o &)at ou a editarem manualmente o arquivo smb.conf. . MD" possui um m5dulo que resolve este Eltimo problema, permitindo que os usurios compartilhem arquivos dentro dos seus respectivos diret5rios de usurio de uma forma bastante simples, al!o parecido com o que temos no 3indo)s. (ara que este recurso funcione, vocB deve instalar o m5dulo de compartilhamento de arquivos do Monqueror. $o Debian, ele fornecido pelo pacote /denetwor!filesharing/, que pode ser instalado pelo apt;!et. "m outras distribui6Aes ele incluHdo diretamente no pacote /denetwor/, que precisa estar instalado. +omo os usurios podem apenas compartilhar seus pr5prios arquivos, a possibilidade de danos ao sistema pequena. &e vocB tiver um fire)all isolando a sua rede local da internet, vocB poder conviver com isso sem muitos sustos. G) Dentro do +entro de +ontrole do MD", acesse a se61o /,nternet T Pede U +ompartilhamento de arquivos/. +lique no /Modo administrador/, forne6a a senha de root e marque a op61o /+ompartilhamento simples (habilite o compartilhamento simples, para permitir que os usurios compartilhem pastas de sua pasta pessoal (home), sem saberem a senha de root.)/. $o bot1o /=surios permitidos/ vocB tem a op61o de autorizar todos os usurios (permitir a todos os usurios compartilhar pastas) ou autorizar apenas os usurios de um determinado !rupo. $este caso, use o /users;admin/ ou outro pro!rama de confi!ura61o de usurios e !rupos para criar um novo !rupo e adicionar os usurios dese?ados a ele A partir daH os usurios poder1o compartilhar pastas simplesmente acessando a aba /+ompartilhar/, dentro das propriedades de cada uma "ste compartilhamento do MD" faz, na verdade, um duplo compartilhamento. Alm do &amba, os compartilhamentos ficam disponHveis na rede atravs do $%&, permitindo que vocB possa escolher qual protocolo prefere usar em cada caso. Fembre;se de que se vocB n1o quiser o compartilhamento via $%&, basta desativar (ou desinstalar) o servi6o /nfs;kernel;server/ (ou /nfs/, nas distribui6Aes derivadas do Ped *at). $aturalmente, para que o compartilhamento funcione, vocB dever ter o servidor e o cliente &amba instalados no sistema e manter o servi6o &M2 ativo.