|
||
|
Se sua rede já possui um servidor PDC (WindowsNT) e você deseja adicionar um servidor SAMBA, é necessário antes de tudo configurar o SAMBA: não utilizar o parâmetro "domain master" e "domain logons" (conforme o caso) e também manter o parâmetro "os level" inferior a 65. O nome NetBios do servidor SAMBA deve também ser adicionado ao PDC do Domínio NT (através do Gerenciador de Servidores para Domínios). Assim, uma conta será criada para o SAMBA no PDC. Como exemplo, vamos citar um servidor SAMBA como o nome NetBios "Samba" e o Domínio chamado "EMPRESA". O PDC terá o nome "File_Server" e existem também 2 controladores de backup com os nomes "Backup1" e "Backup2". Para juntar-se ao Domínio, o servidor SAMBA deve executar o comando abaixo: #smbpasswd -j EMPRESA -r File_Server <enter> Se o comando foi bem sucedido, aparecerá a mensagem: #smbpasswd: Joined domain EMPRESA Se algo deu erado, confira o nome NetBios dos servidores, se o SAMBA está ativado, os parâmetros do smb.conf e tente novamente. O comando acima ativa o protocolo de mudança de senhas, gerando um nova conta aleatória para o servidor SAMBA, normalmente guardada em: /usr/local/samba/private. O nome do arquivo será semelhante a: EMPRESA.Samba.mac Em seguida, edite o smb.conf e inclua os seguintes parâmetros na seção [global]: sercurity = domain #Pois agora o SAMBA pertence a um Domínio existente. workgroup = EMPRESA #Este é o Domínio utilizado. encrypt passwords = yes #Para logon encriptado. password server = File_Server Backup1 Backup2 #Autenticação no domínio. Reinicialize o SAMBA para validar as mudanças.
Se você possui um PDC SAMBA e estações Windows NT Workstation, deve seguir o modelo abaixo para criar contas específicas para estas estações. Importante: só é necessário adicionar estações NT Workstations a um Domínio SAMBA se a encriptação de login estiver habilitada. Após o Service Pack 3 este padrão foi adotado p/ o NT, e no SAMBA é necessário especificar o parâmetro encrypt passwords = yes. Em primeiro lugar, crie o arquivo smbpasswd (se ele não existir) conforme abaixo e de a permissão apropriada: #touch /usr/local/samba/private/smbpasswd <enter> #chmod go-rwx /usr/local/samba/private/smbpasswd <enter> É interessante destacar que dependendo da distribuição este arquivo pode estar no diretório /etc como link (ou não) para seu diretório original, guardando muitas vezes a configuração sem nada escrever em /usr/local/samba/private/smbpasswd. Confira a localização correta do arquivo e só entao siga em frente. Agora adicione a conta NT, onde o exemplo abaixo utiliza o nome de usuário "teste" e o grupo "estacoes" (que deve ser criado manualmente com o comando groupadd), que não contém password, shell ou diretório home. Perceba que o $ foi adicioando ao final do nome (não sendo na verdade necessário para as mais recentes versões do SAMBA, como a 2.0.7): #adduser -g estacoes -c NTWorkstation -d /dev/null -s /bin/false -n teste$ <enter> Importante: quem utiliza FreeBSD, não deve adicionar o $ no final do nome da conta pois o adduser deste sistema não aceita tal caracter. Utilize o vipw ou outro similar para adicionar manualmente no arquivo /etc/passwd. Adicione agora a conta ao smbpasswd, digitando: #smbpasswd -a -m teste$ <enter> Para que a estação NT Workstation possa agora participar do Domínio, vá até o Painel de Controle do NT e selecione Network -> Identification Tag. Peça para mudar o Domínio para o especificado no smb.conf (workgroup = ...). Não marque a opção "Create a Computer Account in teh Domain" pois não funciona! Pressione OK e após alguns segundos a mensagem "Welcome to Whatever Domain" aparecerá na tela. Reboot, e o logon estará disponível.
Quando se deseja migrar de um servidor Windows NT para o SAMBA um dos problemas mais comuns é o fato de que as senhas de logon são perdidas, pois entre o NT e o SAMBA a criptografia está em formatos diferentes. Para resolver este problema existe um pequeno programa que converte todo o registro de "nome e senha" do Windows NT para um arquivo smbpasswd compatível com o SAMBA. Siga os passos abaixo: Primeiro é preciso conectar-se ao ftp do Samba e baixar o utilitário pwdump.exe, no seguinte endereço: ftp://ftp.samba.org/pub/samba/pwdump/pwdump.exe Efetue logon como usuário Administrator no servidor NT (que disponibiliza a autenticação). Em seguida, abra um Command Prompt e vá até o diretório que você colocou o pwdump. Rode o comando pwdump da seguinte maneira: #pwdump > smbpasswd <enter> Será gerado um arquivo smbpasswd com as informações de autenticação (logon e senha) do Windows NT no formato criptografado utilizado pelo SAMBA. Agora copie o arquivo smbpasswd gerado para o servidor Linux (através de diskete ou diretório compartilhado, por exemplo). No Linux, jogue o arquivo smbpasswd criado para o diretório /etc e defina as permissões para 600: #chmod 600 /etc/smbpasswd <enter> Para que funcione corretamente, é importante destacar que o ID dos usuários seja o mesmo tanto no smbpasswd quanto no passwwd do Linux. Abra o smbpasswd e exporte os dados de autenticação (nome do usuário, ID, etc) mas não é possível fazer o mesmo com as senhas. Se você quiser exportar as senhas vai ter que quebrá-las com algum password cracker :) Na verdade não é necessário ter a senha no passwd, apenas o login, ID e home. Para rodar o SAMBA e ele autenticar os usuários, não é preciso ter a senha no passwd do Unix, apenas o login, ID e home se você quiser exportá-los. Vão ser utilizadas as senhas do smbpasswd. Luciano Linhares Martins criou um script baseado no mksmbpasswd para converter as senhas em formato smbpasswd para o passwd. Funciona bem e pode ser modificado conforme a necessidade de cada um. É um script bem simples e pode ser alterado de acordo com a sua necessidade. Crie o arquivo mkpasswd.sh com o conteúdo abaixo:
#!/bin/sh
awk 'BEGIN {FS=":"
printf("#\n# Unix password file.\n#\n")
}
{ printf( "%s:*:%s:103:%s:/home/%s:/bin/bash\n", $1, $2, $5, $1) }
'
Dê um chmod 700 no arquivo e execute da seguinte maneira: #cat /etc/smbpasswd | ./mkpasswd.sh > passwd-smb <enter> Se o seu arquivo smbpasswd e o script mkpasswd.sh estiverem em outro local, configure de acordo com a sua necessidade. Após isso, é gerado um arquivo chamado passwd-smb com os logins, id's, home, etc no formato do passwd do seu sistema. Normalmente, os ID's do smbpasswd vão começar a partir de 1000 e você não vai ter problemas para junta-lo com o seu passwd do Unix sem nenhum conflito. Eu recomendo que você confira antes de juntar as bases. Procure por logins com o mesmo ID, mesmo username e username com espaços. Se você utiliza shadow é importante desabilitá-lo antes de juntar os arquivos. Desabilite o shadow através do comando pwunconv. Em seguida para passar o arquivo passwd-smb para o passwd do sistema entre no diretório onde esta o arquivo passwd-smb que você gerou. e digite: #cat passwd-smb >> /etc/passwd <enter> Se você utiliza o shadow, pode reativá-lo agora através do comando pwconv. Reinicie o Linux para que as alterações entrem em vigor.
O login script (ou logon script) é uma ferramenta muito útil para disponibilizar recursos na rede. O script abaixo é um exemplo que pode usado em redes com estações Windows. Lembre-se de que deve sre criado com o notepad (por exemplo) em uma estação Windows para que funcione corretamente! (Confira a seção [global] para saber mais sobre o logon script). Note que a sintaxe do comando net é diferente para sistemas 95/98/Me e NT. rem Logon script padrao para a rede. net time \\servidor1 /set /yes @echo off if %OS%.==Windows_NT. goto WinNT :Win95 net use X: \\servidor1\pasta_01 net use Z: /HOME goto end :WinNT net use X: \\servidor1\pasta_01 /persistent:no net use Z: /HOME /persistent:no :end
Além de ser um software de uso livre e compatível com redes existentes, o SAMBA ainda possui outra característica: permite ser administrado remotamente. Para isso deve utilizar um programa específico que geralmente trabalha via http. É possível monitorar através de sua rede interna ou mesmo através da Internet. Os principais programas são o SWAT e o LinuxConf. Existem outros mas não vou entrar em detalhes de como instalar estes programas ou utilizá-los, mas abaixo está o link para downloads, inclusive de programas para administrar o SAMBA através da Interface Gráfica do Linux: http://us4.samba.org/samba/GUI/
Abaixo estao algumas considerações importantes sobre o SAMBA: O SAMBA permite ainda muitas outras configurações que podem ser consultadas através do man do smb.conf. Uma documentação importante está em /usr/doc/samba-2.0.x/ com dicas e referencias a segurança, navegação, compatibilidades, etc. Uma característa das versões mais recentes do SAMBA é a possibilidade de um cliente WinNT usar sua interface nativa de configuração para ver e modificar permissoes no Linux. O parâmetro "nt acl support = yes" deve ser adicionado na seção [global] do smb.conf. É aconselhável reiniciar o SAMBA a cada modificação no smb.conf (embora não seja realmente necessário), principalmente em se tratando de parâmetros como "path", "logon master", e outros que definem acesso ou segurança. Mas não abuse, pois muitos programas ficam "salvando" arquivos constantemente enquanto estão abertos e se neste momento você reiniciar o SAMBA será um risco de se perder o arquivo. Por padrão o SAMBA não utiliza autenticação encriptada na rede, mas sim "clear text". Versões mais atuais do Windows95/98/Me não utilizam o modo "clear text". Para resolver este problema temos duas soluções: Solução 1 - Inserir os parâmetros "encript passwords = yes" e "smb passwd file = /etc/smbpasswd" na seção [global] do smb.conf e certificar-se de que todas as estações na rede utilizam autenticação encriptada no logon. Para fazer o Windows trabalhar com senhas criptografadas, use o regedit e crie a seguinte chave: Windows 95/98 HKEY_LOCAL_MACHINE\System \CurrentControlSet\Services\VxD\VNETSUP Adicione um novo valor DWORD: Value Name: EnablePlainTextPassword Data: 0x01. Windows NT 4.0 HKEY_LOCAL_MACHINE\System \CurrentControlSet\Services\Rdr\Parameters Adicione um novo valor DWORD: Value Name: EnablePlainTextPassword Data: 0x01 Uma vez que as alterações no registro tenham sido feitas, reinicie a máquina Windows. Para maiores detalhes, leia os arquivos ENCRYPTION.txt, Win95.txt e WinNT.txt na documentação do Samba. Se seus clientes e seu servidor estão usando senhas criptografadas, voce não será capaz de visualizar compartilhamentos no servidor até que uma conexao inicial tenha sido feita com a autenticação apropriada. Para conseguir a conexao inicial, entre o nome do compartilhamento manualmente no Gerenciador de Arquivos ou na caixa de diálogo do Explorer, na forma '\\'. Registre-se no servidor com um nome de usuário e senha que lhe são válidos. Se você suspeita que seu serviço de nomes NetBIOS não está corretamente configurado (talvez porque você tenha obtido erros 'host not found' ao tentar se conectar), tente usar somente o endereço IP do servidor: '\\192.168.0.1'. Para que o nome dos arquivos apareçam corretamente, voce pode precisar configurar algumas opções na seção de compartilhamento apropriada. Adicione o seguinte parâmetro para clientes Windows 95/98/NT, mas pode apresentar problemas para clientes WfW: "mangle case = yes". Solução 2 - Não utilizar encriptação no logon, alterando uma chave no registro do Windows. O SAMBA trás o arquivo .reg para cada versão do Windows com a chave modificada. Execute o arquivo correspondente para validar a mudança (eles estão em /usr/doc/samba-2.0.x/docs). Se voce não possui estes arquivos, abaixo estao as chaves que devem ser modificadas nas estações Windows para não utilizar o "clear text": Windows 95/98 [HKEY_LOCAL_MACHINE\System \CurrentControlSet\Services\VxD\VNETSUP] "EnablePlainTextPassword"=dword:00000001 WindowsNT 4.0 [HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Services\Rdr\Parameters] "EnablePlainTextPassword"=dword:00000001 Windows 2000 [HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Services LanmanWorkStation\Parameters] "EnablePlainTextPassword"=dword:00000001 É claro que se sua rede for "sniffada", os passwords que não estiverem encriptados serão descobertos. Em alguns casos vale a pena tirar a criptografia de login e monitorar a rede com um anti-sniffer. Mas lembre-se que o Windows NT e o 2000 só conseguem se altenticar no servidor SAMBA através de senha encriptada. Mais ainda: o Windows 2000 vem com algumas dificuldades para entrar no Domínio de um PDC Samba. Pelo que eu sei (até o momento) apenas o Samba TNG 2.2.x aceita logon de estações Windows 2000. Consulte o site do Samba para maiores detalhes. Se o SAMBA deve diferenciar maiúsculas e minúsculas quando procurando por arquivos, adicione "case sensitive = yes". Para utilizar como padrão letras maiúsculas ou minúsculas quando os arquivos são criados, adicione "default case = lower (ou upper)". Para preservar maiúsculas e minúsculas para todos os nomes de arquivo, adicione "preserve case = yes". Para preservar maiúsculas e minúsculas para nomes DOS (8.3), adicione "short preserve case = yes". Se o servidor possui mais de uma placa de rede, o smb.conf deve conter uma especificação para qual placa(s) será utilizada. Adicione o seguinte parâmetro: "interfaces = 192.168.1.1/24", onde o número depois da / é uma referencia à máscara de sub-rede. "24" é o valor a usar para uma rede Classe C não segmentada. Para mais informações sobre cálculo de sub-redes visite: http://www.ziplink.net/~ralphb/IPSubnet/index.html Lembre-se que a documentação do SAMBA (do protocolo SMB em geral) é extensa. Consulte os docs criados após a sua instalação. Você pode também obter referencias em documentações do LDP (Linux Documentation Project), que no Brasil está em: http://ldp-br.conectiva.com.br/. Espero com este artigo ajudar todos aqueles que pretendem montar um servidor de arquivos Linux e difundir o Linux e sua documentação ao maior número possível de empresas, administradores e usuários. Grande abraço,
|
||
|
|