Você está na página 1de 9

Configurando o Samba Autor: Roberson Carlos <robersonfox at genovaengine.

com> Data: 01/05/2006 Introduo Criado por Andrew Tridgell, o Samba uma excelente ferramenta para fornecer conec tividade entre sistemas Windows e Unix-like, e sua configurao est basicamente conce ntrada em um nico arquivo, que altamente complexo, mas isto somente no comeo de se u uso. Assim que voc se acostumar com o programa, ver inmeras linhas como boas e ve lhas amigas. Para configurar o Samba necessrio abrir o arquivo smb.conf em um editor de textos como o Emacs, Jed ou o Kate. Este arquivo se encontra em /etc/samba, nele que s ero feitas todas as alteraes para que a conectividade entre o Windows e o Linux fun cione. Caso voc no possua em seu PC os pacotes Samba e Samba-Common, ser necessria a instal ao dos mesmos. Hoje em dia a maioria das distribuies j vem com estes pacotes instalad os, exceto as distros que do boot pelo CDROM usando Cloop, como o caso do Kurumin ou o Kalango.

ATENO: Neste artigo no ser abordado o assunto como instalar o Samba, supe-se que voc j o tenha instalado na mquina.

Entendendo os parmetros do arquivo smb.conf O arquivo smb.conf faz uso de algumas macros como estas abaixo: %M, Mquina (Machine) %U, Usurio (User) %L, Nome da Mquina Local (Local Machine) Ele dividido em duas partes, so elas: Opes Globais (Global Settings) Compartilhamento Os principais parmetros da sesso Global Settings so: NetBios Name Informaes do servidor Windows, ou seja, o nome da mquina sob o protocolo NetBios. Workgroup O nome ou o grupo de trabalho do domnio. Server String Uma breve descrio para o domnio para os PCs que tm o Windows como sistema operaciona l. Log File Este parmetro indica o local e a forma que sero segmentadas as informaes de log vind as do relacionamento entre o Servidor e os Clientes Samba. Neste caso, utilizado um parmetro macro adicional para dizer ao Servidor que um arquivo de log deve se r criado para cada mquina que nele esteja conectada, ou seja, se a um servidor Li

nux estiverem conectados 4 PCs Windows e so, respectivamente, chamados de maquina 1, maquina2, maquina3, maquina4, ento teremos os arquivos de log da seguinte form a: maquina1.log, maquina2.log, maquina3.log e maquina4.log. Os arquivos de log f icam depositados dentro do diretrio /var/log/samba. max log size Neste parmetro, deve ser colocado o valor em kilobytes para o tamanho mximo dos ar quivos de log, caso voc deixe este parmetro com o valor 0, os arquivos tero um valo r indefinido, podendo at mesmo ocupar metade de um disco rgido, portanto esta opo no muito aconselhada, pois arquivos de log longos demais demoram a ser carregados e o mais importante, ningum tem pacincia para l-los. Quando um arquivo de log chega ao seu limite seu contedo movido para um arquivo com extenso .old e outro arquivo de log criado, isto se nenhum arquivo com extenso .old j existir, se isto for verd ade, o arquivo com extenso .old ser removido permanentemente do seu HD e um novo l og com contedo diferente o substituir. Security Este parmetro refere-se a segurana, caso voc defina o valor deste como "user", ento toda vez que algum quiser ter acesso ao servidor devera passar uma senha, esta um a boa idia, caso voc necessite de segurana em seu servidor. Encript Passwords Esta uma opo booleana, ento retorna somente dois valores, falso ou verdadeiro. Voc p ode usar encriptao de senhas ativando esta opo, isto dificultar a ao de algum cracker ue pode estar h dias com um sniffer sondando sua rede em busca de senhas. Ele pod e at conseguir capturar alguma coisa com seu software espio, porm ter um rduo trabalh o para desenrolar o contedo. Socket Esta opo melhora o desempenho do servidor Local Master, OS Level, Domain Master, Preferred Master Estas opes fazem o servidor funcionar como um Browser Master. So estas opes que permi tem um sistema Windows enxergar as outras mquinas que esto por perto e quais recur sos esto disponveis. Este servio pode ser visualizado abrindo no Windows a janela " Meus Locais de Rede", a mquina ter a funo de PDC, precisar controlar o mecanismo de b rowsing. Domains Logons Habilita logins no domnio definido no parmetro "Workgroup", se esta opo for setada c omo "NO", ento no ser permitida a entrada de ningum no domnio. Logon Script No momento em que feito o login de um usurio em uma determinada mquina, executado este script com extenso BAT, ele que mostra uma tela de boas vindas na exata hora em que o usurio se conectar, assim como acontece nos servidores FTP. Para se cri ar um arquivo deste necessrio abrir um editor de textos como o JED ou mesmo o Blo co de Notas e escreva os seguintes comandos nele: net send genova Seja Bem Vindo ao Genova No qual genova o nome da mquina. Este arquivo deve ser salvo com o nome da mquina por motivo de organizao e seguido da extenso BAT e armazenado no diretrio /usr/local /samba/lib/netlogon. Dentro deste diretrio, crie os arquivos com o nome da mquina seguidos da extenso "bat" e adicione o comando demonstrado acima. necessrio um arq uivo para cada mquina. No Linux, voc pode usar o seguinte comando para criar um arquivo para a mquina que possui o nome genova:

# echo "net send genova Seja Bem Vindo Ao Genova" > genova.bat Logon Path Este parmetro se encarrega de guardar o local onde devero ficar os arquivos refere ntes ao profile de cada usurio. A macro %L deve ser substituda pelo nome da mquina local, e %U o nome do usurio. Exemplo: //genova/profiles/robersonfox O Primeiro argumento definido com o nome da mquina, o segundo o nome do compartil hamento e o terceiro o nome do usurio. Logon Drive, Logon Home aqui que devemos configurar a unidade que deve ser mapeada e onde est o diretrio h ome. A segunda opo no necessria j que o samba mapeia a unidade automaticamente. A prxima sesso do arquivo a Share Definitions, iremos configurar o comportamento d os diretrios dos usurios. Nesta sesso, temos os cabealhos, homes, NetLogon, Profiles , Printers, TMP, Public entre outros. A seguir o significado dos principais parme tros: Comment Mostra um comentrio para o diretrio em questo Browseable Define se o diretrio pode ser visto a partir de um browser Writable Define se possvel ou no escrever neste arquivo Public Este cabealho um dos mais importantes, seno o mais importante. Em uma rede os usuri os logados no tem um acesso livre aos documentos dos outros usurios, mas se eles no tem acesso aos arquivos, seria bobagem logar-se na rede, por isto existe este d iretrio, que onde todos tm permisses para ler e escrever, desde que faam parte do gr upo, claro. O que define se um diretrio publico ou no o parmetro public, caso ele s eja setado como "YES", ento este ser reconhecido pelo servidor como pblico, mas ant es no se deve esquecer de deixar a propriedade do parmetro Writable como "YES". Write List Este parmetro diz ao servidor qual o grupo que tem permisso para gravar no diretrio , caso este seja definido como "@root", somente quem faz parte do grupo root pod er gravar neste diretrio, os outros usurios somente podero ler o contedo deste diretri o.

Testando o Samba e fazendo ajustes necessrios no compartilhamento Netlogon que esto todos os arquivos, estes esto localizados no diretrio /usr/local/samba/lib/netlogon/, nele que os scripts definidos no parmetr o Logon Script devem ficar. Caso este diretrio no exista, ser necessrio cri-lo, para isto execute o seguinte comando em um terminal: # mkdir -p /usr/local/samba/lib/netlogon Este comando criar os diretrios recursivamente caso os mesmos ainda no existam. Os

arquivos "profile", criados acima, aqueles que sadam o usurio assim que ele se log a na mquina, devem ser postos aqui. Dentro do diretrio onde devem ser postos os pr ofiles, execute o seguinte comando para alterar o modo dos arquivos: # chmod 755 * ; ls -l Ainda existe a necessidade de criar um ltimo compartilhamento e profiles. Neste ompartilhamento deve ser colocado os profiles de cada usurio, de um outro ponto e vista existiro dentro do diretrio/export/smb/ntprofile outros diretrios com mes de cada um dos usurios (Logins) e dentro destes diretrios devero ficar os les de cada maquina, voc pode criar os diretrios usando o seguinte comando: # mkdir -p /export/smb/ntprofile Copie para esta rea os profiles de cada usurio, esteja certo que no arquivo smb.co nf os cabealhos profiles e netlogon estejam com seus parmetros path ajustados da s eguinte forma: [netlogon] path = /usr/local/samba/lib/netlogon [profiles] path = /export/smb/ntprofile Para testar se o arquivo smb.conf foi bem configurado, passe o seguinte comando em um terminal: # testparm Este programa detectar qualquer erro presente no arquivo. c d os no profi

Agora que a configurao do arquivo smb.conf est completa, devemos criar as contas pa ra os usurios que devero ter acesso ao domnio em questo. Para fazer isto, devemos ad icionar um usurio s contas do Linux (Servidor) com o comando useradd, ou outro pro grama qualquer que faa o servio. Aps adicionar um usurio ser necessrio adicion-lo no a quivo /etc/samba/smbpasswd. Este arquivo mantm as senhas que sero utilizadas para a autenticao de cada usurio que queira fazer uso dos diretrios do domnio, em alguns c asos este arquivo existe dentro do diretrio /etc/samba/private, caso isto seja ve rdade, talvez voc veja algumas mensagens de erro ao executar o comando smbpasswd, para solucionar o problema basta copiar o arquivo para dentro do diretrio /etc/s amba. Como root passe o seguinte comando em um terminal para adicion-lo ao arquivo smbp asswd: # smbpasswd -a root Este comando adicionar o usurio root ao arquivo. No entanto, o usurio root j era reg istrado nos arquivos do servidor, mas se quisermos adicionar um usurio novo devem os seguir o exemplo a seguir. Neste exemplo, iremos adicionar um usurio chamado " Roberson Fox": # useradd -c "Roberson Carlos Fox" -m robersonfox # smbpasswd -a robersonfox Este comando criar uma conta no arquivo /etc/passwd e no arquivo /etc/samba/smbpa sswd, repita o comando acima at criar o nmero total de usurios. Ainda nos resta um ltimo procedimento, devemos criar um diretrio para cada usurio n

o diretrio /export/smb/ntprofile. Estes diretrios para os usurios sero utilizados pa ra o armazenamento de arquivos pessoais de cada um, caso este arquivo no exista, o Windows emitir uma mensagem de erro informando que no possui permisso para manipu lar o arquivo de profile daquele usurio, assim sendo, ele gravar a sesso de login e m um local temporrio. Ento, toda vez que o usurio tentar se conectar ao servidor, o Windows ter que recriar ou usar um profile temporrio, no podendo assim reaproveita r as informaes da ltima sesso. Para criar os diretrios faa o seguinte para todos os us urios: # mkdir -p /exports/smb/ntprofile/nome_do_usurio # chown nome_do_usurio.grupo_do_usurio /exports/smb/ntprofile/nome_do_usurio Ainda necessrio criar as contas especiais para cada mquina. As contas especiais de vem ter login simtrico ao nome da mquina e devem ser adicionados no final do nome o caractere $, j a senha deve ser o nome da mquina em letras minsculas. Exemplo: # useradd -d /dev/null -c nome_da_maquina -m -s /bin/false nome_da_maquina # smbpasswd -m -a nome_da_maquina Crie uma conta especial para cada mquina, no se preocupe quanto a segurana, se voc s eguir os passos acima, todas as contas especiais tero um shell invlido e um diretri o home nulo. Agora resta-nos iniciar os servidores, para isto passe os seguintes comandos em um terminal: # smb start # nmbd # smbstatus Caso voc queira iniciar automaticamente os servidores, adicione a um arquivo cham ado "smb", que fica dentro do diretrio /etc/rc.d/inet.d/, as seguintes linhas, ca so este arquivo no exista necessrio cri-lo. #! /bin/sh . /etc/rc.d/inet.d/functions . /etc/sysconfig/network #[ ${NETWORKING} = "no" ] && exit 0 case "$1" in start) echo echo -n "Iniciando Servidores: " smbd -D nmbd -D echo "" touch /var/lock/subsys/smb clear echo "Pronto" ;; stop) echo -n "Parando Servidores" killproc smbd killproc nmbd rm -f /var/lock/subsys/smb clear echo "Pronto" ;; *) echo "Use: smb {start : stop}"

exit 1 esac Para configurar o Windows a fim de que se possa faz-lo parte do domnio, logue-se n a mquina como administrador e no desktop clique com o boto direito do mouse sobre o cone "Meu Computador" e v at a opo "Propriedade", logo surgir uma janela denominada "Propriedades do Sistema", o atalho para se chamar esta janela : tecla Windows + Pause-Break. Na guia "Identificao de Rede" clique em "Propriedades" na janela que surge e altere o campo "Domain" com o nome do domnio declarado no parmetro Workgro up no arquivo de configurao do Samba. Caso o nome do PC esteja errado, ento aprovei te para ajust-lo nesta janela.

Exemplo do arquivo smb.conf Veja abaixo um exemplo de arquivo de configurao do Samba: # Exemplo de arquivo de configurao para o Samba # smb.conf,v 1.2.4.6 2002/03/13 18:56:16 #================ Global Settings ==================== [global] # Executa uma ao quando o Samba trava: panic action = /usr/share/samba/panic-action %d # Nome do Grupo de Trabalho workgroup = genova # Descrio ou comentrio server string = %h server (Samba %v) # Descomente a linha abaixo caso queira carregar automaticamente as impressoras ; load printers = yes # Descomente a linha abaixo caso voc queira admitir o acesso de usurios usando a c onta de convidados ; guest account = nobody invalid users = root # Isto diz ao Samba para usar um arquivo de log para cada mquina que a ele se con ectar log file = /var/log/samba/log.%m # Define o tamanho dos arquivos de Log max log size = 1000 # # # ; uma boa idia deixar a opo security = user, isto vai obrigar o usurio a ter uma conta no servidor, pois sempre que algum se logar a ele ser requisitada a senha e o login security = user

# Voc pode querer usar encriptao de senha para dificultar ainda mais # a ao de pessoas mal intencionadas deixando como True a opo abaixo: encrypt passwords = false passdb backend = smbpasswd guest

# # # ;

Voc pode usar um arquivo customizado de configurao deixando descomentada a linha abaixo, a macro %m deve ser substituda pelo nome da mquina que esta conectada. include = /home/samba/etc/smb.conf.%m afirmam que esta opo melhora a performance do pode querer adicionar a seguinte linha no seu Smb.Conf. SO_SNDBUF=8192 TCP_NODELAY

# Muitas pessoas # Servidor, voc # SO_RCVBUF=8192 socket options =

#----------------------- Browser Control Options --------------------# Mude o Local Master para NO caso voc no queira o samba como um # Master Browser na sua Rede local master = yes ; os level = 20 # D suporte a logins de redes para o Windows 2000 e XP ; domain logons = yes # # ; ; No use esta opo caso voc tenha um Domnio Windows NT fazendo o trabalho de Domain Master domain master = auto preferred master = auto

#--- End of Browser Control Options --# Sesso de Suporte a Windows Internet Name Serving: # Wins Support - Diz ao componente do Samba NMBD para ativar este Wins Server ; wins support = yes# WINS Server - Diz ao NMBD para ser # um Cliente WINS Veja que: O Samba pode ser um WINS # Server, ou um WINS Client, mas no os 2 ; wins server = w.x.y.z # Inclui informaes do servidor DHCP, se este no estiver instalado # comente esta linha abaixo. include = /etc/samba/dhcp.conf # Isto previne o NMBD de procurar por nomes NetBios em DNS. dns proxy = no # Define o Chat para a alterao de senhas e define o programa de senhas passwd program = /usr/bin/passwd %u passwd chat = *InsirasUmasNovasSenha:* %n *RedigitesAsSenha:* %n . # Habilita logins com caracteres maisculos e minsculos e mantm os # caracteres dos nomes de arquivos na sua exata forma ; password level = 8 ; preserve case = yes # Os seguintes parmetros somente sero teis caso voc tenha o pacote # linpopup instalado ; message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' & obey pam restrictions = yes #=================== Share Definitions ====================

[homes] comment = Diretrios Pessoais browseable = no # Por padro os diretrios pessoais so exportados com o modo # somente-Leitura # Altere o prximo parmetro para YES se voc que deix-los como Leitura e #Escrita writable = no # A criao de arquivos setada como 0700 por razes de segurana se voc # deseja criar arquivos com permisses group=rw, ento marque o prximo # parmetro como 0775 create mask = 0700 # A criao de diretrios usa como padro permisses 0700 como medida de # segurana, caso voc queira que as permisses sejam group=rw ento # marque o parmetro abaixo como 0775. directory mask = 0700 # Descomente as linhas abaixo e crie o diretrio NETLOGON para Domain #Logons # voc ter que configurar o Samba para agir como um controlador de #domnios tambm ;[netlogon] ; comment = Network Logon Service ; path = /home/samba/netlogon ; guest ok = yes ; writable = no ; share modes = no ; write list = ntadmin # Cria um compartilhamento de arquivos temporrios, este est definido no #diretrio /tmp, pode ser lido # e escrito, publico. [tmp] comment = Arquivos temporrios path = /tmp read only = no public = yes # Esta parte cria uma rea pblica a todos os usurios # Esta rea fica no diretrio /home/public (Voc pode alterar o local se quiser) # Para os arquivos que estejam nesta rea permitido # a impresso a leitura e a impresso mesmo sendo um usurio com um ID #longe do root. [public] comment = Area Publica path = /home/public public = yes writable = yes printable = yes # # # # ; A linha abaixo determina qual o grupo que tem permisso para escrever nos Arquivos depositados neste diretrio, altere o valor 'admin' para o grupo Que voc quer que tenha permisso para escrever Nos arquivos. write list = @admin

# Comente as linhas abaixo caso no queira compartilhar impressoras [printers]

comment = Todas as Impressoras browseable = no path = /tmp printable = yes public = no writable = no create mode = 0700 # Um exemplo para compartilhar seu CD-Rom com os outros usurios: # Pode ser que voc precise criar o diretrio /cdrom (Descomente as linhas #abaixo caso queira compartilhar) ;[cdrom] ; comment = CD-Rom em Servidor Samba ; writable = no ; locking = no ; path = /cdrom ; public = yes ; preexec = /bin/mount /cdrom ; postexec = /bin/umount /cdrom # # # # # # m Os prximos 2 parmetros mostram como montar automaticamente um CD-Rom quando este for acessado, para isto o arquivo /etc/fstab precisa conter uma entrada como esta /dev/scd0 /cdrom iso9660 defaults,noauto,ro,user 0 0 Isto se voc possui um cdrom em /dev/scd0 Se voc no quer usar o auto mount esteja certo que o CD esteja montado # em /cdro

Aps reconfigurar este arquivo ser necessrio reiniciar o servidor smb com o seguinte comando: # /etc/rc.d/smb stop # /etc/rc.d/smb start