CentOS como terminal server autenticando em Windows Server 2003 Active Directory com montagem automática de compartilhamentos de rede

Este procedimento é um quebra-cabeças de dicas que achei na internet e é uma alternativa ao Windows Terminal Server da Microsoft, com vantagem de utilizar menos recursos e ser completamente grátis! Todo o procedimento foi validado e revalidado, ou seja, o funcionamento é garantido.

[ Hits: 37.860 ]

Por: Vicente Sloboda em 08/01/2008 | Blog: http://blogdovicente.com


Introdução



Para criar este procedimento foi instalada a versão Centos 5.0 64 bits em um servidor VMware ESX 3.0 autenticando via winbind, o software de Terminal Services Free NX, um domínio com Windows Server 2003 usando o pam_mount para montar os compartilhamentos e o pam_listfile para controlar os usuários que tem acesso ao servidor. Não foram aplicadas atualizações no CentOS, não testei se funciona com as atualizações.

Como pré-requisito para começar é preciso instalar um CentOS 5.0, desabilitar o firewall e o SELinux.

Instalando o Winbind para permitir o acesso ao CentOS por usuários do domínio

1. Depois de instalado, logar como root. Entrar na console gráfica da máquina.

2. Executar o system-config-network e trocar o nome da máquina colocando seu nome definitivo.

3. Executar o system-config-authentication.

3.1. Ticar a opção para usar o winbind.

3.1.1. Preencher na tela Configurações do Winbind:
  • Domínio Winbind: dominio
  • Modelo de Segurança: ads
  • Reino do Winbind ADS: dominio.teste
  • Controladores de Domínio Winbind: servidor.dominio.teste
  • Template Shell: /bin/bash

3.2. Clicar na aba Autenticação e ticar em Ativar Suporte Winbind.

4. Partindo do princípio que a máquina não será um servidor samba e só usará o Winbind, alterar o /etc/samba/smb.conf conforme o arquivo abaixo, alterando os parâmetros necessários nas linhas 2, 8, 9 e 14:

[global]
workgroup = dominio
server string = Servidor Terminal Services
security = ads
log file = /var/log/samba/%m.log
max log size = 50
dns proxy = no
password server = servidor.dominio.teste
realm = DOMINIO.TESTE
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
template shell = /bin/bash
winbind use default domain = true
wins server = 10.0.0.1

5. Alterar o /etc/krb5.conf conforme abaixo, alterando os parâmetros nas linhas 6, 12, 13, 14, 15, 18 e 19:

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = DOMINIO.TESTE
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
forwardable = yes
[realms]
DOMINIO.TESTE = {
kdc = servidor.dominio.teste:88
admin_server = servidor.dominio.teste:749
default_domain = dominio.teste
}
[domain_realm]
.dominio.teste = DOMINIO.TESTE
dominio.teste = DOMINIO.TESTE
[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

6. Alterar /etc/resolv.conf, caso já não esteja conforme abaixo, alterando o ip do servidor de dns na primeira linha:

nameserver 10.0.0.1
search dominio.teste
domain dominio.teste

7. Executar o comando "net ads join -S servidor -U administrator" e informar a senha para adicionar a máquina ao domínio.

8. Executar o comando "net user -U administrator" e informar a senha para verificar se o Winbind está funcionado. Se estiver, deverão ser retornados os usuários do domínio.

9. Alterar o /etc/nsswitch.conf para:

passwd: files winbind
shadow: files winbind
group: files winbind
hosts: files wins dns
bootparams: nisplus [NOTFOUND=return] files
ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files
netgroup: files
publickey: nisplus
automount: files
aliases: files nisplus

10. Alterar o /etc/pam.d/system-auth, conforme abaixo:

#%PAM-1.0
auth required pam_listfile.so item=user sense=allow file=/etc/system_users onerr=fail
auth required pam_env.so
auth required pam_mount.so
auth sufficient pam_winbind.so use_first_pass
auth sufficient pam_unix.so use_first_pass likeauth nullok
auth required pam_deny.so
account required pam_unix.so
password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3
password sufficient pam_unix.so nullok md5 shadow use_authtok
password required pam_deny.so
session required pam_limits.so
session required pam_unix.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
session optional pam_mount.so

11. A alteração na linha 2 do /etc/pam.d/system-auth especifica o nome do arquivo que conterá os usuários que podem logar no servidor, colocar um usuário em cada linha sem a informação do domínio, não esquecendo do root. NÃO ESQUEÇA DE ADICIONAR O ROOT SENÃO ELE NÃO CONSEGUIRÁ MAIS LOGAR NA MÁQUINA!!!

12. O nome do arquivo neste caso é o /etc/system_users, o arquivo não existe e será preciso criá-lo.

13. As alterações das linhas 4 e 15 do /etc/pam.d/system-auth serão para a montagem automática de compartilhamento Windows que veremos a seguir.

14. O arquivo /etc/pam.d/system-auth padrão do CentOS é diferente deste e pelos vários testes que eu fiz impedia que qualquer usuário local acessasse o servidor. Esta é uma versão modificada do arquivo que tenho no meu desktop com Gentoo.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação do PAM_MOUNT para montagem automática de compartilhamentos Windows
   3. Instalação do FreeNX (Terminal Server para Linux)
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Software livre e o Windows

Instalação e configuração da zsh no Gentoo GNU/Linux

Utilizando ferramentas de virtualização para testar distros

Daemons com shell script

Utilizando o RSYNC para fazer backups de servidores e estações Windows

  
Comentários
[1] Comentário enviado por kalib em 08/01/2008 - 10:40h

Muito show cara..
Parabéns pelo excelente artigo..é um tópico que com certeza matará a curiosidade de muita gente sobre esta possibilidade. ;]

abraço e obrigado pela colaboração

[2] Comentário enviado por ramos1986 em 08/01/2008 - 14:03h

Artigo muito bom cara, meus parabéns.

[3] Comentário enviado por dupotter em 09/01/2008 - 09:08h

A solução é boa, mas pra quem precisa rodar um software específico, como no meu caso, não funciona, pois a [email protected]$#% do programa só roda em windows.

[4] Comentário enviado por vicentesloboda em 09/01/2008 - 09:45h

Já tentou rodar usando Wine? Quase sempre funciona. O único problema que ainda não parei para tentar resolver é o fato do wine instalar os programas no home de cada usuário.

[5] Comentário enviado por dupotter em 09/01/2008 - 17:00h

acho que dá pra vc criar um usuário wine, fazer a instalação do diretório do wine (o fake_C) em /opt por exemplo e dar permissão de execução e escrita para todos os usuários.

meu problema é que a bomba do ERP até roda via wine (é feito em delphi), mas algumas fontes não aparecem, fica meio lento e o gerador de relatórios, o crystal, não roda (pelo menos não consegui fazer funcionar).

[6] Comentário enviado por vicentesloboda em 09/01/2008 - 17:46h

se você instalar as fontes do Windows pode funcionar, nunca fiz mas me disseram que funciona. O crystal talvez comece a rodar nas versões mais novas do wine. Tentou usar a última versão ou usou a que vem com a distribuição?

[7] Comentário enviado por vicentesloboda em 09/01/2008 - 17:47h

Alguém já tentou executar o procedimento? Se sim por favor, registre um comentário.

[8] Comentário enviado por dupotter em 09/01/2008 - 18:15h

já instalei as fontes do windows, é algum pau na programação do programa mesmo, enfim, tenho esperança que nas próximas versões possa rodar, se rodasse, essa solução seria perfeita pra mim. agora estou cotando o preço do Citrix Presentation (metaframe) só por conta desse ERP.
já usei a versão que vem na distro, os pacotes que tem no winehq e os fontes, nada adiantou.

[9] Comentário enviado por neriberto em 31/10/2008 - 09:09h

Perguntinha!!?!

Alguma dica de como fazer um linux cliente carregar o client do FreeNX ao invês dos Gerenciadores de Janela Padrão...????


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts