Instalação de Configuração do servidor SAMBA – Rede TerraLAB Igor Muzetti Pereira [email protected] Tiago Garcia de Senna Carneiro [email protected] Departamento de Computação Universidade Federal de Ouro Preto Laboratório Associado INPE/UFOP para Modelagem e Simulação de Sistemas Terrestres ___________________________________________________________ Instalação de Configuração do servidor SAMBA – Rede TerraLAB 1. Introdução O objetivo deste tutorial é mostrar como implementar através de uma ferramenta livre - SAMBA, um ambiente para gerenciamento e compartilhamento de recursos em redes formadas por computadores que utilizam Linux e Windows. Assim, é possível usar o Linux como servidor de arquivos, servidor de impressão, e compartilhar dados em uma rede, como no caso do TerraLAB, por computadores clientes que utilizam Windows e Linux como sistemas operacionais. 1.1. Ferramentas necessárias O exemplo descrito neste tutorial foi implementado sobre uma plataforma constituída pelo sistema operacional Linux Debian Lenny (5.0.5) e o software servidor Samba (3.2.5). 1.1.1. Servidor Samba Com o servidor Samba, é possível compartilhar arquivos, compartilhar impressoras e controlar o acesso a determinados recursos de rede com igual ou maior eficiência que servidores baseados em sistemas operacionais da Microsoft. Mas, neste caso, o sistema operacional utilizado é o Linux. 2. Instalação e configuração dos componentes Os passos de instalação e configuração descritos nas seções seguintes são baseados em uma nova instalação do sistema operacional Debian Lenny (5.0.5) e em uma conta de usuário com permissões de administração em tal sistema. 2.1. Instalação do servidor Samba Acesse o terminal e como root, execute o comando para instalar o servidor Samba: # apt-get install samba smbclient smbfs 2.2. Configuração do Samba: Toda a configuração do SAMBA é centralizada no arquivo smb.conf, no nosso servidor Andes se encontra em: /etc/samba/smb.conf. Nele é que são descritos os compartilhamentos, permissões de acesso, impressoras, dentre outras configurações disponíveis. Segue no “Apêndice A” desse tutorial, o arquivo smb.conf que está sendo utilizado na Andes. 2.2.1. Adicionando usuários Para adicionar usuários no samba, devemos primeiramente adicioná-los no sistema, fazemos isso com o comando useradd, depois adicionamos os usuários no samba mesmo, com o comando smbpasswd, ele irá pedir uma senha para este usuário e depois para você confirmá-la: #useradd nomeusuario #smbpasswd -a nomeusuario #Nova senha> senhausuario #Confimesenha> senhausuario Devemos cadastrar um usuário root para atuar no samba, é aconselhável utilizar uma senha diferente para este usuário do que a do root do sistema: #smbpasswd -a root #Nova senha> senharootsamba #Confimesenha> senharootsamba 2.2.2. Iniciar, reiniciar e parar o Samba Para iniciar o serviço devemos como root, executar: #/etc/init.d/samba/ start Para reiniciar: #/etc/init.d/samba/ restart Para parar: #/etc/init.d/samba/ stop 3. Script Netlogon Por último, é necessário criar o arquivo "/etc/samba/netlogon/netlogon.bat", um script que é lido e executado pelos clientes ao fazer logon. Este script deve ser feito no padrão do windows, ou seja, se possível fazer no bloco de notas, ou configurar seu editor no linux para respeitar a formatação do windows. Esse script segue no “Apêndice B” deste tutorial. 4. Configurando estações Windows 4.1. Alterar registro da estação Em executar, informe: regedit Agora, caminhe nas pastas do Windows Explorer até: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlog on\Parameters] Mude os registros deforma que eles fiquem desta maneira: "DisablePasswordChange"=dword:00000000 "maximumpasswordage"=dword:0000001e "requiresignorseal"=dword:00000000 "requirestrongkey"=dword:00000000 "sealsecurechannel"=dword:00000001 "signsecurechannel"=dword:00000001 "Update"="no" Exemplo: 4.2. Configurações locais de segurança Agora, vá em: [Painel de controle → Ferramentas Administrativas → Diretiva de Segurança Local → Opções de Segurança] Dentro dessa janela desabilite as opções abaixo: Domain member: Digitally encrypt or sign secure channel (always) Domain member: Disable machine account password changes Domain member: Require strong (Windows 2000 or later) session key Exemplo: 4.3. Servidor WINS Os servidores WINS mantém uma base de dados com nomes dos clientes configurados para utilizar o WINS e os respectivos endereços IP. Quando uma estação de trabalho configurada para utilizar o WINS é inicializada, ela registra o seu nome NetBios e o seu endereço IP no banco de dados do servidor WINS. Então, vá em: [Exibir conexões de rede → Clique com o botão direito em Conexão Local → Clique duas vezes em Protocolo TCP/IP → Clique no botão Avançado → Agora na aba WINS] Clique em Adicionar e adicione o IP do servidor WINS(IP da Andes – Servidor de Arquivos) Exemplo: 4.4. Ingressando no domínio No Windows XP Professional, acesse o "Painel de Controle > Sistema > Nome do Computador" e use a opção "Alterar...". No menu seguinte, defina o nome da máquina (que precisa ser um dos logins de máquinas adicionados na configuração do Samba) e o nome do domínio, que é definido na opção "workgroup = TERRALAB" do smb.conf. Para ter acesso a esta opção, você deve estar logado como administrador. Exemplo: Na tela de identificação que será aberta a seguir, logue-se como "root", com a senha definida no servidor Samba. É normal que a conexão inicial demore um ou dois minutos. Se tudo der certo, você é saudado com a mensagem "Bem-vindo ao domínio TERRALAB” (onde o "TERRALAB" é o nome definido na opção "workgroup" do smb.conf). Depois de reiniciar a estação, aparecerá a opção "Efetuar logon em: TERRALAB" na tela de login, permitindo que o usuário faça logon usando qualquer uma das contas cadastradas no servidor. Continua disponível também a opção de fazer um login local, mas, nesse caso, perde-se o acesso aos recursos relacionados ao domínio e é usado o perfil do usuário local. 4.5 Perfil local e móvel Iremos agora configurar o perfil local com GPEDIT.MSC. Para manter a configuração de perfil móvel no Samba, as configurações descritas a seguir, alteram somente a configuração da estação e não afeta as configurações do servidor Samba nem as demais máquinas da rede. Clique em : [Iniciar → Executar → digite na caixa de diálogo: gpedit.msc] Isto irá executar o programa e na primeira tela tem o menu de opções: [Configurações do computador → Modelos Administrativos → Sistemas → Perfis de usuário] Na lista de itens do lado direito, procure por: “Só permitir perfis de usuário locais” Clique neste item, selecione Ativado, depois aplicar e em seguida OK. Com esta configuração o perfil de usuário não será mais gravado no servidor e ficará soemnte na maquina local. Nesta mesta tela(listagem), procure pelo item: “Excluir cópias em cache de perfis móveis” Clique neste item, selecione Desativado, depois aplicar e em seguida OK. Ex: Feche estas telas até voltar na aba de menu novamente e entre na opção: [Configurações de usuário → Modelos Administrativos → Sistemas → Perfis de usuário] Procure por: “Excluir pastas perfil móvel” Clique neste item, selecione Ativado, depois aplicar e em seguida OK. Ex: Observe que antes destas alterações ocorria uma mensagem de erro no login, nesta mensagem diz que não consegue copiar ou gravar o perfil do usuário móvel e que utilizará um perfil temporário, depois das alterações acima esta mensagem não ocorre mais. APÊNDICE A Arquivo smb.conf [global] #Define as configurações globais do SAMBA: #Nome da máquina servidora: netbios name = andes #Especifica o domínio que o servidor pertence a rede: workgroup = TERRALAB #Descrição para o servidor: server string = Servidor Andes@TerraLAB #Define o drive onde será mapeada o diretório de trabalho do utilizador no servidor: logon drive = h: #Indica se o servidor será o Domain Master Browser da rede inteira (WAN): domain master = yes #Usado para validar o login na rede, apenas para estações Windows: domain logons = yes #Este parâmetro força a eleição do SAMBA como Master Browser para o domínio: preferred master = yes #Indica se o servidor será o Master Browser da rede local: local master = yes #Indica qual o usuário com permissão completa para o compartilhamento: admin users = root #As permissões são dadas de acordo com o login do usuário: security = user #Utilizamos senhas criptografadas nesta configuração encrypt passwords = true # Faz o samba só responder requisições vindo de eth0: interfaces = eth0 #Sincronia dos passwords da rede do samba com a dos passwords do sistema: passwd program = /usr/bin/passwd %u #Define qual programa para alterar a senha você irá utilizar e os parametros: passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n . #Sincroniza a senha contida no passdb backend com o /usr/bin/passwd: unix password sync = no #Indica o arquivo de log do SAMBA: log file = /var/log/samba/log.%m #Define o tamanho máximo do log do samba em kilobytes. Quando for atingido esse valor, ele renomeia o log #atual adicional a extensão .old: max log size = 1000 #Define o nível do Samba na Rede: os level = 100 #Permite ao SAMBA ser o servidor de Wins na rede. Isto significa que o SAMBA terá uma tabela com o #ambiente completo da rede, garantindo que as estações tenham acesso a estas informações e ganho em #velocidade para encontrar e acessar os compartilhamentos e impressoras. O Wins Server deve ser #especificado na configuração de rede (TCP/IP) das estações, indicando o endereço IP do servidor: wins support = yes panic action = /usr/share/samba/panic-action %d # Nome do arquivo de scripts de logon dos usuários: logon script = netlogon.bat # Corrige problemas de acentuação de palavra: unix charset = iso8859-1 display charset = cp850 #Script para adicionar maquinas automaticamente: add machine script = /usr/sbin/useradd -g maquinas -s /bin/false -d /dev/null %u #Enderços IP's permitidos: hosts allow = 192.168.0.0/24 #Indica se será ou não possível que usuários tenham senha nula de logon (logon sem senha): null passwords = no #Este parâmetro define a localização do arquivo de passwords do samba: smb passwd file = /usr/bin/smbpasswd change notify timeout = 60 logon home = \\%N\profiles\%u logon path = \\%N\profiles\%u passdb backend = tdbsam enable privileges = yes time server = yes #Carrega a lista de impressoras do sistema: [printers] path = /var/spool/samba print ok = yes guest ok = yes browseable = yes #O servidor cria um compartilhamento netlogon: [netlogon] comment = Servico de Logon path = /etc/samba/netlogon read only = yes browseable = no guest ok = yes [profiles] path = /home/profiles writeable = yes browseable = no create mask = 0600 directory mask = 0700 #Faz com que sempre se mapei o diretório home do usuario: [homes] create mask = 0700 directory mask = 0700 writeable = yes valid users = %S,@maquinas [sighabitar] #Comentário para este compartilhamento: comment = Arquivos compartilhados #Caminho do diretório compartilhado: path = /home/sighabitar #Define se o compartilhamento será ou não visível para o Ambiente de Rede: browseable = yes #Somente para leitura: read only = no #Indica se será ou não permitido o acesso de outros usuários: guest ok = yes locking = no available = yes APÊNDICE B Script Netlogon.bat net use h: /HOME net use m: \\andes\sighabitar /yes net use p: \\andes\publico /yes net time \\andes /set/yes notepad.exe