MusicPlaylistView Profile
Create a playlist at

segunda-feira, 16 de abril de 2012

Curso basico de compartilhamento com o samba


A configuração do Samba pode ser feita de duas maneiras: Via Web, utilizando um aplicativo distribuído juntamente com o Samba e via arquivo de configuração. Aqui optamos pela configuração via arquivo, este chamado smb.conf e localizado normalmente no diretório /etc ou ainda /etc/samba, dependendo da distribuição.

O arquivo de configuração não é sensível a maiúsculas (case sensitive), então tanto faz a utilização de maiúsculas como de minúsculas. Todas as linhas iniciadas pelo caractere "#" ou ";" são descartadas - para propósito de comentários, que trazem uma melhor organização do arquivo. O símbolo "\" indica continuação de linha, caso o parâmetro a ser configurado possui mais de uma linha.

Frisa-se novamente que o arquivo abaixo contém uma simples demonstração de configuração, compatível com o pouco tempo que temos. Para maiores detalhes, aconselho a leitura de um livro ou mesmo da documentação que acompanha o Samba (Man Pages, FAQs (Frequently Asked Questions), HOWTOs, eBooks, etc).

Seguem as configurações:

# workgroup = NT-Domain-Name or Workgroup-Name
# server string is the equivalent of the NT Description field
# This option is important for security. It allows you to restrict
# connections to machines which are on your local network. The
# following example restricts access to two C class networks and
# the "loopback" interface. For more examples of the syntax see
# the smb.conf man page
;   hosts allow = 192.168.1. 192.168.2. 127.
    hosts allow = 127. 192.168.0. 192.168.1.
# if you want to automatically load your printer list rather
# than setting them up individually then you'll need this
   printcap name = /etc/printcap
   load printers = yes
# It should not be necessary to spell out the print system type unless
# yours is non-standard. Currently supported print systems include:
# bsd, sysv, plp, lprng, aix, hpux, qnx
   printing = lprng
# Uncomment this if you want a guest account, you must add this to /etc/passwd
# otherwise the user "nobody" is used
; guest account = pcguest
# this tells Samba to use a separate log file for each machine
# that connects
   log file = /var/log/samba/%m.log
# Put a capping on the size of the log files (in Kb).
   max log size = 0
# Security mode. Most people will want user level security. See
# security_level.txt for details.
   security = user
# Use password server option only with security = server or
# security = domain
;   password server =
# Password Level allows matching of _n_ characters of the password for
# all combinations of upper and lower case.
;  password level = 8
;  username level = 8
# You may wish to use password encryption. Please read
# ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba documentation.
# Do not enable this option unless you have read those documents
  encrypt passwords = yes
  smb passwd file = /etc/samba/smbpasswd
# The following is needed to keep smbclient from spouting spurious errors
# when Samba is built with support for SSL.
#   ssl CA certFile = /usr/share/ssl/certs/ca-bundle.crt
# The following are needed to allow password changing from Windows to
# update the Linux sytsem password also.
# NOTE: Use these with 'encrypt passwords' and 'smb passwd file' above.
# NOTE2: You do NOT need these to allow workstations to change only
#the encrypted SMB passwords. They allow the Unix password
#to be kept in sync with the SMB password.
; unix password sync = Yes
; passwd program = /usr/bin/passwd %u
; passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n
# Unix users can map to different SMB User names
  username map = /etc/samba/smbusers
# Using the following line enables you to customise your configuration
# on a per machine basis. The %m gets replaced with the netbios name
# of the machine that is connecting
;   include = /etc/samba/smb.conf.%m
# Most people will find that this option gives better performance.
# See speed.txt and the manual pages for details
   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
# Configure Samba to use multiple interfaces
# If you have multiple network interfaces then you must list them
# here. See the man page for details.
;   interfaces =
    interfaces =
# Configure remote browse list synchronisation here
# request announcement to, or browse list sync from:
#      a specific host or from / to a whole subnet (see below)
;   remote browse sync =
# Cause this host to announce itself to local subnets here
   remote announce =
# Browser Control Options:
# set local master to no if you don't want Samba to become a master
# browser on your network. Otherwise the normal election rules apply
   local master = yes
# OS Level determines the precedence of this server in master browser
# elections. The default value should be reasonable
   os level = 65
# Domain Master specifies Samba to be the Domain Master Browser. This
# allows Samba to collate browse lists between subnets. Don't use this
# if you already have a Windows NT domain controller doing this job
;   domain master = yes
   domain master = yes
# Preferred Master causes Samba to force a local browser election on startup
# and gives it a slightly higher chance of winning the election
   preferred master = yes
# Enable this if you want Samba to be a domain logon server for
# Windows95 workstations.
   domain logons = yes
# if you enable domain logons then you may want a per-machine or
# per user logon script
# run a specific logon batch file per workstation (machine)
;   logon script = %m.bat
# run a specific logon batch file per username
;   logon script = %U.bat
# Where to store roving profiles (only for Win95 and WinNT)
# %L substitutes for this servers netbios name, %U is username
#You must uncomment the [Profiles] share below
logon path = \\%L\%U\Profile
#logon path = \\%L\Profiles\%U
logon drive = x:
# All NetBIOS names must be resolved to IP Addresses
# 'Name Resolve Order' allows the named resolution mechanism to be specified
# the default order is "host lmhosts wins bcast". "host" means use the unix
# system gethostbyname() function call that will use either /etc/hosts OR
# DNS or NIS depending on the settings of /etc/host.config, /etc/nsswitch.conf
# and the /etc/resolv.conf file. "host" therefore is system configuration
# dependant. This parameter is most often of use to prevent DNS lookups
# in order to resolve NetBIOS names to IP Addresses. Use with care!
# The example below excludes use of name resolution for machines that are NOT
# on the local network segment
# - OR - are not deliberately to be known via lmhosts or via WINS.
; name resolve order = wins lmhosts bcast
# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server
   wins support = yes
# WINS Server - Tells the NMBD components of Samba to be a WINS Client
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
;   wins server = w.x.y.z
# WINS Proxy - Tells Samba to answer name resolution queries on
# behalf of a non WINS capable client, for this to work there must be
# at least one WINS Server on the network. The default is NO.
;   wins proxy = yes
# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names
# via DNS nslookups. The built-in default for versions 1.9.17 is yes,
# this has been changed in version 1.9.18 to no.
   dns proxy = no
# Case Preservation can be handy - system default is _no_
# NOTE: These can be set on a per share basis
;  preserve case = no
;  short preserve case = no
# Default case is normally upper case for all DOS files
;  default case = lower
# Be very careful with case sensitivity - it can break things!
;  case sensitive = no
client code page = 850
character set = ISO8859-1
domain admin group = root
admin users = root
#============== Share Definitions =====================
                (Definição de compartilhamentos)

   comment = Home Directories
   browseable = no
   writable = yes
    comment = Aplicativos
    path = /ftp/
    writeable = no
    comment = CDROM
    path = /mnt/cdrom
    writeable = no
# NOTE: If you have a BSD-style print system there is no need to
# specifically define each individual printer
   comment = All Printers
   path = /var/spool/samba
   browseable = no
# Set public = yes to allow user 'guest account' to print
   guest ok = no
   printable = yes
# This one is useful for people to share files
;   comment = Temporary file space
;   path = /tmp
;   read only = no
;   public = yes
# A publicly accessible directory, but read only, except for people in
# the "staff" group
;   comment = Public Stuff
;   path = /home/samba
;   public = yes
;   writable = yes
;   printable = no
# Other examples.
# A private directory, usable only by fred. Note that fred requires write
# access to the directory.
;   comment = Fred's Service
;   path = /usr/somewhere/private
;   valid users = fred
;   public = no
;   writable = yes
;   printable = no
# a service which has a different directory for each machine that connects
# this allows you to tailor configurations to incoming machines. You could
# also use the %u option to tailor it by user name.
# The %m gets replaced with the machine name that is connecting.
; comment = PC Directories
; path = /usr/pc/%m
; public = no
; writable = yes
# A publicly accessible directory, read/write to all users. Note that all files
# created in the directory by users will be owned by the default user, so
# any user with access can delete any other user's files. Obviously this
# directory must be writable by the default user. Another user could of course
# be specified, in which case all files would be owned by that user instead.
;   path = /usr/somewhere/else/public
;   public = yes
;   only guest = yes
;   writable = yes
;   printable = no
# The following two entries demonstrate how to share a directory so that two
# users can place files there that will be owned by the specific users. In this
# setup, the directory should be writable by both users and should have the
# sticky bit set on it to prevent abuse. Obviously this could be extended to
# as many users as required.
;   comment = Mary's and Fred's stuff
;    path = /usr/somewhere/shared
;    valid users = mary fred
;    public = no
;    writable = yes
;    printable = no
;    create mask = 0765

Testando as configurações do Samba

Para testarmos nosso arquivo de configuração, basta rodarmos o aplicativo testparm, que vem junto com o Samba.

# /etc/samba/testparm

Ou simplesmente executando o "testparm" no terminal.

Depois de devidamente configurado, devemos então inicializar o smbd e o nmbd. Para isto existem duas opções: Inicializar como daemon ou inicializar via inetd. Aqui, utilizaremos o primeiro método.

# /usr/local/samba/bin/smbd -D
# /usr/local/samba/bin/nmbd -D

Caso queira que tais daemons inicializem de forma automática, basta adicionar tais linhas ao seu /etc/rc.local. Nas distribuições comuns, o Samba já vem compilado e pré-configurado, não sendo necessárias as inicializações dos daemons de forma direta. Existem scripts para tais funções, onde é possível iniciar (start), parar (stop), reiniciar (restart) e outras funções - todas dependentes de distribuição! 


Aplicativos que acompanham o pacote:
  • findsmb - Lista as informações das máquinas que respondem à requisição SMB.
  • make_unicodemap - Organiza um mapa de Unicode para o Samba.
  • make_smbcodepage - Organiza uma página de códigos para o Samba.
  • nmbd - Servidor de Nomes NetBIOS para clients.
  • nmblookup - Cliente NetBIOS sobre TCP/IP, para encontrar máquinas NetBIOS.
  • rpcclient - Executa funções do RPC no cliente.
  • smbcacls - Seta ou obtém ACLs
  • smbclient - Cliente para acesso à SMB/CIFS
  • smbcontrol - Envia mensagens para o smbd, nmbd e winbindd.
  • smbd - Servidor de SMB/CIFS.
  • smbmnt - Utilitário para agregar diretórios de clientes ao servidor (mount-like).
  • smbmount - Agrega (mount) um tipo de partição smbfs.
  • smbpasswd - Altera ou cria uma senha para o usuário.
  • smbspool - Envia um arquivo de impressão para uma impressora SMB
  • smbstatus - Retorna status atual do servidor.
  • smbtar - Script para backup de compartilhamentos no dispositivo de backup.
  • testparm - Checa a sintaxe do arquivo de configuração smb.conf.
  • testprns - Checa impressoras.
  • wbinfo - Obtém informações junto à daemon winbindd.
  • winbindd - Name Service Switch daemon, resolução de nomes em servidores NT


Segurança do servidor Para este tópico, por se tratar de um assunto de suma importância, recomenda-se a leitura completa da seção 6 do The Unoffical Samba HOWTO, por David Lechnyr. Este HOWTO engloba o Samba de forma completa, se tratando de um referencial excelente para o assunto. O HOWTO se encontra em:

Segurança do cliente

Devido à grande gama de bugs no sistema operacional Windows, da Microsoft, a principal medida de segurança em nível de cliente consiste em atualizações constantes junto ao Microsoft Windows Update. Pode não ser tão eficiente quanto deveria ser, mas infelizmente é a única opção que nos resta quanto a bugs nos produtos Microsoft.

Outras medidas devem ser aplicadas na configuração dos compartilhamentos.

Recomenda-se uma constante conscientização dos usuários de clientes Windows quanto ao uso de senhas em todo e qualquer tipo de compartilhamento, bem como a não utilização do serviço "Compartilhamento Completo", nem mesmo com senhas, visto que tais senhas não oferecem segurança confiável.

Manter a rede longe dos vírus também é importante, pois pode haver infecção através do Compartilhamento de Arquivos e Impressoras do Windows.

Considerações finais

Aqui foi abordado ou pelo menos tentei resumir um pouco o uso do Samba numa rede.

Faz-se necessária a leitura de livros e ou apostilas sobre o assunto, já que uma rede de computadores para se ter total segurança, depende sempre de atualizações constantes, não só do sistema, mas também do profissional que esta à frente dela, o domínio dessas informações requer um certo sacrifício, mas vale a pena, pois um profissional bem preparado é sinal de bons frutos colhidos.

Abraços a todos!!!

Espero ter colaborado de alguma forma.

Instalando e configurando o Hyper-V Server 2008

O Hyper-V Server é uma versão que possui apenas o Windows Hypervisor, nenhum outro Papel de Servidor está disponível, você poderá administrar as maquinas virtuais remotamente do seu computador Windows Vista utilizando o RSAT (substituto do adminpak.msi) e usufruir de todos os recursos gráficos da interface de gerenciamento. O Microsoft Hyper-V Server é gratuito e uma execelente ferramenta para iniciantes no mundo da virtualização, sendo o download realizado a partir do site da Microsoft, por se tratar de uma versão grátis todas as maquinas virtuais (Guest) que o servidor hospedar deverão ter sua propria licença.

Instalação do Hyper-V Server

Após fazer o
download do Hyper-V Server e gravar o ISO do Hyper-V Server em um DVD, configure a BIOS para boot com DVD. Antes de salvar as alterações, insira o DVD do Hyper-V Server no drive de DVD-Rom. Saia da BIOS, salvando as alterações a seguinte tela abaixo será apresentada.

Imagem Postada

Selecione a Linguagem do produto

Imagem Postada

Na próxima tela selecione as seguintes opções:

Language to install: English

Time and currency format: Portuguese (Brazil)

Keyboard or input method: Brazilian ABNT2

Clique em Next.

Imagem Postada

Clique em Install Now.

Imagem Postada

Na tela Please read the license terms, aceite o termo de licença e clique em Next.

Imagem Postada

Na tela Wich type of installation do you want? Selecione a opção Custom (advanced).

Imagem Postada

Na tela Where do you want to install Windows? selecione o disco onde o Hyper-V Server deverá ser instalado e clique em Next.

Imagem Postada

A instalação do Hyper-V Server será iniciada, nessa etapa algumas reinicalizações podem acontecer.

Imagem Postada

Após concluir a instalação a tela de boas vindas será apresentada, pressione CTRL+ALT+DELETE e selecione Other User.

Imagem Postada

Na tela de logon preencha com a conta Administrator e pressione Enter.

Imagem Postada

Será apresentado um aviso para alteração de senha, clique em OK.

Imagem Postada

Crie uma senha obedecendo a requisitos de complexidade, (Ex: P@ssw0rd) e pressione Enter.

Imagem Postada

Na tela Your Password has been changed clique em OK.

Imagem Postada

O Hyper-V Configuration será apresentado ( caso não seja apresentado altere o caminho para a pasta do sistema, C:\windows\system32, digite hvconfig.cmd) nele temos 13 opções:

1 Domain/Workgroup: Altera a participação do servidor de grupo de trabalho para domínio.

2 Computer Name: Altera o nome do computador.

3 Network Settings: Configura as opções de rede e protocolo TCP/IP.

4 Add Local Administrator: adiciona um usuário como administrador do servidor.

5 Windows Update Settings: Configura as opções do Windows Update.

6 Download and Install Updates: Baixa e instala updates manualmente.

7 Remote Desktop: Habilita e desabilita a Área de Trabalho Remota.

8 Regional and Language Options: Ajusta as configurações Regionais e linguagem.

9 Date and Time: Ajusta as configurações de data e hora.

10 Log Off User: Executa log off da conta de usuário.

11 Restart Server: Reinicia o Servidor 12 Shut Down Server: Desliga o Servidor.

13 Exit to Command Line: Fecha o Command Line do Hyper-V Configuration.
Imagem Postada

Altere o nome do computador, selecione a opção “2″ e aperte Enter.

Imagem Postada

Forneça o novo nome do seu Hyper-V Server (Ex: SRVHYPER-V) de pressione Enter.

Imagem Postada

Na tela Computer name clique em OK.

Imagem Postada

Na tela Restart clique em Yes.

Imagem Postada

Aguarde o reinicio do servidor e faça log on com a conta Administrator.

De volta a tela do Hyper-V Configuration configure um endereço IP estático para o servidor, selecione a opção “3” e pressione Enter.

Imagem Postada

Neste momento escolha a placa de rede a ser configurada, utilize o numero atribuído a placa na opção Index# para fazer referencia a placa de rede. Como temos somente uma placa de rede fornecemos o parâmetro “1” e pressione Enter.

Imagem Postada

Agora é apresenta as opções para configuração de endereço IP e servidores DNS, para configurar o endereço IP estático forneça o parâmetro “1” e pressione Enter.

Imagem Postada

Forneça o parâmetro “S” para configurar o IP estático e pressione Enter, forneça o endereço IP que deseja atribuir ao Hyper-V Server e pressione Enter novamente.

Imagem Postada

Forneça a mascara de rede para o endereço IP estático e pressione Enter.

Imagem Postada

Forneça o endereço do default gateway da sua rede e pressione Enter.

Imagem Postada

De volta a tela de configurações da placa de rede, configure o servidor DNS da sua rede, para isso forneça o parâmetro “2” e pressione Enter.
Imagem Postada

Forneça o endereço IP do servidor da sua rede e pressione Enter.

Imagem Postada

Na tela Network Settings clique em OK.

Imagem Postada

Caso exista forneça o endereço IP do servidor DNS secundário da sua rede e pressione Enter, se não existir apenas pressione Enter.

Agora forneça o parâmetro “4” e aperte Enter, para retornar ao menu de configuração do Hyper-V Server.

Imagem Postada

Configure o Windows Update para fazer atualizações automáticas, para isso forneça a opção “5” e pressione Enter.

Imagem Postada

Forneça o parâmetro “A” para atualizações automáticas e pressione Enter.

Imagem Postada

Na tela Update Settings clique em OK.

Imagem Postada

De volta ao Hyper-V Configuration verifique manualmente se há atualizações disponíveis para o Hyper-V Server, selecione a opção “6” e pressione Enter.

Imagem Postada

O Hyper-V Server se conectará ao site do Windows Update através do default gateway da sua rede.

Imagem Postada

Ao encontrar as atualizações você será perguntado se deseja instalar naquele momento, forneça o parâmetro “Y” e pressione Enter.

Imagem Postada

As atualizações começarão a ser baixadas e instaladas.

Imagem Postada
Após instalar as atualizações Hyper-V Server será reiniciado, faça log on novamente com a conta Administrator.

Habilite a Área de Trabalho Remota (RDC), selecione a opção “7” e pressione Enter.

Imagem Postada

Para habilitar o RDC forneça o parâmetro “E” e pressione Enter.

Imagem Postada

Agora selecione o nível de autenticação do RDC, para maior segurança forneça o parâmetro “1” e pressione Enter. (Caso queira usar um nível menos de segurança forneça o parâmetro “2”).

Imagem Postada

Na tela Remote Desktop clique em OK.

Imagem Postada

Alterne para a janela do cmd.exe que está logo atrás da janela do Hyper-V Configuration e execute os seguintes comandos:

Para criar uma regra no firewall liberando o RDC:

netsh advfirewall firewall set rule group=”Remote Desktop” new enable=yes

Para criar uma regra no firewall liberando a Administração Remota:

netsh advfirewall firewall set rule group=”Remote Administration” new enable=yes

Imagem Postada

De volta ao Hyper-V Configuration, torne o servidor membro do seu domínio, para isso selecione a opção “1” e pressione Enter.

Imagem Postada

Para tornar o servidor membro do seu domínio forneça o parâmetro “D” e pressione Enter.

Imagem Postada

Agora forneça o FQDN do domínio da sua empresa (Ex: “”) e pressione Enter.

Imagem Postada

Forneça um usuário e senha com os direitos apropriados e pressione Enter.

Imagem Postada
Forneça a senha da conta de usuário e pressione Enter.

Imagem Postada

Na tela Join Domain clique em “Yes”.

Imagem Postada

O Hyper-V Server será reiniciado.

Faça download do Gerenciador Remoto do Hyper-V e instale no seu Windows Vista. Após a instalação Ir em Iniciar / Executar / e digite a seguinte linha de comando:
runas.exe /user:seudominioAdministrator “mmc”
Iinforme a senha da conta Administrator quando necessário. Na Console1 – [Raiz do Console]MMC selecione Arquivo e clique em Adicionar/remover snap-in…

Imagem Postada

Na tela Adicionar ou Remover Snap-ins selecione a Snap-in Gerenciador Hyper-V clique em Adicionar e depois em OK.

Imagem Postada

Selecione o Gerenciador do Hyper-V clique em Ação e depois em Conectar ao Servidor.

Imagem Postada

Na tela Selecionar Computador digite o nome do seu Hyper-V Server e clique em OK.

Imagem Postada

O Hyper-V Server está instalado, atualizado, configurado e pronto para hospedar maquinas virtais.

Imagem Postada

Você já pode se conectar remotamente da sua estação de trabalho Windows Vista, através do Gerenciador Remoto do Hyper-V e começar a trabalhar e desenvolver todo seu potencial com maquinas virtuais.