Authentification Active Directory sous Linux

De Le wiki de Fred sur gantzer.eu

Sommaire

Notes

Cette procédure est uniquement valable pour se "binder" sur un seul domaine. Le multidomaine sera présenté dans un autre document. Vous pouvez me contacter par mail si besoin.


Activation

Utiliser samba pour effectuer l'auth. AD sous Linux

  • Dans /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 = domaine.dns
  dns_lookup_realm = false
  dns_lookup_kdc = true
  ticket_lifetime = 36000
  forwardable = false 
  clockskew = 300
     
  [realms]
  DOMAINE_DNS = {
  default_domain = domaine.dns
  }
      
  [domain_realm]
  domaine.dns = DOMAINE.DNS
  .domaine.dns = DOMAINE.DNS
     
  [appdefaults]
  pam = {
  debug = false
  ticket_lifetime = 36000
  renew_lifetime = 36000
  forwardable = true
  krb4_convert = false
  }


  • Dans /etc/nsswitch.conf :
  passwd:      files winbind
  shadow:      files
  group:       files winbind
  • dans /etc/pam.d/system-auth  :
  auth        required      pam_env.so
  auth        sufficient    pam_unix.so likeauth
  auth        sufficient    pam_krb5.so use_first_pass
  auth        sufficient    pam_winbind.so use_first_pass
  auth        required      pam_deny.so
      
  account     required      pam_unix.so
  account     required      pam_access.so
  account     sufficient    pam_succeed_if.so uid < 500
  account     sufficient    pam_krb5.so
  account     sufficient    pam_winbind.so
      
  password    requisite     pam_cracklib.so retry=3
  password    sufficient    pam_unix.so md5 shadow use_authtok
  password    sufficient    pam_krb5.so use_authtok
  password    sufficient    pam_winbind.so use_authtok
  password    required      pam_deny.so
      
  session     required      pam_limits.so
  session     required      pam_unix.so
  session     optional      pam_mkhomedir.so skel=etc/skel/ umask=0022
  session     optional      pam_krb5.so
  • dans /etc/samba/smb.conf (tout remplacer)
  [global]
  workgroup = WORKGROUP
  realm = DOMAINE.DNS
  server string = Samba Server Version %v
  security = ADS
  log file = /var/log/samba/samba.%m
  max log size = 50
  preferred master = no
  local master = no
  allow trusted domains = No
  idmap domains = WORKGROUP
  idmap config WORKGROUP:backend = rid
  idmap config WORKGROUP:base_rid = 0
  idmap config WORKGROUP:range = 1000 - 100000000
  idmap uid = 1000-100000000
  idmap gid = 1000-100000000
  template homedir = /home/%U
  template shell = /bin/bash
  winbind enum users = no
  winbind enum groups = no
  winbind use default domain = yes
  winbind refresh tickets = yes
  winbind offline logon = true
  interfaces = bond0
  bind interfaces only = True


  • Dans /etc/sysconfig/samba :
  # Options to smbd
  SMBDOPTIONS="-D"
  # Options to nmbd
  NMBDOPTIONS="-D"
  # Options for winbindd
  WINBINDOPTIONS="-D"
  • Activer le service winbind :
  # chkconfig --level 345 winbind on
  • droits sudo aux groupe AD :
  %groupe_ad ALL=(ALL) ALL
  • editer /etc/security/access.conf pour limiter les accès :
  • start services winbind & smb:
  # service smb start
  Starting SMB services: [ OK ]
  Starting NMB services: [ OK ]
  # service winbind start
  Starting Winbind services: [ OK ]
  • Enregistrer le serveur dans le domaine :
  # net ads join -U register_workgroup
  • Rebooter la machine.


Propager le ticket kerberos

Pour pouvoir faire du ssh sans authentification en propageant le ticket kerberos:

  net ads keytab create -U register_cm-cic%register

Commandes utiles

Lister les groupes de l'AD :

  # wbinfo -g

Lister les users de l'AD :

  # wbinfo -u

Vider les caches winbind et restart du service :

  # service winbind stop
  # rm -f /var/cache/samba/*.tdb
  # service winbind start
Outils personnels
Navigation