This is part of a guide to setting up Ubuntu Server Edition 11.04 for a small/medium business. The server will provide DHCP, DNS, NTP, LDAP, Kerberos and NFS services such that users can login to any machine on the network and all their files and settings will be the same across the entire network.
It’s time to install and configure Kerberos.
sudo apt-get install krb5-kdc krb5-admin-server
The packages will automatically configure Kerberos for the correct realm from the information provided by Dnsmasq earlier in this guide. All we have to do is create the database for the realm using the following tool:
sudo krb5_newrealm
There will be a slight delay whilst the server gathers enough random data to continue, then you will be asked to enter a master key for Kerberos, make sure you use something secure and memorable.
To configure Kerberos for NFS later, we’ll need to create an admin user.
sudo kadmin.local
The following output should be observed:
Authenticating as principal root/admin@DANBISHOP.ORG with password. kadmin.local:
Enter the following:
addprinc dan/admin
Enter a password when prompted, then quit:
WARNING: no policy specified for dan/admin@DANBISHOP.ORG; defaulting to no policy Enter password for principal "dan/admin@DANBISHOP.ORG": Re-enter password for principal "dan/admin@DANBISHOP.ORG": Principal "dan/admin@DANBISHOP.ORG" created. kadmin.local: quit
We need to give dan/admin admin privileges by editing the access control list for Kerberos (/etc/krb5kdc/kadm5.acl) this file should contain the following:
# This file Is the access control list for krb5 administration. # When this file is edited run /etc/init.d/krb5-admin-server restart to activate # One common way to set up Kerberos administration is to allow any principal # ending in /admin is given full administrative rights. # To enable this, uncomment the following line: */admin *
Note that the last line has been uncommented so that all /admin principals have admin rights. To get Kerberos to use the new ACL we need to restart it:
sudo service krb5-admin-server restart
Now we can test everything has worked with:
kinit dan/admin
Enter the password you set when requested then run klist:
klist Ticket cache: FILE:/tmp/krb5cc_1000 Default principal: dan/admin@DANBISHOP.ORG Valid starting Expires Service principal 02/05/11 19:57:24 02/06/11 05:57:24 krbtgt/DANBISHOP.ORG@DANBISHOP.ORG renew until 02/06/11 19:57:21
If you get output something like the above then congratulations, you have a fully functioning Kerberos Realm
Finally, we can enable kerberos authentication to login to the server.
sudo apt-get install libpam-krb5 sudo pam-auth-update
Check that Kerberos and LDAP are selected as authentication methods to allow users to login/ssh into the server.