While cleaning up one of my other websites, I stumbled upon this guide I wrote five years ago. Although the content of this guide is already five years old, I don’t want to remove it from the net. I suppose it should work also with a Windows 2008 Active Directory domain as well. But please do not ask me questions about AIX5L as I do not have access to any of those machines any more.
Preperations
First install some packages which are required for the setup. This includes the Kerberos Client as well as the Samba 3.x Server. They are called pware.samba-3.0.23d, krb5.client and strong>krb5.lic
Now make sure your system uses the same timeserver as your domain controller. On most systems this is done by making changes to the xntp server’s configuration file /etc/ntp.conf. Afterwards set up your active directory controller as your system’s nameserver in /etc/resolv.conf.
Kerberos 5 setup
Edit your Kerberos client configuration in /etc/krb5/krb5.conf, that it look similar to this one:
# /etc/krb5/krb5.conf
[libdefaults]
default_realm = MYCOMPANY.LOCAL
default_tkt_enctypes = des-cbc-md5 des-cbc-crc
default_tgs_enctypes = des-cbc-md5 des-cbc-crc
[realms]
MYCOMPANY.LOCAL = {
kdc = dc.mycompany.local:88
admin_server = dc.mycompany.local:749
default_domain = mycompany.local
}
[domain_realm]
.mycompany.local = MYCOMPANY.LOCAL
dc.mycompany.local = MYCOMPANY.LOCAL
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/kdc.log
admin_server = FILE:/var/log/kadmind.log
Add the KRB5 authentication methods to /usr/lib/security/methods.cfg.
[..]
KRB5A:
program = /usr/lib/security/KRB5A
options = authonly
KRB5Afiles:
options = db=BUILTIN,auth=KRB5A
[..]
Now it is time to test your Kerberos 5 configuration by running kinit with an existing domain user as parameter e.g.
kinit Administrator
Samba 3.x server setup
Now that Kerberos is working for the underlying AIX System you can start to configure your Samba server. To make things easier, create the smb.conf in /etc and link it to the directory where samba expects it to be:
touch /etc/smb.conf
ln -s /etc/smb.conf /opt/pware/samba/3.0.23d/lib/smb.conf
Here is the beginning of a working /etc/smb.conf file.
# /etc/smb.conf
[global]
workgroup = MYCOMPANY
netbios name = AIXHOSTNAME
security = ADS
realm = MYCOMPANY.LOCAL
password server = dc.mycompany.local
client use spnego = yes
client signing = yes
encrypt passwords = yes
printcap name = cups
disable spoolss = Yes
show add printer wizard = No
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind separator = +
winbind use default domain = Yes
winbind enum users = yes
winbind enum groups = yes
template homedir = /home/%U
template shell = /bin/bash
use sendfile = Yes
printing = cups
ldap suffix = "dc=mycompany,dc=local"
winbind cache time = 0
#Uncomment to allow these options
log level = 5
log file = /var/log/samba3/log.%m
#max log size = 5000000
#debug timestamp = yes
browseable = yes
obey pam restrictions = yes
auth methods = winbind
[..]
If testparm is not complaining about any errors try joining your domain.
net join -S dc -UAdministrator
Putting it all together with winbind
In order to make WINBIND available to your AIX system copy the winbind security module to /usr/lib/security,
cp /opt/pware/samba/3.0.23d/lib/WINBIND /usr/lib/security/
and add WINBIND config to /usr/lib/security/methods.cfg
[..]
WINBIND:
program = /usr/lib/security/WINBIND
options = authonly
[..]
To make winbind the default user database change the SYSTEM value to WINBIND in the default section of /etc/security/user. You can check wether winbind is working with wbinfo.
After you successfully joined your domain and set up windbind, make sure that the smbd, nmbd and windbind gets started at system startup. The easiest way for me was to add the SysV init scripts to /etc/rc.tcpip.