Instalando e editando o smb

23
Instalando os pacotes Começamos instalando os pacotes necessários para o funcionamento de seu Samba como servidor e cliente. # apt-get install samba samba-common smbclient smbfs Após a instalação, não se preocupe com as opções que forem pedidas, pois iremos configurar o arquivo manualmente. Primeiro passo é fazer um backup do arquivo de configuração do Samba. # cp /etc/samba/smb.conf /etc/samba/smb.bkp.conf Agora apague todo o conteúdo dentro do arquivo /etc/samba/smb.conf com o comando: # echo "" > /etc/samba/smb.conf Agora edite o arquivo: # vim /etc/samba/smb.conf Copie e cole o conteúdo a seguir em seu arquivo: [global] # Nome do seu Servidor comment = Servidor SAMBA PDC # Domínio do servidor PDC workgroup = domínio # Indica ser obrigatório o uso de usuário e senha security = user os level = 100 announce as = NT Server domain logons = yes # Qual script será executa a ser logado %U significa nome do usuário logon script = %U.bat # Opções principais para se tornar o PDC domain master = yes

Transcript of Instalando e editando o smb

Page 1: Instalando e editando o smb

Instalando os pacotesComeçamos instalando os pacotes necessários para o funcionamento de seu Samba como servidor e cliente.

# apt-get install samba samba-common smbclient smbfs

Após a instalação, não se preocupe com as opções que forem pedidas, pois iremos configurar o arquivo manualmente. Primeiro passo é fazer um backup do arquivo de configuração do Samba.

# cp /etc/samba/smb.conf /etc/samba/smb.bkp.conf

Agora apague todo o conteúdo dentro do arquivo /etc/samba/smb.conf com o comando:

# echo "" > /etc/samba/smb.conf

Agora edite o arquivo:

# vim /etc/samba/smb.conf

Copie e cole o conteúdo a seguir em seu arquivo:

[global]

  # Nome do seu Servidor  comment = Servidor SAMBA PDC   # Domínio do servidor PDC  workgroup = domínio   # Indica ser obrigatório o uso de usuário e senha  security = user   os level = 100  announce as = NT Server  domain logons = yes  # Qual script será executa a ser logado %U significa nome do usuário  logon script = %U.bat

  # Opções principais para se tornar o PDC  domain master = yes  local master = yes  preferred master = yes  encrypt passwords = yes

  keep alive = 20  debug level = 3

  log file = /var/log/samba_log.%u  null passwords = no  unix password sync = yes

Page 2: Instalando e editando o smb

  socket options = IPTOS_LOWDELAY TCP_NODELAY

  # Hosts Liberados  hosts allow = 192.168.1. 127. 192.168.0.  # Hosts Bloqueados   hosts deny = 192.168.0.3 192.168.0.4

#=========== Compartilhamento de Diretórios  ===============

  [homes]  comment = Pastas dos Usuários  public = no  browseable = no  writeable = yes

  #Caminho para os scripts de logon  [netlogon]  comment = Compartilhamento de Scripts  # Não esquece de criar a pastas e colocar os scripts dentro  path = /etc/samba/scripts/  public = no  browseable = no  writeable = no

  [Diretório Compartilhado]  comment = Compartilhamento  path = /mnt/compartilhado  browseable = yes  valid users = @grupos  writeable = yes  write list = @users  force create mode = 0770  force directory mode = 0770

Reinicie o serviço Samba:

# /etc/init.d/samba stop# /etc/init.d/samba start

Configurando o Samba para receber Windows XPPrimeiro passo é adicionar usuários no Linux:

# adduser usuário

Logo após adicione ao Samba:

Page 3: Instalando e editando o smb

# smbpasswd -a usuário

O parâmetro "-a" indica para adicionar o usuário.

Este comando é "o pulo do gato", é o ponto chave para que as máquinas funcionem. É necessário adicionar o hostname das máquinas Windows XP para que funcione o domínio nas mesmas. Se você não sabe como ver isso no Windows XP, siga os passos a seguir:

Clique no menu "Iniciar", logo após clique em "Configurações", "Painel de Controle", depois em "Sistema".

Iniciar -> Configurações -> Painel de Controle -> Sistema

Agora nas etiquetas em cima, clique em "Nome do Computador".

Em Frente ao "Nome completo do Computador" é o hostname.

Voltando ao Samba...

Primeiro crie o grupo "maquinas":

# addgroup maquinas

Agora adicione a máquina no Linux, não esqueça do "$" após o nome, pois isso indica que é uma máquina e não um usuário.

# useradd -d /dev/null -g maquinas -s /bin/false nome_da_maquina$

Agora adicione ao Samba, perceba que não é necessário colocar o "$" após o nome do host:

# smbpasswd -a -m nome_da_maquina

Pronto, seu Samba PDC com Windows XP já está adicionado e funcionando!

Procedimentos para logar Windows XP no Samba (exceto Home Edition)Adicione uma conta de usuário ao sistema e ao Samba:

# adduser hugoalvarez# smbpasswd -a hugoalvarez

Adicione a conta de root ao Samba caso nunca tenha sido adicionada:

Page 4: Instalando e editando o smb

# smbpasswd -a root

Adicione a conta da máquina ao sistema e ao Samba:

# adduser computadordohugo$# smbpasswd -a -m computadordohugo

Não coloque $ ao final do nome computadordohugo ao adicioná-lo ao Samba, o parâmetro -m já informa que é uma conta de máquina.

Logue-se na estação Windows XP, clique com o botão direito do mouse em:

Meu computador -> Propriedades -> Nome do computador -> Alterar -> selecione Domínio -> digite o nome do domínio -> quando pedir usuário coloque root e digite a senha para ingressar no domínio -> reinicie o sistema quando solicitado.

Após o reboot, logue-se com o usuário hugoalvarez. Em um Windows XP recém instalado e que não foi fuçado você vai receber a seguinte mensagem de erro:

Para corrigí-la, logue-se novamente no perfil local da estação e faça as seguintes modificações:

Clique em iniciar -> Configurações -> Painel de controle -> Ferramentas administrativas -> Diretiva de segurança local.

No painel de diretivas de segurança local, clique no sinal de + da opção diretivas locais e selecione opções de segurança, localize a opção:

Membro de domínio: criptografar ou assinar digitalmente os dados de canal seguro (sempre)

Page 5: Instalando e editando o smb

Clique duas vezes na opção e selecione desativar, você vai receber uma mensagem de alerta, clique em ok, veja a figura:

Após realizar o procedimento, feche a janela de Segurança de diretiva local, abra um prompt de comando e digite:

# gpupdate /force

Faça logoff ou reinicie se preferir e logue-se novamente no domínio, dessa vez provavelmente você vai receber esta mensagem, como mostra a figura:

Page 6: Instalando e editando o smb

Para corrigir o problema realize os seguintes procedimentos.

Edite seu arquivo smb.conf e adicione as seguintes linhas:

Na seção global defina o parâmetro logon path:

logon path = \\nomedoservidor\sysvol\%U

Onde:

nomedoservidor = Netbios ou FQDN, é indiferente desde que a estação enxergue o servidor através do nome.

sysvol = Share não obrigatório, porém é legal em qualquer domínio com máquinas Windows XP para enganá-las e elas pensarem que se trata de um servidor Windows.

%U = Variável do Samba que define nome de usuário, para as máquinas escreverem o perfil dentro da pasta de cada usuário, o Windows só procura policies dentro de sysvol, segundo a arquitetura do Active Directory, para as máquinas Windows XP o software Samba não existe e elas não vão obedecê-lo, por isso a necessidade de enganá-las.

Pode ser definido qualquer outro caminho em logon path, mas um dia você terá problemas caso queira implementar policies.

Crie um share com nome sysvol na seção de shares:

[sysvol]comment = System Volumepath = /usr/local/samba/sysvolguest ok = yeswritable = yesshare modes = nobrowseable = no

A opção browseable = no é equivalente ao $ nos shares Windows, serve para não listar o diretório quando um usuário digitar \\nomedoservidor, o sysvol está lá, mas não é exibido

guest ok = yes, pode ser definida como no, caso as permissões e autenticação do seu samba já tenham sido testadas e estejam corretas, enquanto estiver implementando guest ok = yes facilita a sua vida.

Exemplo na figura:

Page 7: Instalando e editando o smb

Reinicie o Samba.

Crie uma pasta hugoalvarez dentro da pasta que foi definida para o share sysvol, esse é o diretório onde a máquina do usuário hugoalvarez vai escrever o perfil quando ele logar-se, e caso ele logue-se em outra máquina qualquer é esse diretório que vai fornecer o perfil, por exemplo com o documento1.doc salvo na meus documentos da outra máquina ou os favoritos salvos na estação que o usuário hugoalvarez logou anteriormente.

# mkdir /pathdosysvol/hugoalvarez

Deixe somente o usuário hugoalvarez escrever, ler e executar nessa pasta.

# chmod -R 700 hugoalvarez /pathdosysvol/hugoalvarez

Tente logar-se novamente e tudo deve correr bem, para testar as configurações do perfil faça logoff na estação e veja que os dados da pasta Documents And Settings do usuário hugoalvarez foram salvos no servidor dentro do share sysvol criado no Samba dentro da pasta com o mesmo nome do usuário.

Se você deixar permissões de execução e escrita no share sysvol, as máquinas Windows XP serão capazes de adicionarem seus perfis automaticamente sem a necessidade do passo anterior, mas cuidado para não dar permissões demais a quem não deve.

Vale lembrar que pastas particulares do Outlook ".pst" devem sofrer uma rotina de backup diferenciada porque ficam dentro de "configurações locais\dados de aplicativos" e esta pasta não é sincronizada com o servidor devido ao fato de o Outlook não trabalhar com pastas .pst através de rede, caso queira maiores informações consulte:

Page 8: Instalando e editando o smb

http://support.microsoft.com/kb/297019/

É possível sincronizar as pastas do Outlook também trocando o path de armazenamento do cliente, o que não acho aconselhável (experiência própria) e salvá-los diretamente na rede ou sincronizá-las no logoff, mas com o tempo a rede vai sofrer devido aos arquivos .pst normalmente serem enormes para transferência, já com uma pasta "Meus Documentos" enorme essa lentidão ocorrerá somente na primeira sincronia, nas próximas somente arquivos alterados serão sincronizados.

Pronto, a máquina Windows XP já está no domínio com todas as suas funcionalidades operando, exceto autenticação criptografada que não é suportada pelo Samba em algumas versões.

Instalando e editando o smb.confO sistema de domínio é um recurso de rede muito utilizado por administradores em empresas que pretendem manter segurança e integridade entre compartilhamentos de arquivos a nível de usuários e dominar acessos indesejáveis por grupos destintos de computadores sem permissão para tal recurso.

O GNU/Linux permite a criação de domínios de máquinas através do protocolo de compartilhamentos SMB de uma forma simples, legível e o que é melhor, gratuita.

Nesse artigo, assim como vários, estarei configurando um servidor de domínio com perfil móvel no Fedora 10.

Versão do Samba: 3.2.11-0.30.fc10.i386

Caso queira verificar a sua versão utilize o comando abaixo:

# rpm -q samba

Para instalar o Samba, caso não esteja instalado:

# yum install samba

Acesse a pasta do Samba que se encontra em /etc:

# cd /etc/samba

Crie uma pasta com o nome arquivos_velhos:

Page 9: Instalando e editando o smb

# mkdir arquivos_velhos

Faça a cópia do arquivo smb.conf original para a pasta arquivos_velhos:

# cp smb.conf /etc/samba/arquivos_velhos

Edite o arquivo smb.conf que está na pasta samba.

# vi smb.conf

Escreva dentro do arquivo o config que está logo abaixo.

Comentários '#' são usados para descrever configurações importantes.

# SAMBA PDC PERFIL MÓVEL# de: Root_dog#-------------------------[global]#--------------------------workgroup = fedora #O nome desse domínio é fedora você pode alterar netbios name = hardnet #O nome da minha maquina na rede e hardnet você pode alterar

server string =%U #variável %U exibe o nome do usuário no mapeamentoVmax disk size =1000 #Tamanho máximo de todos os compartilhamentos no seu servidor

#--------------------------domain master = yes domain logons = yes#--------------------------security = userencrypt passwords =yesenable privileges = yes#passdb backend =tdbsam#-------------------------passdb backend = smbpasswd#--------------------------preferred master = yeslocal master = yesos level = 100wins support = yes#--------------------------logon script = logon.batlogon home =%L%U.profiles#Carrega perfil pela rede toda logon path =\\%N\profiles\%u logon drive=G:#--------------------------[netlogon]comment = Servico de Logon path = /var/samba/netlogon/#Script em lote para gerar mapeamento de rede no Windows

Page 10: Instalando e editando o smb

read only = yesbrowseable = no#--------------------------[homes]comment=Diretorio Home path =/home/%U/profiles #Diretório home de cada usuário no Servidor “Profile do usuário” writeable=yesvalid users = %Screate mask = 0700directory mask = 0700browseable = no#--------------------------[Profiles]path =/home/%Uwriteable =yesbrowseable=nocreate mask =0600directory mask =0700force user=%U#--------------------------[particular]path=/home/%U/privado #Pasta particular do usuário browseable = yeswriteable=yes#---------------------------[publico] #Pasta publica na rede path=/publico/browseable=yeswriteable=yes

Configurar os diretórios, permissões e serviçosO diretório skel é igual a All users do Windows, gera um padrão de configuração de cada novo usuário cadastrado.

Vamos criar a pasta privada dos usuários dentro do diretório:

# mkdir /etc/skel/privado

Agora vamos criar a pasta publico, que deverá ser de acesso público entre todos usuários logado no domínio:

# mkdir /publico

Atribuir direitos sobre a pasta pública:

Page 11: Instalando e editando o smb

# chmod +t publico

É necessário que o serviço NMB esteja ativado. Exemplo:

# setup

Localize: > serviço do sistema, marque um '*' no serviço [*]NMB, aproveite e libere o Samba no firewall. Ainda em setup vá em > configuração do firewall > personalizar, marque um '*' no serviço SMB [*]SMB. Salve e saia.

Testando o Samba e script de logon

Testando o SambaVamos testar o Samba:

# testparmLoad smb config files from /etc/samba/smb.confProcessing section "[netlogon]" Processing section "[homes]" Processing section "[printers]" Processing section "[Profiles]" Processing section "[particular]" Processing section "[publico]" Loaded services file OK. Server role: ROLE_DOMAIN_PDC Press enter to see a dump of your service definitions

Resultado do testparm [OK].

Criando script de logonVamos criar o script de logon que vai executar os mapeamentos necessários para os clientes Windows.

Crie as seguintes pastas:

# mkdir /var/samba # mkdir /var/samba/netlogon

Crie um arquivo logon.bat como a seguir:

# vi /var/samba/netlogon/logon.bat

Page 12: Instalando e editando o smb

Digite o script no arquivo:

cd \net use Z: \\SEU_IP_AQUI\particular net use X: \\SEU_IP_AQUI\publico

Salve e saia do arquivo.

Atribuir direitos sobre a pasta:

# chmod +t /var/samba/netlogon

Inicie o serviço SMB:

# service smb start

Resultado [ok].

Cadastrar usuários e máquinas que utilizarão o serviçoCriei um script que vai facilitar o cadastro de usuários e máquinas no domínio e também economizar muitas explicações sobre cadastro de usuário e máquina.

Copie e cole em um editor de texto e salve com o nome de cadastro.

#!/bin/bashmenu(){clearecho "[MENU PRINCIPAL]"echo "==========================================";echo "[1] Novo usuário";echo "[2] Nova máquina";echo "[3] Excluir usuário";echo "[4] Excluir máquina";echo "[5] Pesquisar usuário";echo "[6] Pesquisar máquina";echo "[7] Sair";echo echoechoecho

echo "Digite uma Opção :::"read opcao

Page 13: Instalando e editando o smb

case $opcao in

1)adicionar;;2)maquina;;3)removeuser;;4)removemaquina;;5)procura;;6);;7)exit;;

*) "COMANDO INVALIDO";Echo;menu;; esac}

adicionar(){clearecho '-------------------------------------------'echo '*********** CADASTRO DE USUÁRIO************ 'echo '-------------------------------------------'echo 'Entre com o novo login';read usuarioadduser $usuarioecho 'Entre com uma nova senha';passwd $usuariosmbpasswd -a $usuario

mkdir /home/$usuariochmod -R 700 $usuario /home/$usuariochown -R $usuario.$usuario /home/$usuariochown -R $usuario.$usuario /home/$usuario/privadomenu}maquina(){clearecho '-------------------------------------------';echo '*******CADASTRO DE MÁQUINA NO DOMÍNIO*****';echo '-------------------------------------------';echo 'Entre com o nome da máquina';read maquinauseradd -d /dev/null -s /bin/false $maquina$passwd -l $maquina$smbpasswd -am $maquinaecho "---------------------------------------------";sleep 10menu}procura(){clearecho "----------------------------------------------";echo "********USUÁRIOS LOCALIZADOS*******************";

Page 14: Instalando e editando o smb

ECHO "----------------------------------------------";echoecho "|----------------Samba-------------------------|";cat /var/lib/samba/private/smbpasswd | awk 'BEGINS{FS=":"}{print"usuario----->"$1'} | moreecho "|----------------------------------------------|";echo "----------------Sistema-----------------------";cat /etc/passwd |awk 'BEGINS{FS=":"}{print "usuario------>"$1'} | moreecho "-----------------fim--------------------------";}removeuser(){clearecho "----------------------------------------------";echo "********REMOVER USUÁRIO***********************";echo "----------------------------------------------";echo echoecho "Entre com o usuário desejado";read apagauseruserdel $apagauser rm -r /home/$apagauserecho echoecho "EXCLUÍDO COM SUCESSO!"sleep 3menu}removemaquina(){clearecho "-----------------------------------------------";echo "**********REMOVE MÁQUINAS**********************";echo "-----------------------------------------------";echoechoechoecho "Digite o nome da máquina";read removemaquinauserdel $removemaquinaecho "REMOVENDO"sleep 2

menu}menu

Execute o comando abaixo:

# chmod -x cadastro

Execute o script com o seguinte comando:

Page 15: Instalando e editando o smb

# ./cadastro

Antes de mais nada, cadastre o super usuário root e defina uma senha. Depois cadastre os demais usuários e suas senhas.

Cadastre através do script a sua máquina cliente no servidor.

Ex: maquina01.

Configurando o cliente WindowsConfigure o IP do servidor de domínio no WINS da máquina cliente. Veja as imagens a seguir como exemplo:

Page 16: Instalando e editando o smb
Page 17: Instalando e editando o smb

Digite o IP do seu servidor de domínio no WINS (Ex: 192.168.0.224):

Page 18: Instalando e editando o smb

<< Página anterior Próxima página >>

Migrar o cliente Windows para o domínio SambaVá em meu computador com o botão direito e escolha propriedade, localize a aba "Nome do Computador" e clique no botão "alterar". Siga as imagens como exemplo:

Na próxima tela, no painel membro, escolha a opção domínio, digite o nome do seu domínio e clique em OK. Logo em seguida digite o usuário root e a senha cadastrada no Samba.

Page 19: Instalando e editando o smb

Se tudo correu bem aparecerá uma tela de boas vindas:

<< Página anterior Próxima página >>