Samba como controlador de domínio no Ubuntu

Nesse artigo estaremos configurando o SAMBA, que consiste em um software que faz a comunicação entre Windows e Linux, sendo utilizado para compartilhar arquivos e impressoras e também utilizado para ser um PDC (Primary Domain Controler), ou seja, Controlador Primário de Domínio, para administrar os acessos a rede a nível de usuário.

[ Hits: 150.245 ]

Por: Eliseu Ribeiro Cherene Viana em 01/11/2007


Instalando e configurando o SAMBA



Digite os comandos abaixo para baixar e instalar o Samba e os seus adicionais necessários.

# apt-get install samba samba-common samba-doc libcupsys2-gnutls10 libkrb53 winbind smbclient

Edite o arquivo /etc/samba/smb.conf, que deverá ficar da forma como mostrada abaixo.

[global]
workgroup = GRUPO DE TRABALHO
netbios name = SERVER1
server string = %h server (Samba, Ubuntu)
passdb backend = tdbsam
security = user
username map = /etc/samba/smbusers
name resolve order = wins bcast hosts
domain logons = yes
preferred master = yes
wins support = yes

# configuração do CUPS para impressoras

load printers = yes
printcap name = CUPS
printing = CUPS
printer admin = @lpadmin

# Logon Padrão

logon drive = H:
logon script = scripts/logon.bat
logon path = \\server1\profile\%U

# Script para adcionar computadores automaticamente

add user script = /usr/sbin/adduser --quiet --disabled- password --gecos "" %u
delete user script = /usr/sbin/userdel -r %u
add group script = /usr/sbin/groupadd %g
delete group script = /usr/sbin/groupdel %g
add user to group script = /usr/sbin/usernod -G %g %u
add machine script = /usr/sbin/useradd -s /bin/false/ -d /var/lib/nobody %u
idmap uid = 15000-20000
idmap gid = 15000-20000
template shell = /bin/bash

# Sincronismo das senha locais com as do SAMBA

passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .
passwd chat debug = yes
unix password sync = yes

# Definição do loglevel
log level = 3

[public]
browseable = yes
public = yes

[homes]
comment = Home
valid users = %S
read only = no
browsable = no

[netlogon]
comment = Serviço de logon
path = /home/samba/netlogon
admin users = Administrador
valid users = %U
read only = no
guest ok = yes
writable = no
share modes = no

[profile]
comment = User profiles
path = /home/samba/profiles
valid users = %U
create mode = 0600
directory mode = 0700
writable = yes
browsable = no
guest ok = no

Crie os diretórios para os logons e os profiles:

# mkdir /home/samba
# mkdir /home/samba/netlogon
# mkdir /home/samba/profiles
# mkdir /var/spool/samba
# chmod 777 /var/spool/samba/
# chown -R root:users /home/samba/
# chmod -R 771 /home/samba/


Reinicie o servidor Samba:

# /etc/init.d/samba restart

Edite o arquivo /etc/hosts e coloque o IP e os nomes das estações que irão participar do domínio de backup.

[...]
192.168.0.100 server1
192.168.0.110 workstation1
192.168.0.111 workstation2
192.168.0.112 workstation3
192.168.0.113 workstation4
[...]

Adicione o root no samba:

# smbpasswd -a root

Crie o arquivo /etc/samba/smbusers e execute:

# echo "root = Administrador" > /etc/samba/smbusers

Isso fará com que o sistema saiba que o Administrador tem as mesmas permissões do root.

Vamos agora visualizar como ficou tudo:

# smbclient -L localhost -U

Deverá ficar mais ou menos assim:

Domain=[MYWORKGROUP] OS=[Unix] Server=[Samba 3.0.22]
   Sharename   Type      Comment
   ---------   ----      -------
   public      Disk
   print$      Disk  Printer Drivers
   netlogon    Disk  Network Logon Service
   IPC$        IPC   IPC Service (server1 server (Samba, Ubuntu))
   ADMIN$      IPC   IPC Service (server1 server (Samba, Ubuntu))
Domain=[MYWORKGROUP] OS=[Unix] Server=[Samba 3.0.22]
   Server               Comment
   ---------            -------
   SERVER1              server1 server (Samba, Ubuntu)
   Workgroup            Master
   ---------            -------
   MYWORKGROUP          SERVER1

Configure os grupos de domínio do Windows para que o Samba saiba como o Windows trata os usuários:

# net groupmap modify ntgroup="Domain Admins" unixgroup=root
# net groupmap modify ntgroup="Domain Users" unixgroup=users
# net groupmap modify ntgroup="Domain Guests" unixgroup=nogroup


Página anterior     Próxima página

Páginas do artigo
   1. Configurando o servidor de domínio
   2. Configurando o APT-GET
   3. Instalando e configurando o SAMBA
   4. Adicionando usuários e finalizando
Outros artigos deste autor

Implementando um servidor DHCP

Firewall para o dia a dia

Samba standalone server com antivírus

Slackware como controlador de domínio

Leitura recomendada

Servidor de arquivos integrado com Active Directory (AD) e quota de usuário/grupo

Sobre WINS (Windows Internet Name Service)

Instalando Samba 4 com Domínio no CentOS 7

Integrando o Debian-BR-CDD ao domínio Active Directory

Linux autenticando no AD e rodando LTSP com DHCP (Windows 2003)

  
Comentários
[1] Comentário enviado por paulinholinux em 02/11/2007 - 08:12h

Cara gostei do seu artigo, parabéns ....

Só que a algum tempo estou com problemas em colocar máquinas Linux no dominio samba (SAMBA funcionando como PDC). As máquinas windows funcionam perfeitamente, só que não consigo inserir as linux nem por decreto. A distro que estou usando atualmente nos clientes é Ubuntu, mas já tentei diversas, desde SuSe9.3, openSuSe, RedHat, e por aí vai ... tenho certeza que não é problema na distro, mas sim no método que estou utilizando para inserí-las no domain.

Encontrei um artigo no site GuiadoHardware.net mas nao obtive sucesso algum. vc tem algum ideia de como posso solucionar este meu problema?

Obrigado pela atenção...

Paulo H. G. Alves
{paulinholinux arroba yahoo ponto com ponto br}

[2] Comentário enviado por valterrezendeeng em 02/11/2007 - 15:25h

Muito bom, Direto e simples.

Vou colocar nos favoritos.

[3] Comentário enviado por maran em 02/11/2007 - 21:12h

orra bacana em o artigo
voce tratour de um jeito que faz parecer simples mais muito bem explicado

parabens

[]`s

[4] Comentário enviado por mbsalgueiro em 05/11/2007 - 09:27h

Belo artigo cara!!!! eu estava sofrendo aqui para colocar o ubuntu ate consegui mas so que o usuarios nao pegavam a permissao de audio,video e impressao... eu queria tirar uma duvida com voce por voce esta colocando esta linha no smb.conf username map = /etc/samba/smbusers voce pega o nome dos usuarios do servidor PDC e traz para sua maquina pessoal é isso que esta ocorrendo!? E como voce fez para o usuarios esta com permissao de audio video!? abracao

[5] Comentário enviado por osvilanova em 05/11/2007 - 14:55h

Cara!! obrigado pela dica....vou instalar o samba no ubuntu, pois aki eu tenho ele no conectiva......álias o meu servdor e tdo no conectiva......ja estou migrando para o UBUNTU...obrigado

[6] Comentário enviado por jvcg67@yahoo.com em 12/11/2007 - 00:12h

bacana,seu artigo.mais aonde devo ir como iniciante que sou.não consigo,instalar , nada que eu baixo
já tentei ubuntu,samba,e outros.meu linux ,eo neopc kde3.5

[7] Comentário enviado por marcelinoindex em 23/01/2009 - 13:36h

Cara... parabéns pelo seu artigo..
ta tudo muito bem explicadinho e tals..
mas a parada éh q muita gente comessa a fazer algumas doideras e tals..
Pq se vc comessa a montar um servidor em linux.. vc tem prestar atenção pra saber se todo os script ta da msm forma com o msm numero de IP e tals..
Assim funfa tudo..
caso o contrário vc num consegui fazer nada mais q uma bagunça..
vamu presta atenção nisso eim pessoal...

[8] Comentário enviado por ghostmax em 26/06/2009 - 15:10h

Boa tarde blz..... Gostei muito desse artigo, mas eu gostaria de saber como fasso para deixar uma pasta no Domínio onde todos os usuários poção acessar e dividir arquivos entre eles através dessa pasta. grato desde já..... e Parabéns pelo artigo

[9] Comentário enviado por removido em 17/06/2010 - 16:09h

Amigo abaixo meu smb.cof baseado no seu tutorial...tudo funcionando mas tenho um problema..quando um usuário tenta criar uma pasta, colar um arquivo renomear algo não aparece de imediado na pasta compartilha vendo do windows somente vendo direto dentro do servidor e para aparece no windows tenho que atualizar a pasta ou voltar um pasta depois entrar novamente ai aparece o que eu fiz...o que está errado abaixo???


dentro de dados criei duas pastas de testes com as permissões abaixo:

root@linux:/home/samba/dados/teste1# cd ..
root@linux:/home/samba/dados# ls -l
total 8
drwxrws--- 4 root teste 4096 Jun 17 15:52 teste1
drwxrws--- 2 root diretoria 4096 Jun 17 15:27 teste2
root@linux:/home/samba/dados#



[global]
workgroup = NFA
server string = %h Linux (Debian, Samba)
name resolve order = wins bcast hosts
domain logons = Yes
preferred master = Yes
wins support = Yes
comment = Servidor Linux
printing = cups
load printers = yes
cups options = raw
use client driver = yes
#AUDITORIA
vfs objects = full_audit
full_audit:facility = LOCAL5
full_auditriority = NOTICE
full_auditrefix = %u|%I|%S
full_audit:success = rename rmdir unlink
full_audit:failure = none


# Script para adcionar computadores automaticamente

add user script = /usr/sbin/adduser --quiet --disabled- password --gecos "" %u
delete user script = /usr/sbin/userdel -r %u
add group script = /usr/sbin/groupadd %g
delete group script = /usr/sbin/groupdel %g
add user to group script = /usr/sbin/usernod -G %g %u
add machine script = /usr/sbin/useradd -s /bin/false/ -d /var/lib/nobody %u
idmap uid = 15000-20000
idmap gid = 15000-20000
template shell = /bin/bash

# Sincronismo das senha locais com as do SAMBA

passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .
passwd chat debug = yes
unix password sync = yes

# Defini??o do loglevel
log level = 3


[netlogon]
comment = Serviço de logon
path = /home/samba/netlogon
valid users = %U
admin users = Administrador
guest ok = Yes
share modes = No



[printers]
comment = Todas as Impressoras
path = /var/spool/samba
guest ok = Yes
printable = Yes
browseable = No
browsable = No


[dados]
comment = pastas do servidor linux
path = /home/samba/dados
browseable = yes
writable = true
#read only = No
create mask = 0600
directory mask = 0700

[10] Comentário enviado por valdir1961 em 05/01/2012 - 23:26h

Amigo você é o escritor do livro virtualização de servidores linux para redes corporativas?

se for tem como você passa o seu e-mail, pois estou estudando por ele e se possível queria tirar algumas dúvidas.

obrigado desde já.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts