Pureftp, pam_mkhomedir et Active Directory

Samba + krb + winbind

Installer les paquets suivants samba-common, krb5-clients, winbind:

apt-get install samba-common krb5-clients winbind

Modifier le fichier /etc/krb5.conf:

[libdefaults]
ticket_lifetime = 24000
default_realm = MOULES.FRITES.BE
dns_lookup_realm = false
dns_lookup_kdc = false
forwardable = yes

[realms]
MOULES.FRITES.BE = {
kdc = DC01.MOULES.FRITES.BE
admin_server = DC01.MOULES.FRITES.BE
default_domain = MOULES.FRITES.BE
}

[domain_realm]
.moules.frites.be = MOULES.FRITES.BE
moules.frites.be = MOULES.FRITES.BE

Modifier le fichier /etc/hosts:

127.0.0.1 localhost.moules.frites.be localhost pure-ftp

Modifier le fichier /etc/samba/smb.conf:

[global]
security = ADS
realm = MOULES.FRITES.BE
password server = 192.168.1.1
workgroup = MOULES
netbios name = pure-ftp
winbind cache time
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
template shell = /bin/bash

Il suffit maintenant de (re)démarrer winbind et de modifier /etc/nsswitch.conf:

/etc/init.d/winbind restart

passwd: compat winbind
group: compat winbind

On peut maintenant joindre la machine au domaine:

net join -U Administrateur -S dc01.moules.frites.be

Remarque: Il faut que les 2 machines aient un décalage inférieur à 5 minutes, dans le cas d’une machine
virtuelle (domU) c’est le dom0 qui doit être synchro avec le contrôleur de domaine. Installer ntpdate et synchroniser le dom0 avec le contrôleur:

ntpdate 192.168.1.1

Pure-ftp + pam_mkhomedir

Installer pure-ftpd:

apt-get install pure-ftpd

Il faut modifier le fichier /etc/pam.d/pureftpd pour que les “home dirs” soient créés lorsque l’utilisateur se connecte pour le première fois:

# allow anonymous users
auth sufficient pam_ftp.so
auth sufficient pam_winbind.so
auth required pam_unix_auth.so shadow use_first_pass
# /etc/ftpusers contain user list with DENIED access
auth required pam_listfile.so item=user sense=deny
file=/etc/ftpusers onerr=succeed

# Uncomment next line to allow non-anonymous ftp access ONLY for
users,
# listed in /etc/ftpallow
#auth required pam_listfile.so item=user sense=allow
file=/etc/ftpallow onerr=fail

# standard
auth required pam_shells.so
account sufficient pam_winbind.so
account required pam_unix.so
session required pam_unix.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0077

Erreur rencontrée après une coupure de courant:


Sep 23 13:24:44 pure-ftp winbindd[25663]: [2008/09/23 13:24:44, 0] tdb/tdbutil.c:tdb_log(783)
Sep 23 13:24:44 pure-ftp winbindd[25663]: tdb(/var/lib/samba/winbindd_idmap.tdb): rec_free_read bad magic 0x42424242 at offset=112268

Le fichier winbindd_idmap.tdb était corrompu, il suffit de le supprimer pour qu'il soit regénéré convenablement.



Leave a Reply

You must be logged in to post a comment.