domingo, 23 de dezembro de 2012

Configurando SAMBA como PDC no Debian


Bem pessoal, hoje vou postar um script que utilizo para usar o Samba como PDC na rede.

Instalando do Samba.

# apt-get update

# apt-get install samba

Altere o arquivo padrão de instalação smb.conf.

# cd /etc/samba
# mv smb.conf smb.conf_old



Agora vamos criar um arquivo smb.conf em branco para editarmos as configurações.

# vim smb.conf

[global]
#NOME DO SEU DOMINIO
workgroup = DOMAINCLEIO
# NOME DO SERVIDOR
netbios name = SERVER
server string = Servidor de Arquivos

domain master = yes
domain logons = yes
# aqui coloquei um script de logon para cada usuario, mas você pode usar um script somente colocando netlogon.bat
logon script = %U.bat
logon home = \\%L\%U\.profiles
logon path= \\%L\profiles\%U

security = user
encrypt passwords = true
enable privileges = yes
passdb backend = tdbsam

# aqui eu proibo a gravação de arquivos .iso e .mp3 no servidor, acredite proibir o .mp3 e outros tipos de musicas ajuda muito.
veto files = /*.iso, *.mp3

prefered master = yes
local master = yes
os level = 100
wins support = yes

panic action = /usr/share/samba/panic-action %d
# ajudar a melhorar a permormace
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

log file = /var/log/samba.log
log level = 1
max log size = 10000

# aqui define os logs que serão gerados, e cria a lixeira do samba
vfs objects = full_audit, recycle
recycle:versions = yes
recycle:repository = /var/samba/trash/%U
recycle:keeptree = yes
recycle:exclude = *.mp3, *.iso
recycle:exclude_dir = tmp, cache

full_audit:success = write, unlink, rename, rmdir, chmod, chown
full_audit:prefix = %u|%S
full_audit:failure = none
full_audit:facility = local5
full_audit:priority = notice


[netlogon]
comment = servico de logon
path = /var/samba/netlogon
read only = yes
browseable = no

[profiles]
path = /var/profiles
writeable = yes
browseable = no
create mask = 0600
directory mask = 0700

[homes]
path = /home/%u/profile.pds
valid users = %S
read only = no
create mask = 0700
directory mask = 0700
browseable = no

[lixeira]
path = /var/samba/trash/%U
writable = yes
create mask = 0700
directory mask = 0700
browseable = yes

[arquivos]
path = /arquivos
browseable = yes
writable = yes
valid users = +geral
write list = +geral


Salve as configurações e feche o arquivo.
Agora vamos criar a pasta profile.pds para servir de padrão para os usuários que seram criados, dentro do diretório /etc/skel.

Criando a pasta profile.pds no skel:


# cd /etc/skel
# mkdir profile.pds
# chmod 775 profile.pds


Vamos criar um grupo chamado Geral.

# groupadd geral

Agora vamos criar a pasta samba e a netlogon dentro de /var

# cd /var
# mkdir samba
# chmod 775 samba/
# chown root:geral samba/
# cd /samba
# mkdir netlogon
# chmod 775 netlogon/
# chown root:geral netlogon/

Agora vamos criar a pasta trash, que vai servir de lixeira.

# cd /var/samba
# mkdir trash
# chmod 775 trash/ -R
# chown root:geral trash/

Agora vamos criar dois grupos, cada grupo com dois usuários.

Grupos: compras, vendas
Usuários: fabiana, ellen, tatiane, marcia

Pertence ao grupo compras: fabiana, ellen
Pertence ao grupo vendas: tatiane, marcia

Lembrando que todos pertenceram ao grupo geral.

# adduser fabiana
Criar usuário no samba
# smbpasswd -a fabiana

Adicione também o usuário root ao samba, e deixe com a mesma senha do sistema.

# smbpasswd -a root

Agora vamos adicionar os grupos que também são os setores.

# groupadd compras vendas

Agora vamos adicionar os usuários ao seu grupos (setores).
# adduser fabiana compras
# adduser ellen compras
# adduser tatiane vendas
# adduser marcia vendas

Agora também adicione todos os usuários ao grupo geral.

# adduser fabiana geral
# adduser ellen geral
# adduser tatiane geral
# adduser marcia geral

Agora vamos criar as contas das máquinas que irão ingressar no dominio.

Pra isso é preciso adicionar a linha /bin/false ao arquivo /etc/shells:

# vim /etc/shells

E insira no final do arquivo:

/bin/false

Crie o grupo de máquinas:

# groupadd maquinas

Adicionar as contas de máquinas:

# useradd -g maquinas -d /dev/null -s /bin/false maquina1$
 # passwd -l maquina1$
# smbpasswd -a -m maquina1

Note que, nos dois primeiros comandos, é adicionado um "$" depois do nome, que indica que estamos criando uma conta de máquina, que não tem diretório home (-d /dev/null), não possui um shell válido (-s /bin/false) e está travada (passwd -l); a conta é válida apenas no Samba, onde é cadastrada com a opção "-m" (machine). Essas contas de máquina são chamadas de "trusted accounts" ou "trustees".

Crie a pasta profiles, nela que ficarão os arquivos do usuário, área de trabalho, meus documentos etc.

# cd /var
# mkdir
# chmod 1777 profiles/

Agora vamos criar a pasta arquivos, e os diretórios dos grupos compras, e vendas.

# cd /
# mkdir arquivos
# chmod 775 arquivos/
# chown root:geral arquivos/
# cd arquivos
# mkdir compras
# chmod 775 compras
# chown root:compras compras/
# mkdir vendas
# chmod 775 vendas
# chown root:vendas vendas/

Agora vamos criar um script de logon que vai servir para mapearmos alguns compartillhamentos, um detalhe é que como são máquinas windows que vão utilizar o script de logon, precisamos salvar utilizando o "set file format"

# cd /var/samba/netlogon
# vim netlogon.bat

net use X: \\nomedoservidor\arquivos
net use Z: \\nomedoservidor\lixeira

:set ff=dos

Agora já podemos ingressar uma máquina com Windows XP no Domínio.

O Windows 7 costuma apresentar problemas ao tentar ingressa-lo, caso você tenha  esse problema, pode ser resolvido da seguinte forma, precisa ser alterado o registro do windows 7.

Vá no regedit do windows, e crie, caso não tenha as seguintes DWORD.

HKLM\System\CCS\Services\LanmanWorkstation\Parameters
DWORD DomainCompatibilityMode = 1
DWORD DNSNameResolutionRequired = 0

Após fazer as alteraçõs reinicie a máquina para que as alterações tenham efeito.

Após reinciar a máquina você ja vai conseguir ingressar a máquina no domínio.
Provavelmente vocẽ vai ver uma mensagem como a seguinte:

"Mudar o domínio primário nome DNS deste computador" "falhou.
O nome vai permanecer "mydom". O erro foi:
O domínio especificado ou não existe ou não pôde ser contatado "

A mensagem pode ser ignorada e continuar.

Referência: http://www.hardware.com.br/tutoriais/samba-pdc/
Referência: http://blog.cesar.augustus.nom.br/configurando-um-pdc-com-samba-no-linux.html
Referência: http://www.vivaolinux.com.br/dica/Adicionar-Windows-7-ao-dominio-Samba/
Referência: http://guiadoti.blogspot.com.br/2012/05/samba-pdc-como-debian-squeeze.html

Nenhum comentário:

Postar um comentário