Virtualizando com VMWare webserver e autenticando em domínio Samba

Nesse artigo ensino como subir um servidor VMWare webserver seguindo os seguintes passos: configurar corretamente o SO Windows XP; configurar servidor PDC para autenticar máquinas Windows; configurar host dinâmico para acessar a VM fora da rede; configurar servidor de arquivos.

[ Hits: 50.012 ]

Por: wagner augusto pires de oliveira em 26/10/2009


Configurando controlador de domínio primário



Nesse passo abordarei de forma simples e objetiva como realizar o login das máquinas virtuais em domínio.

Primeiro quero explicar para os que estão iniciando agora no mundo da informática porque criar um PDC (primary domain control).

Imagine 5 computadores, até esse ponto você consegue administrar uma senha para cada computador, se um usuário tiver que utilizar um computador diferente a cada dia, basta criar um perfil para ele nos 5 computadores, caso esse usuário seja desligado da empresa, basta você remover o perfil dos 5 computadores. Lembrando que tem as permissões que devem ser dadas localmente também nos 5 computadores. Puxa já está parecendo trabalhoso administrar usuários nos 5 computadores, imagina grandes redes com mais de 1000 workstations?

Então aí entra o controlador de login, onde as contas de usuários ficam centralizadas em um único computador, junto com suas permissões de acesso e grupos, facilitando a vida dos administradores.

Então, ao iniciar uma sessão, após digitar seu login e senha, o seu computador realizará um verificação junto à esse computador onde estão as contas do usuário. Se seu login é existente, se suas senha está correta, quais as suas permissões dentro da rede, quanto tempo falta para trocar sua senha de rede? Enfim...

Isso simplifica caso tenha que alterar permissão do usuário, uma vez trocado no servidor, não importa em qual estação de trabalho esse usuário irá se logar, o perfil portará as permissões estabelecidas. Sendo que no nosso quadro de 5 computadores, teria que atualizar estação por estação (complicado né!?).

Chega de histórias e vamos trabalhar!

No Linux os PDCs mais comum são:
  • LDAP
  • Samba
  • Samba 4 (active directory)

Obs.: Esse Samba 4 nunca utilizei, não posso garantir se essa informação é correta.

Nesse tutorial utilizaremos o Samba, onde é muito simples a configuração, talvez escreva sobre o LDAP, mais não aqui... :)

O Samba é utilizado para compartilhamento de diretório e arquivos em uma rede com estações de trabalho Windows onde é utilizado protocolo SMB.

Instalando o Samba

No terminal digite:

sudo apt-get install samba

Caso use outra distribuição baseada em Red Hat o comando seria:

# yum install samba

Após instalação, edite o arquivo smb.conf no diretório /etc/samba/:

sudo gedit /etc/samba/smb.conf

Nesse caso tenho um arquivo espelho simples para configuração do Samba, caso você queira usá-lo, basta apagar todo o conteúdo do smb.conf e colocar esse abaixo:

[global]
   unix password sync = no
   workgroup = wagner.com.br
   server string = Wagner Dominio
   logon path = \\172.16.52.1\sysvol\%U
   domain logons = Yes
   preferred master = Yes
   domain master = Yes


[sysvol]
   comment = System Volume
   path = /usr/local/samba/sysvol
   read only = No
   guest ok = Yes
   browseable = No
   share modes = No

[Fileserver]
   comment = System Volume
   path = /usr/local/fileserver
   read only = No
   guest ok = Yes
   share modes = No

Pontos a serem considerados dentro dos parâmetros [global]:

1. Configuração básica do arquivo /etc/samba/smb.config, segue apenas as principais opções:

workgroup = wagner.com.br - workgroup é o grupo de trabalho, porém estamos tratando de domínio, então esse é o nome do nosso domínio, você poderá colocar qualquer nome, por exemplo vivaolinux.com.br ou seunome.com.br (meu caso).

logon path = \\172.16.52.1\sysvol\%U - opção para a pasta de login, esse %u é uma variável informando o usuário e o ip 172.16.52.1 é o do servidor PDC, nesse caso esse é fixo, mas poderá ser preenchido com o hostname do servidor. A pasta sysvol é para simular um servidor Windows, ou melhor, enganar. Vi essa opção aqui no fórum, mas você pode criar qualquer pasta ou usar qualquer diretório, basta dar permissão correta à ela. Nesse caso essa pasta sysvol está no diretório /usr/local/samba, com as permissões drwxrwxrwx (chmod 777).

As opções [sysvol] e [Fileserver] são pastas compartilhadas e dentro das [] coloque o nome do compartilhamento.

1. Path = /usr/local/samba/sysvol - como já deu pra imaginar, aqui é o diretório da pasta.

2. browseable = No - aqui você diz se a pasta será visível ao abrir o compartilhamento. Tipo, ao carregar a máquina \\wagner.com.br, aparecerão todas as pastas compartilhadas, se a opção for "não" em browseable, as pastas não serão listadas, embora se você souber o nome delas poderá acessar sem problema (desde que suas permissões permitam).

Bem, não vamos nos aprofundar muito nesse arquivo, pois fugiria do principal objetivo do tutorial.

Após editar o smb.conf, reinicie o Samba com o comando:

sudo /etc/init.d/samba restart

Com o comando testparm serão testados e carregadas as opções informadas no smb.conf.

testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[sysvol]"
Processing section "[Fileserver]"
Loaded services file OK.
Server role: ROLE_DOMAIN_PDC
Press enter to see a dump of your service definitions

Segunda parte, será necessário criar usuários no domínio, para isso criaremos usuário com o comando:

sudo useradd vivaolinux -g vivaolinux

Lembrando que o grupo "vivaolinux" já foi criado no início do tutorial. Tem também o comando adduser, que poderá ser usado para criar o usuário.

Agora atribuiremos esse usuário ao Samba:

sudo smbpasswd -a vivaolinux
New SMB password:
Retype new SMB password:
Added user vivaolinux.

Teremos que incluir o hostname no Samba.

Ao instalar o Windows será necessário informar ao sistema um nome para o computador, é justamente esse nome que incluiremos no Samba.

Quando eu instalei o Windows XP coloquei o nome de "windowsxp", assim essa estação será conhecida na rede com esse nome.

Bem, seguem os comandos para inclusão do computador no Samba:

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


A opção "$" informa ao sistema que se trata de um cadastro de máquina, o parâmetro "-d /dev/null" é para não criar uma pasta home para esse usuário e o parâmetro "-s /bin/false" garante que a conta não tenha acesso ao shell do servidor.

O comando "smbpasswd -a -m windowsxp" adiciona a máquina como usuário Samba. O -m informa que se trata de máquina (machine).

Página anterior     Próxima página

Páginas do artigo
   1. Instalando VMWare webserver 2.0 for Linux
   2. Permissão no VMWare
   3. Instalando máquinas virtuais
   4. Iniciando a máquina virtual
   5. Configurando controlador de domínio primário
   6. Incluindo máquinas virtuais Windows no domínio
Outros artigos deste autor

Transforme seu celular em controle remoto Bluetooth no Linux

Tutorial de instalação e configuração do Apache no Linux

Controlando o computador pelo celular com conexão VNC

Solução para conexão Claro 3G no Linux Ubuntu 8.10

Acesso remoto fácil, sem necessidade de instalação de programa

Leitura recomendada

Conky no Slackware 13

Aplicativos do Linux em "Desktop"

Como converter CentOS 5 em Fedora 11

Arapuca - Expandindo as funcionalidades do FreeRADIUS

xDVDShrink: um DVDShrink para Linux

  
Comentários
[1] Comentário enviado por manoserpa em 26/10/2009 - 19:57h

Muito bom o artigo, legal para quem pretende virtualizar e realizar testes antes de mexer nos servidores da empresa.

Valeu.

[2] Comentário enviado por grandmaster em 26/10/2009 - 23:36h

Exatamente. Sempre testo as coisas dentro do VMWare.

O bom é que vc pode voltar como estava antes em caso de problema :)

---
Renato de Castro Henriques
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br

[3] Comentário enviado por DebianWoman em 28/10/2009 - 07:38h

Estou em desespero, pois já tentei várias vezes instalar o vmware no ubuntu para um projeto importante de documentação, porém só faço m...

[4] Comentário enviado por w4gn3r em 28/10/2009 - 11:09h

KKkkk, é fazendo merda que se aduba a vida!!! dizia o filosofo....



bem, em que parte da instalação ocorre o erro, talves posso ajuda-lo.



att

[5] Comentário enviado por magnagnagno em 29/10/2009 - 02:00h

Olá Wagner,
Parabéns pelo artigo!
Apenas uma pequena correção: o script de inicialização deverá ter as barras "invertidas", ficando como mostrado a seguir:
net use W: \\nome-ou-ip-do-servidor-samba\Fileserver
Magnagnagno

[6] Comentário enviado por w4gn3r em 29/10/2009 - 12:09h

Certissimoo magnagnagno.....


desculpa minha falta de atenção....

Flw

[7] Comentário enviado por claudiotecnico em 29/10/2009 - 15:02h

Olá Wagner, parabéns pelo artigo.

Só uma pergunta, qual distro você usou neste tuto?

Abraços,

Claudio

[8] Comentário enviado por w4gn3r em 30/10/2009 - 11:53h

Olá Claudio!

Utilizei o ubuntu 8.04 hardy heron 32 bit.

mais já instalei em distro baseado em red hat (fedora 9), não houve muitas mudanças.



Abraços
Wagner Augusto

[9] Comentário enviado por sarrafo em 03/11/2009 - 10:30h

cara, eu utilizo o debian testing e nao estou conseguindo compilar o vmware-server 2.01 no kernel 2.6.30-2. no 2.6.26 ele funciona legal.. tem alguma dica, pois as que eu achei no google nao deram certo.

[10] Comentário enviado por w4gn3r em 03/11/2009 - 12:09h

Sarrafo,


que tipo de erro é gerado na instalação???
tipo

$sudo ./vmware-install.pl,

começa um wizard de instalação, o erros ocorre por causa de diretorio ???

você consegue concluir a instalação???

No aguardo.





[11] Comentário enviado por sarrafo em 03/11/2009 - 14:05h

desculpe me esqueci que bolas de cristal existem somente nos filmes..
na instalaçao nao da erro e sim no vmware-config.pl. observe:
vmware-config.pl
Making sure services for VMware Server are stopped.

Stopping VMware autostart virtual machines:
Virtual machines failed
Stopping VMware management services:
VMware Virtual Infrastructure Web Access
VMware Server Host Agent failed
Stopping VMware services:
VMware Authentication Daemon done
Virtual machine monitor done

None of the pre-built vmmon modules for VMware Server is suitable for your
running kernel. Do you want this program to try to build the vmmon module for
your system (you need to have a C compiler installed on your system)? [yes]

Using compiler "/usr/bin/gcc". Use environment variable CC to override.

What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.30-2-686/build/include]

Extracting the sources of the vmmon module.

Building the vmmon module.

Using 2.6.x kernel build system.
make: Entrando no diretório `/tmp/vmware-config0/vmmon-only'
make -C /lib/modules/2.6.30-2-686/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entrando no diretório `/usr/src/linux-headers-2.6.30-2-686'
CC [M] /tmp/vmware-config0/vmmon-only/linux/driver.o
In file included from /tmp/vmware-config0/vmmon-only/linux/driver.c:31:
/tmp/vmware-config0/vmmon-only/./include/compat_wait.h:78: error: conflicting types for ‘poll_initwait’
/usr/src/linux-headers-2.6.30-2-common/include/linux/poll.h:67: error: previous declaration of ‘poll_initwait’ was here
/tmp/vmware-config0/vmmon-only/linux/driver.c: In function ‘LinuxDriverSyncCallOnEachCPU’:
/tmp/vmware-config0/vmmon-only/linux/driver.c:1423: error: too many arguments to function ‘smp_call_function’
/tmp/vmware-config0/vmmon-only/linux/driver.c: In function ‘LinuxDriver_Ioctl’:
/tmp/vmware-config0/vmmon-only/linux/driver.c:1987: error: ‘struct task_struct’ has no member named ‘euid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1987: error: ‘struct task_struct’ has no member named ‘uid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1988: error: ‘struct task_struct’ has no member named ‘fsuid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1988: error: ‘struct task_struct’ has no member named ‘uid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1989: error: ‘struct task_struct’ has no member named ‘egid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1989: error: ‘struct task_struct’ has no member named ‘gid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1990: error: ‘struct task_struct’ has no member named ‘fsgid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1990: error: ‘struct task_struct’ has no member named ‘gid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:2007: error: too many arguments to function ‘smp_call_function’
make[4]: ** [/tmp/vmware-config0/vmmon-only/linux/driver.o] Erro 1
make[3]: ** [_module_/tmp/vmware-config0/vmmon-only] Erro 2
make[2]: ** [sub-make] Erro 2
make[1]: ** [all] Erro 2
make[1]: Saindo do diretório `/usr/src/linux-headers-2.6.30-2-686'
make: ** [vmmon.ko] Erro 2
make: Saindo do diretório `/tmp/vmware-config0/vmmon-only'
Unable to build the vmmon module.

For more information on how to troubleshoot module-related problems, please
visit our Web site at "http://www.vmware.com/go/unsup-linux-products" and
"http://www.vmware.com/go/unsup-linux-tools".

Execution aborted.

[12] Comentário enviado por w4gn3r em 04/11/2009 - 00:55h

Amigo, para esse erro, deverá rodar uma path de correção.


segue endereço de uma path para o seu kernel, embora está para processadores de 64 bit, como AMD (forte canditado, se você montou seu computador região da na Santa Ifigênia), e alguns modelos intel de 64 bit.


http://communities.vmware.com/servlet/JiveServlet/download/1401310-30634/vmware-server.2.0.1_x64-mod...


o modo de uso seria + ou - assim...

cd vmware-server-distrib
sudo patch ./bin/vmware-config.pl ~/vmware-config.pl.patch.txt <- endereço da patch
sudo ./vmware-install.pl


apenas te apontei o norte, agora você deverá procurar qual é a patch para seu sistema (caso não seja 64 bit).


Att.

[13] Comentário enviado por sarrafo em 04/11/2009 - 12:18h

cara acontece algo que eu nao sei fazer me ajuda como proceder:
/home/marcio/vmware-server-distrib# patch ./bin/vmware-config.pl vmware-server.2.0.1_x64-modules-2.6.30.4-fix.patch
patching file ./bin/vmware-config.pl
Hunk #1 FAILED at 113.
1 out of 1 hunk FAILED -- saving rejects to file ./bin/vmware-config.pl.rej
can't find file to patch at input line 16
Perhaps you should have used the -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ./vmmon-only/linux/driver.c.org ./vmmon-only/linux/driver.c
|--- ./vmmon-only/linux/driver.c.org 2009-06-16 14:00:30.039078851 +0200
|+++ ./vmmon-only/linux/driver.c 2009-06-16 14:09:41.715105671 +0200
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 37
Perhaps you should have used the -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ./vmmon-only/linux/hostif.c.org ./vmmon-only/linux/hostif.c
|--- ./vmmon-only/linux/hostif.c.org 2009-06-16 14:00:44.806106788 +0200
|+++ ./vmmon-only/linux/hostif.c 2009-06-16 14:18:30.693079131 +0200
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
3 out of 3 hunks ignored
can't find file to patch at input line 162
Perhaps you should have used the -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ./vmmon-only/include/x86svm.h.org ./vmmon-only/include/x86svm.h
|--- ./vmmon-only/include/x86svm.h.org 2009-06-16 14:00:11.623087791 +0200
|+++ ./vmmon-only/include/x86svm.h 2009-06-16 14:04:32.344079689 +0200
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 181
Perhaps you should have used the -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ./vmmon-only/Makefile.org ./vmmon-only/Makefile
|--- ./vmmon-only/Makefile.org 2009-06-16 14:00:54.300080038 +0200
|+++ ./vmmon-only/Makefile 2009-06-16 14:19:28.907079550 +0200
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 193
Perhaps you should have used the -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ./vmnet-only/Makefile.org ./vmnet-only/Makefile
|--- ./vmnet-only/Makefile.org 2009-06-16 14:20:46.281079270 +0200
|+++ ./vmnet-only/Makefile 2009-06-16 14:21:26.569080038 +0200
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 205
Perhaps you should have used the -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ./vmnet-only/netif.c.org ./vmnet-only/netif.c
|--- ./vmnet-only/netif.c.org 2009-06-16 14:21:54.638079619 +0200
|+++ ./vmnet-only/netif.c 2009-06-16 14:26:07.010079969 +0200
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
6 out of 6 hunks ignored
can't find file to patch at input line 290
Perhaps you should have used the -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur ./vsock-only/Makefile.org ./vsock-only/Makefile
|--- ./vsock-only/Makefile.org 2009-06-16 14:26:28.696079689 +0200
|+++ ./vsock-only/Makefile 2009-06-16 14:27:11.486078991 +0200
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored

[14] Comentário enviado por sarrafo em 15/11/2009 - 17:15h

resolvido.
baixei a versao mais atual (2.02) e segui esse tutorial e tudo ok
http://www.ubuntugeek.com/how-to-install-vmware-server-2-0-x-in-ubuntu-9-10-karmic.html

[15] Comentário enviado por rolliman em 23/11/2009 - 16:43h

consegui instalar o vmware no meu slackware 13, porém quando tento acessar pede um login e senha, coloco o login: root e a senha:** que utilizo como root. mais mesmo assim fica pedindo outro usuario ou senha. alguém aí pode ajudar.?? valeu

[16] Comentário enviado por w4gn3r em 04/12/2009 - 11:02h

Olá Rolliman.


tenta atribuir uma senha para o root.

$ sudo passwd root
[sudo] password for wagner:
Digite a nova senha UNIX:
Redigite a nova senha UNIX:
passwd: senha atualizada com sucesso.

e add esse mesmo usuário ao samba

$ sudo smbpasswd root
[sudo] password for wagner:
Digite a nova senha UNIX:
Redigite a nova senha UNIX:
smbpasswd: senha atualizada com sucesso.

[17] Comentário enviado por fernando_ads em 08/12/2009 - 10:43h

Senhores, estou iniciando a utilização do VmWare 2.0.2 no Ubuntu 8.04 lts e quando incluo um grupo ou usuário, da a mensagem de erro abaixo:

The server response included one or more errors.OKIf these problems persist, please contact your system administrator.DetailsRuntimeFault: Database temporarily unavailable or has network problems.

Isto ocorreu após ter incluído o segundo grupo e depois não consigo mais adicionar ninguem.

Alguém ai pode me ajudar?

Grato.

[18] Comentário enviado por jairus em 16/12/2009 - 13:21h

Boa tarde !!!


Instalei o vmware 2.0, no lenny e ocorreu tudo tranquilo, só restava eu instalar o apache2 e o php5.

Agora vou criar as máquinas virtuais. Qualquer novidade informo.


Abraços
Jairus Lopes
Adm System Linux
twitter:jairusmacedo

[19] Comentário enviado por julianln em 27/10/2010 - 13:01h

RuntimeFault: Database temporarily unavailable or has network problems.

Solução do problema:

vi /etc/vmware/hostd/authorization.xml

Procura por : <NextAceId>11</NextAceId> e altera para <NextAceId>20</NextAceId>

Restart o serviço do VMware:

service vmware restart

[20] Comentário enviado por wemersonrv em 03/11/2010 - 18:36h

Boa tarde... confesso que esse foi um dos melhores tópicos obre o vmware-server que encontrei, justamente por conta da integração com servidor de dominio. Muito bom!!!!

Seguinte, gostaria de aproveitar e compartilhar um pouco da experiencia que tive ao instalar o vmware server e também as dificuldades que tô enfrentando:

Instalei com sucesso o vmware-server 2 no ubuntu server 10.10 (64 bits)... porém quando tento acessar a interface via browser só fica numa tela em branco.

Eu acessei: https://MEU_SERVIDOR:8333/ pelo firefox e foi correto, inclusive cai na página de aviso de certificado de segurança, onde adicione uma exceção e pronto... não vai pra lugar nenhum só fica numa página em branco.

Então tentei sem ser por https: http://MEU_SERVIDOR:8222 e imediatamente fui redirecionado para https://MEU_IP:8333/ui/ mas novamente em uma página em branco.

Ou seja, o servidor web tá funcionando corretamente, porém não aparece nada. Já viu isso?!?!

Só pra curiosidade, eu tentei em diversas versões do ubuntu, tanto server quanto desktop de 32 e 64 bits e sempre deu na mesma... nas versões desktop o acesso da máquina local ocorre normalmente... porém o acesso de outros micros da rede dá o mesmo problema que informei aqui.


Ah.... talvez alguns vão me perguntar como eu consegui instalar o vmware server 2 em kernell 2.6.3x. Nesse link eu consegui um script pra auxiliar na tarefa: http://blog.pierogiusti.com.br/2010/04/instalando-o-vmware-server-2-no-ubuntu-10-04/


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts