Gentoo GNU/Linux - Active Directory

Denna sida presenterar en enkel beskrivning av hur man binder en Gentoo GNU/Linux dator till ett active directory.

Bindningen till Uppsala universitets USER-domänen sker med hjälp av Sambas winbind-tjänst. Om du klipper & klistrar från denna sida eller använder dom nerladdningsbara patcharna, kom ihåg att ersätta namnet på domänkontrollanterna (dc*) mot deras riktiga namn.

Installation:

Dessa paket (med relevanta USE-flaggor) behöver installeras:

  • net-fs/samba USE="ads ldap pam winbind"
  • app-crypt/mit-krb5
  • sys-auth/pam_krb5
  • net-nds/openldap

NSS switch:

Lägg till winbind till passwd, shadow och group i /etc/nsswitch.conf:

passwd:files winbind
shadow:files winbind
group:files winbind

Kerberos V:

Lägg till följande i /etc/krb5.conf:

[logging]
    default = FILE:/var/log/krb5libs.log
    kdc = FILE:/var/log/krb5kdc.log
    admin_server = FILE:/var/log/kadmind.log
    default_keytab_name = /etc/krb5.keytab
    
[libdefaults]
    default_realm = USER.UU.SE
    dns_lookup_realm = false
    dns_lookup_kdc = false
    ticket_lifetime = 24h
    renew_lifetime = 7d
    forwardable = true
    default_tgs_enctypes = rc4-hmac aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
    default_tkt_enctypes = rc4-hmac aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
    permitted_enctypes = rc4-hmac aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
    
[realms]
    USER.UU.SE = {
        kdc = dc1.user.uu.se
	admin_server = dc1.user.uu.se
	default_domain = USER.UU.SE
    }

PAM:

I Gentoo finns en färdig PAM-konfiguration för winbind som går att använda.

bmc-admdellm65 ~ # mv /etc/pam.d/system-auth /etc/pam.d/system-auth-dist
bmc-admdellm65 ~ # ln -s /etc/pam.d/system-auth-winbind /etc/pam.d/system-auth
bmc-admdellm65 ~ # cat /etc/pam.d/system-auth-winbind
#%PAM-1.0
# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/files/3.5/system-auth-winbind.pam,v 1.1 2010/03/01 16:19:54 patrick Exp $

auth        required      pam_env.so
auth        sufficient    pam_winbind.so
auth        sufficient    pam_unix.so likeauth nullok use_first_pass
auth        required      pam_deny.so

account     sufficient    pam_winbind.so
account     required      pam_unix.so

password    required      pam_cracklib.so retry=3
password    sufficient    pam_unix.so nullok use_authtok md5 shadow
password    required      pam_deny.so

session     required      pam_mkhomedir.so skel=/etc/skel/ umask=0022 
session     required      pam_limits.so
session     required      pam_unix.so

Samba:

Lägg in följande i samba konfigurationen (/etc/samba/smb.conf):

[global]

workgroup = USER

realm = USER.UU.SE
security = ads
template shell = /bin/bash

max protocol = smb2
keepalive = 10

winbind use default domain = true
winbind nss info = rfc2307
winbind normalize names = yes
winbind nested groups = yes
winbind enum users = no
winbind enum groups = no
winbind refresh tickets = yes

idmap config * : backend = tdb
idmap config * : range = 1200000000-2000000000

idmap config USER : backend = ad
idmap config USER : range = 1000-1100000000
idmap config USER : schema_mode = rfc2307

idmap cache time = 60
idmap negative cache time = 60
winbind cache time = 60

Joina datorn till domänen:

Nu ska allt vara förberett för att joina datorn till domänen:

    bmc-admdellm65 ~ # net ads join -U <domainuser>
    Enter password:
    Using short domain name -- USER
    Joined 'BMC-ADMDELLM65' to realm 'user.uu.se'
    DNS update failed!

Lista kerberos nycklar:

    bmc-admdellm65 ~ # klist -k
    Keytab name: WRFILE:/etc/krb5.keytab
    KVNO Principal
    ---- --------------------------------------------------------------------------
       3 host/bmc-admdellm65.user.uu.se@USER.UU.SE
       3 host/bmc-admdellm65.user.uu.se@USER.UU.SE
       3 host/bmc-admdellm65.user.uu.se@USER.UU.SE
       3 host/BMC-ADMDELLM65@USER.UU.SE
       3 host/BMC-ADMDELLM65@USER.UU.SE
       3 host/BMC-ADMDELLM65@USER.UU.SE
       3 BMC-ADMDELLM65$@USER.UU.SE
       3 BMC-ADMDELLM65$@USER.UU.SE
       3 BMC-ADMDELLM65$@USER.UU.SE

Testa uppslagning av användare via NSS:

bmc-admdellm65 ~ # getent passwd andlov
andlov:*:123456:10098765::/home/USER/andlov:/bin/bash