Unindo um host Linux ao Active Directory autônomo

5

Estou tentando configurar um bloco de hosts usando o kickstart e há dois comandos que precisam que a senha seja inserida. Um é o kinit, por isso é fácil simplesmente gerar um arquivo keytab e passá-lo usando -t, o outro é o net join que é chamado indiretamente quando eu executo o comando authconfig.

Existe alguma maneira de entregar a senha em um arquivo de credenciais ou usando um hash de senha? Obviamente, não quero apenas passar isso como texto simples.

@ewwhite Obrigado pelo link, eu vou dar uma olhada. Não tenho certeza de nada, e definitivamente não me oponho a usar o SSSD para isso se ele permitir que eu realize exatamente a mesma coisa e permita o provisionamento autônomo. Meu uso do Samba / Winbind tem mais a ver com o meu nível de conforto para eles. Você pode sugerir como eu faria a mesma coisa usando SSSD tendo em mente que eu não quero ter que inserir uma senha manualmente?

Conteúdo relevante do kickstart:

cat << EOF > /etc/samba/smb.conf
[global]
   encrypt passwords = yes
   # logs split per machine
   log file = /var/log/samba/log.%m
   # max 50KB per log file, then rotate
   max log size = 50
   passdb backend = tdbsam
EOF

chkconfig smb on
chkconfig nmb on
service smb restart
service nmb restart

cat << EOF > /etc/krb5.conf
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = AD.DOMAIN.NET
 dns_lookup_realm = true
 dns_lookup_kdc = true
 allow_weak_crypto = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 rdns = false
 forwardable = true

[realms]
 AD.DOMAIN.NET = {
  admin_server = dc01.ad.domain.net
  default_domain = ad.domain.net
  kdc = dc01.ad.domain.net
 }

[domain_realm]
 .ad.domain.net = AD.DOMAIN.NET
 ad.domain.net = AD.DOMAIN.NET
EOF

net time set -S dc01.ad.domain.net

/usr/bin/kinit -k -t addom.keytab [email protected]

authconfig --update \
           --kickstart \
           --enablewinbind \
           --enablewinbindauth \
           --smbsecurity=ads \
           --smbrealm=AD.DOMAIN.NET \
           [email protected] \
           --winbindtemplatehomedir=/home/DOMAIN/%U \
           --winbindtemplateshell=/bin/bash \
           --enablewinbindusedefaultdomain \
           --enablelocauthorize \
           --smbservers=dc01.ad.domain.net \
           --enablemkhomedir \
           --smbidmaprange=100000-200000
    
por Geoff Johnson 30.07.2014 / 19:04

2 respostas

2

Acontece que o comando net tem uma opção para usar o keytab do kerberos, só tive que ler as man pages melhor do que eu tinha anteriormente. Veja o que funcionou para mim:

no controlador de domínio

ktpass princ host/[email protected] mapuser AD\Administrator -pass * out test.keytab

no computador fazendo a junção

kinit -k -t /tmp/test.keytab
net ads join -k
    
por 01.08.2014 / 23:06
2

Muitas opções ... Veja: Sabedoria comum sobre Autenticação do Active Directory para servidores Linux?

Com o EL6, você tem certeza que quer ir na rota Samba / Winbind? Atualmente, uma string authconfig bem trabalhada e um arquivo de configuração SSSD ( /etc/sssd/sssd.conf ) são praticamente tudo o que você precisa ... (A menos que você esteja tentando integrar diretórios pessoais)

O que há em seu kickstart agora?

    
por 31.07.2014 / 14:27