• Aumentar tamanho da fonte
  • Tamanho da fonte padrão
  • Diminuir tamanho da fonte

Domain Contoler com Samba - PDC - em elaboração

Configurar um controlador de domínio com Samba é uma tarefa cada vez mais comum nas redes de várias empresas, contudo as várias opções de configuração do Samba muitas vezes nos levam a caminhos tortuosos. Vou mostrar as configurações utilizadas para montar um Domain Controller com Samba e o que significam.

Instalando o Samba

Nosso primeiro passo será a instalação do Samba (pacotes server e client). Sempre que possível vou mostrar os passos específicos para Debian, Mandriva e Fedora.

Debian/Ubuntu:

# apt-get update
# apt-get install samba smbclient smbfs

Mandriva:

# urpmi --auto samba-server samba-client

Fedora:

# yum install samba samba-client

Há outros pacotes que compõem a suíte Samba, entre eles:

  • samba-swat: um ótimo configurador do samba;
  • samba-doc: vários HOWTO's e uma cópia do livro "Using Samba" 2ª edição da editora O'Reilly;
  • samba-winbind: para autenticação de usuários em servidores Windows®;
  • samba-vscan-*: módulos adicionais para integração com antí-virus.

Lembre-se que alguns destes recursos podem estar integrados diretamente no pacote do servidor em sua distribuição.

 

Configurando o Samba

A configuração do Samba nestas distribuições fica na pasta /etc/samba. É nela que temos o arquivo de configuração smb.conf bem como alguns arquivos complementares. Você pode começar sua configuração alterando o arquivo já disponível ou começar uma configuração do zero. Eu sugiro que comecemos com um arquivo novo. Vamos renomear o arquivo original e editar um arquivo novo.

# cd /etc/samba
# mv smb.conf smb.conf.dist
# vi smb.conf

Neste novo arquivo smb.conf vamos colocar as seguintes diretivas:

[global]
# 1. Opções de identificação do equipamento e do domínio
# nome da máquina
netbios name = SERVER
# nome do domínio
workgroup = DOMINIO
# comentário
string = Controlador de domínio

# 2. Identificação de usuários e autenticação
# como os usuários são identificados pelo Samba
security = user
# onde a identificação de cada usuário é armazenada
passdb backend = tdbsam

# 3. Habilitando a autenticação de usuários para as estações Windows
domain logons = Yes
# nível de identificação do Samba
os level = 33
# identificando o browser de rede
preferred master = auto
domain master = Yes
local master = Yes
# logon script
logon script = login.bat

# 4. Desabilitando perfis remotos (roaming profiles)
logon path =
logon drive =
logon home =

# 5. Habilitando time server
time server = Yes

# 6. Resolução de nomes
# configurando o Samba como servidor Wins da rede
wins support = Yes


# Compartilhamentos obrigatórios
[netlogon]
comment = Logon scripts
path = /home/samba
read only = Yes
write list = root @"Domain Admins"


# mesmo que você tenha desabilitado perfis remotos na seção global, você deve criar este share
[profiles]
comment = perfis remotos
path = /home/samba/profiles
read only = No
create mask = 0600
directory mask = 0700


# Compartilhando o diretório pessoal de cada usuário
# este é um compartilhamento especial, tem um S no final mesmo: homes
[homes]
comment = Diretório pessoal
browseable = No
writable = Yes
# Não vamos deixar os usuários acabarem com nosso hd com diversão.
veto files = /*.mp3/*.cda/*.mpg/*.mpe/*.wma/*.wmv/*.avi/*.jpg/
# apenas o home do próprio usuário será visível.
valid users = %$
# quem fizer parte deste grupo terá direitos administrativos
admin users = @"Domain admins"
# tornar os arquivos como .bashrc e outros serão ocultos.
hide dot files = Yes


# compartilhamento público
[publico]
comment = Compartilhamento publico no servidor
# estou colocando em pastas diferentes para facilitar o controle de acesso
path = /home/shares/publico
# Compartilhamento visível
browseable = Yes
writable = Yes
veto files = /*.mp3/*.cda/*.mpg/*.mpe/*.wma/*.wmv/*.avi/*.jpg/
admin users = @"Domain Admins"
# garantindo que todos terão direito de acesso ao conteúdo deste compartilhamento
# qualquer arquivo que um usuário gravar todos poderão ler mas não alterar (rwxr--r--)
create mask = 744
# qualquer diretório criado poderá ser utilizado pelo grupo e visível por todos
directory mask = 775

Nesta configuração estamos criando alguns compartilhamentos que devem ter as pastas locais (indicadas na diretiva path) criadas antes de colocarmos o samba em funcionamento.

# cd /home
# mkdir samba
# mkdir samba/profiles -m 1777
# mkdir -p shares/publico -m 1777

A pasta /home/samba que armazenará os logon scripts não precisa de qualquer permissão especial pois apenas os Domain Admins podem gravar nela. A pasta /home/samba/profiles deve permitir que qualquer usuário grave seu perfil nela, daí a permissão especial 1777 garantindo que apenas o próprio usuário possa remover seus dados. A pasta /home/shares/publico foi criada como uma área comum onde todos podem gravar dados e trocar arquivos, vamos definir sua permissão como 1777 também.

 

Criando usuários no servidor

Os usuários para o Samba são criados em duas etapas:

1ª - deve existir um usuário Linux que será associado a um usuário Samba em seguida.

# adduser marcos

Não precisamos definir uma senha para este usuário, há menos que ele tenha acesso via ssh diretamente ao Linux.

2ª - vamos criar o usuário samba.

# smbpasswd -a marcos

Neste momento você deverá criar a senha do usuário que será utilizada no acesso a partir da estação Windows.

Para consultar os usuários criados no Samba você pode utilizar o comando pdbedit como segue:

# pdbedit -L