You are on page 1of 12

Samba, parte 1: Instalação e configuração usando o swat

A necessidade de compartilhar arquivos e impressoras motivou o aparecimento das primeiras
redes (ainda na década 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 através 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 também 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, além 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 através 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 também através
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, além de compartilhar arquivos, permite também 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 obtém os drivers de impress1o diretamente a partir do servidor e a
impressora fica disponHvel com apenas dois cliques.
Além de compartilhar arquivos e impressoras, o servidor &amba pode atuar como um (D+,
autenticando os usurios da rede. "#istem também diversas op6Aes de se!uran6a, que
permitem restrin!ir o acesso aos compartilhamentos.
$aturalmente, o servidor pode ser acessado de forma simples também 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 também 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ê não o crie, você terá que reconfigurar o
samba (e provavelmente suas máquinas clientes) para utilização 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 também al!uns pacotes compilados por colaboradores
no httpG>>samba.or!>samba>ftp>2inar-N(acka!es>, além 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 série 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 série 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 através 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, além de estarem cadastrados no &amba,
também 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, através 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 espécie 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 invés 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 também s1o um pouco diferentes. . padr1o ? é criar
um lo!in desabilitado (vocB usa o comando /pass)d usurio/ para ativar) e, ao invés 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 férias, 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 através 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 médio 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 também no Rentoo, o &)at é inicializado através 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 invés 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 também é inicializado através 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 também 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!uém poderia capturar a senha sniffando a rede. OocB pode evitar
isso criando um tEnel se!uro usando o &&* e acessando o &)at através 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, através 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, além 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 também
permitido o uso de pontos, mas us;los n1o é uma boa idéia, 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 através 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 através 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 também é 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 também 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 através 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 doméstica 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 através 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, através 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. Além 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 também 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 também !ravar arquivos (op61o 7o). OocB pode também determinar
quais mquinas ter1o acesso ao compartilhamento através 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 através 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 também 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 através do +ontrol +enter. $o Fedora est disponHvel o /s)stem!config!printer/,
que contém 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) através 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 através do &)at é bem simples para confi!urar um servidor de
arquivos, por e#emplo, mas, e se vocB quiser permitir que os usurios também 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. Além do &amba,
os compartilhamentos ficam disponHveis na rede através 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.