Samba + DHCP + Webmin em 3 distribuições Linux

Neste artigo apresento a instalação e configuração de um controlador de domínio, servidor de arquivos, servidor DHCP e Webmin com instalação via apt-get, fontes / binários e RPM. Gosto disso pois nunca se sabe em qual distribuição Linux trabalharemos . Atualmente trabalho com derivados de Red Hat, Slackware e Ubuntu.

[ Hits: 149.486 ]

Por: Paulo Roberto Junior - WoLF em 15/10/2008


Exemplo de arquivo de configuração completo



# Smb.conf
# SAMBA PDC
# Criado por: Paulo Junior
# Versão 2.0 : 08/02/2007
# www.paulojr.info
# www.blog.paulojr.info

# >> Parâmetros iniciais <<

# >> Variáveis de ambiente que podem ser usadas <<


#%a     -> sistema operacional do cliente
#%I     -> endereço ip do cliente
#%m     -> nome NetBios do cliente
#%M     -> Nome DNS do cliente

#%u     -> Nome do usuário efetivo
#%U     -> Nome do usuário NetBios
#%g     -> Grupo primário Linux correspondente ao %u
#%G     -> Grupo primário de %U
#%H     -> Diretório home de %u

#%S     -> Nome do serviço corrente

#%d     -> Número do processo (PID) do servidor corrente
#%h     -> Nome DNS da máquina em que o samba está rodando
#%L     -> Nome NetBios do servidor samba
#%N     -> Diretório home do servidor, do mapeamento automount
#%v   -> Versão do samba
#%R      -> O nível do protocolo SMB que foi negociado
#%T      -> Data e horário correntes

##################################




# >>Configuração Global<<

[global]

   #Determina o nome NetBios do servidor samba
      netbios name = SAMBA

   #Determina o domínio ou grupo de trabalho no qual o samba vai se anunciar
      workgroup = PAULO

   #Define a pontuação do servidor samba para ser eleito como PDC, mínimo de 33
      os level = 254  

   #Define se o servidor tentará se tornar o navegador principal do domínio.
      domain master = yes

   #Define se o servidor tentará ou não participar das eleições para navegador local do grupo de trabalho.
      local master = yes

   #Define se o servidor samba na eleição de masterbrowser terá vantagens.
      prefered master = yes  

   #Define se o servidor samba é um domínio para que clientes façam logons
      domain logons = yes

   #Determina um comentário que aparecerá junto ao ambiente de rede
      server string = Samba %v on (%h)

   #Determina o caminho dos perfis das contas, no exemplo abaixo, ficará em \\nomedoservidor\[Profiles]\nome_da_conta
      logon path = \\%L\Profiles\%U
  
   #Determina o drive de logon
      logon drive = J:
      
   #Determina o logon home ou seja pasta do usuário principal manualmente
      logon home = \\%L\homes\%U
  
   #Determina um script de logon padrão caso deseje
      logon script = nomedoscript.bat ou nomedoscript.cmd
      
   #Define o nível de segurança do servidor, são eles [user], [server] e [domain]
      security = user
  
   #Define onde serão armazenadas as informações sobre usuários e grupos do domínio, são eles [tbsam], [smbpasswd], [ldapsam]
      #passdb backend = tbsam

   #Determina a localização dos arquivos de log
      log file = /var/log/samba/log.%m
  
   #Define o tamanho máximo do log do samba. Padrão de 5mb ou 5000kb.

      max log size = 5000

   #Define se ativa ou não a gravação de data/hora nos arquivos de log gerados pelo samba.
      #debug timestamp = yes

   #Define a ordem de pesquisa da resolução de nomes do samba
      name resolve order = lmhosts host wins bcast  

   # Define o nível de depuração do samba nos daemons. valores de 0 a 9.
      #debug level = 1
  
   #Define como o servidor samba vai se anunciar
      #announce as = [NT Server] [NT Workstation] [Windows 9x]

   #Define o programa de senhas utilizado pelo samba
      passwd program = /usr/bin/passwd %u

   #Define o script de logon da conta, no caso abaixo ele procurará algum script que bate com o mesmo número da conta criada, portanto Netbios name.
      logon script = %U.bat

   #Define o arquivo onde estão instaladas e configuradas as impressoras no servidor, muito importante caso deseje compartilhar impressoras no samba
      printcap name = /etc/printcap
      load printers = yes

   #Define se tem suporte wins ou não. Somente funciona em ambiente Windows
      wins support = yes
      wins proxy = yes
      dns proxy = yes
      max wins ttl = 518400
      wins server = 192.168.xx.xxx

   #Define o número de caracteres das senhas e do login
      #password level = 10
      #username level = 10  

   #Define se as restrições do usuário nos módulos PAM terão efeito também no samba.
      #obey pam restrictions = yes

   #Define as condições das senhas.
      #min password length = 5
      #password history = 2
      #user must logon to change password = yes
      #maximum password age = 10
      #minimum password age = 5
      #lockout duration = 3
      #reset count minutes = 2
      #bad lockout attempt = 2

   #Define se o servidor vai mostrar horas
      #time server = yes


      lpq command = lpq -P'%p'

      passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*

      socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

      lprm command = lprm -P'%p' %j

      lpresume command = lpc release '%p' %j

      print command = lpr -r -P'%p' %s

      printing = lprng

      queuepause command = lpc stop '%p'

      unix password sync = Yes

      queueresume command = lpc start '%p'

      lppause command = lpc hold '%p' %j

      log level = 1
   #Define se usa caracteres em formato windows
      unix charset = iso8859-1
      display charset = cp850
   #Define se as palavras serão em minúsculas
      preserve case = no
      short preserve case = no
      default case = lower




###########################################
#Funções:
#   comment = [comentário] define um comentário
#   read only = [yes] [no] define se o compartilhamento é ou não somente leitura
#   writable = [yes] [no] define se o compartilhamento é ou não modo escrita
#   public = [yes] [no] define se o compartilhamento é público
#   valid users = [user1] [@grupo1] define os usuários válidos a acessar o compartilhamento
#   create mask = [0600] define a máscara em formato de octetos
#   create mode = [0640] define as permissões padrões da criação de arquivos
#   force create mode = [0640]
#   directory mask = [0700]
#   force directory mode = [0640]
#   browsable = [yes] [no]
#   locking = [yes] [no]
#   write cache size = [500000]
#   follow symlink = [yes] [no]
#   wide links = [yes] [no]
#   guest ok = [yes] [no]
#   path = [/arquivos/scripts]
#   preserve case = [yes] [no]
#   short preseve case = [yes] [no]
#   default case = [lower] [upper]
#   character set = [iso8859-1]  seleciona a língua padrão do samba
#   client code page = [850] Seleciona a página de códigos do samba para tratar os caracteres
#   preserve case = [yes] [no]
#   valid chars = [á:Á é:É ó:Ó ú:Ú â:Â ê:Ê ô:Ô ã:Ã õ:Ô à:À ò:Ò]
#   guest acount = [nobody] [@grupo1] Define a conta local que será mapeada quando um usuário se conectar sem senha
#   invalid users = [user1] [@grupo1] Define uma lista de usuário que estão proibidos a acessar o compartilhamento
#   valid users = [user1] [@grupo1] Semelhante a "invalid users" porém é ao contrário
#   obey pam restrictions = [yes] [no] Indica se as restrições do usuário nos módulos PAM terão efeito
#
#
#Define se oculta ou não as extensões dos arquivos
#   hide dot files = Yes
#
#Define quais extensão serão ocultadas
#   hide files = /*.mp3/*.wav/*.tif/*.pif/*.mpg/*.mpeg/*.jpg/*.bmp
#
#Define quais extensões serão vetadas, ou seja não poderão ser gravadas.
#   veto files = /*.mp3/*.wav/*.tif/*.pif/*.mpg/*.mpeg/*.jpg/*.bmp
#
#Define se o usuário pode ou não apagar os arquivos vetados.
#   delete veto files = yes
#
#Define uma lixeira
#     vfs objects = recycle
#     recycle:repository = .recycle
#     recycle:keeptree = True
#     recycle:maxsize = 1024000
#     recycle:versions = True
#     recycle:noversions = .doc|.xls|.ppt|.pdf
#     recycle:touch = False
#     recycle:exclude = *.tmp *.temp *.obj *.~??
#
#
#
#################################


#Seção especial do samba, não pode ser esquecida, é a pasta pessoal do login
[homes]
   comment = Pastas dos usuários
   read only = no
   writable = yes
   public = no
   writeable = Yes
   valid users = %S
   create mask = 0664
   create mode = 0640
   force create mode = 0640
   directory mask = 0775
   force directory mode = 0777
   browsable = yes
   locking = no
   write cache size = 500000

#################################


#Define parâmetros para os perfis do windows
[Profiles]
   path = /arquivos/profiles
   read only = No
   guest ok = Yes
   writeable = Yes
   browseable = No

###################################

#Define parâmetros para os scripts de logon da Microsoft
[netlogon]
   browseable = no
   comment = Compartilhamento de Scripts
   path = /arquivos/scripts

####################################

#Sessão especial do samba, não pode ser esquecida
[printers]
   comment = Impressoras ( Todas )
   path = /var/spool/samba
   printable = Yes
   browseable = No
   guest ok = No
   writable = No
  
###################################

#Define parâmetros para uma possível atualização de antivírus
[base]
   guest ok = No
   writable = yes
   read only = No
   path = /arquivos/antivirus/base

#####################################
#Define parâmetros para uma impressora
#[hp2100m]
#   comment = Impressora Laser Postscript
#   path = /var/spool/samba
#   printer name = HP
#   browseable = yes
#   printable = yes
#   printer = lp
#   printing = lprng
#   read only = yes
#   guest ok = yes
#   valid users = usuario1, usuario2, @grupo1, @grupo2
#   create mode = 0700

#######################################

#Define parâmetros para o diretório principal
[samba]
   comment = Diretorio Principal
   path = /arquivos
   read only = No
   force create mode = 0775
   force directory mode = 0775
   guest ok = yes
   writeable = Yes

########################################

#Define um exemplo de compartilhamento
[teste]
   comment = Pasta de teste
   path = /arquivos/teste
#   write list = @suporte
   read only = No
   force create mode = 0775
   force directory mode = 0775
#   valid users = usuario1, usuario2, @grupo1, @grupo2
#   guest ok = Yes
   browseable = Yes
#Define se oculta ou não as extensões dos arquivos
   hide dot files = Yes
#Define quais extensões serão ocultadas
   hide files = /*.mp3/*.wav/*.tif/*.pif/*.mpg/*.mpeg/*.jpg/*.bmp
#Define quais extensões serão vetadas, ou seja não poderão ser visualizadas
   veto files = /*.mp3/*.wav/*.tif/*.pif/*.mpg/*.mpeg/*.jpg/*.bmp
#Define se o usuário pode ou não apagar os arquivos vetados.
   delete veto files = yes


###########################################

#Um Exemplo Completo
#[exemplo]
#        comment = Comentario
#        path = /arquivos/teste
#        valid users = @grupo1, @grupo2
#        read only = No
#        create mask = 0777
#        force create mode = 0775
#        force security mode = 0775
#      guest ok = No
#      browseable = No
#      locking = no
#      write cache size = 500000
#      share modes = no
#        veto files = /*.mp3/*.wav/*.tif/*.pif/*.jpg/*.bmp
#        hide files = /*.mp3/*.wav/*.tif/*.pif/*.jpg/*.bmp
#        vfs objects = recycle
#        recycle:repository = .recycle
#        recycle:keeptree = True
#        recycle:maxsize = 1024000
#        recycle:versions = True
#        recycle:noversions = .doc|.xls|.ppt|.pdf
#        recycle:touch = False
#        recycle:exclude = *.tmp *.temp *.obj *.~??

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação do SAMBA via APT-GET
   3. Instalação do SAMBA via fontes/binários
   4. Instalação do SAMBA via RPM/Red Hat
   5. Configuração do SAMBA / Arquivo de configuração .conf
   6. Exemplo de arquivo de configuração completo
   7. Instalação do DHCP via APT-GET
   8. Instalação do DHCP via fontes / binários
   9. Instalação do DHCP via RPM/Red Hat
   10. Configuração do DHCP / Arquivo de configuração .conf
   11. Instalação do WEBMIN via APT-GET
   12. Instalação do Webmin via fontes / binários
   13. Instalação do Webmin via RPM/RedHat
Outros artigos deste autor

IBQUOTA - Gerenciador de Impressão por Usuário

Stoq - Gestão comercial open source

Webmail Roundcubemail em PHP4/PHP5 com skins, LDAP e extras

FAM - Monitorar alteração de arquivos

Aluguel de certificações e formações. Ilegal?

Leitura recomendada

Samba 4 - Compartilhamento de Arquivos

Samba3 + LDAP no ArchLinux

libpam-mount: a Solução para montagem de volumes SMB

Autenticando Linux num PDC Samba com auto-montagem de unidade por usuários (sem usar LDAP)

Mapeando todas os tipos de unidades de redes no Linux

  
Comentários
[1] Comentário enviado por renato.leite em 15/10/2008 - 13:20h

ta otimo o seu artigo, não li tudo porque to no "trabalho"... mas qunado chegar em casa eu leio tudo x]

[2] Comentário enviado por reng.unip em 15/10/2008 - 14:31h

Ótimo artigo, muito proveitoso e instrutivo, meus parabéns!!!

Abraço...

[3] Comentário enviado por removido em 15/10/2008 - 14:58h


Olha , eu não li , na verdade só bati o olho, mas só pelo trabalho de mostrar por rpm, deb e fonte já vale 10 ;)

[4] Comentário enviado por paulorvojr em 15/10/2008 - 15:30h

Obrigado pelos comentários pessoal!!, este é meu primeiro artigo no VOL, gosto de detalhamento, pois nunca se sabe que nível de conhecimento vai ler.

Todos os artigos e textos que escrevo estão em www.blog.paulojr.info

Obrigado a todos.

Paulo Junior
www.paulojr.info

[5] Comentário enviado por removido em 15/10/2008 - 21:55h

Bom não consegui ler tudo mas o seu esforço de fazer para varias distribuições vale 10.
Acho que toda dica ou artigo deve ser que nem o seu,sempre para varias distribuições,parabéns paulorvojr nota 10.

[6] Comentário enviado por removido em 17/10/2008 - 20:43h

Exelente artigo, muito bem elaborado. E bom que esta em 3 versoes do Linux. Parabens!

Vinicius

[7] Comentário enviado por removido em 18/10/2008 - 17:29h

Muito bom, me ajudou com umas duvidas.

vlw

[8] Comentário enviado por furror em 19/10/2008 - 10:17h

vc foi feliz em posta essa dica!

como diz o nosso amigo acima excelente, mto bem elaborado!

vlw

[9] Comentário enviado por removido em 19/10/2008 - 22:33h

Muito bom, nota 10!
Ajuda um monte de gente, tirando suas duvidas.

Parebens

[10] Comentário enviado por comfaa em 28/10/2008 - 12:49h

bem legal

[11] Comentário enviado por renovamark em 02/11/2008 - 11:55h

É amigo muito bom o conteúdo, e encontrei uma coisinha de errado que também estou procurando...
Uma rede com + ou - 500 máquinas, como foi dito no início!? correto?
o seu dhcp.conf está só para 254 máquinas...
Estou sofrendo aqui para usar um /23 e não consigo...
quando coloco no conf

subnet 192.168.0.0 netmask 255.255.254.0 {
range 192.168.0.10 192.168.1.254;

Entenderam ??? vou ter 500 máquinas, mas não roda nem por reza braba... obde está o erro?

quem souber posta aí que ajuda e muito o conteúdo...


Inté

[12] Comentário enviado por deP3D3R em 05/03/2009 - 13:29h

aee.. era o que eu tava precisando

[13] Comentário enviado por vinivend em 15/07/2009 - 11:28h

otimo artigo, parabéns

[14] Comentário enviado por israelborgess em 21/07/2009 - 16:55h

Amigo não conseguir intender a parte:
# ./configure --prefix=/usr/local/samba

Eu baixei a versão do samba: samba-3.4.0 descompactei em:
/opt/samba3 OBS: Criei a pasta e dei permissão total ao usuario.

Como devo proceder ?
Desde já agradeço.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts