Zaczynając swoją przygodę z oprogramowaniem Kerberos 5 Release 1.8 nie rozstawałem się z dokumentacją nawet na chwilę. Ku mojemu zdziwieniu, już przy pierwszej napotkanej przeszkodzie okazało się, że wszelkie zgromadzone przeze mnie informacje sprawiają wrażenie niewystarczających do rozwiązania problemu. Zanim jednak przedstawię więcej szczegółów na ten temat chciałbym opisać krok po kroku czynności niezbędne do wykonania przy instalacji i konfiguracji systemu kerberos.
1. InstalacjaŹródła do pobrania:
krb-1.8-signedPrzed przystąpieniem do instalacji należy upewnić się, że system zawiera kompilator
gcc oraz narzędzie
yacc, co można sprawdzić poleceniem
which, które zwraca pełną ścieżkę do programu (np.
which yacc). U mnie na SUSE Enterprise Server 11 domyślnie zainstalowane oprogramowanie nie zawierało ani jednego ani drugiego, dlatego zmuszony byłem uzupełnić system o paczki rpm:
gcc oraz bison (które przeważnie można znaleźć na dvd z linuxem).
Po rozpakowaniu archiwum ze źródłami systemu kerberos powinniśmy przejść do wnętrza folderu
krb5-1.8/src/ oraz wykonać następujące komendy:
./configuremakemake check (jeżeli chcemy przetestować skompilowany system)
make install2. KonfiguracjaPrzykładowa zawartość pliku
/etc/krb5.conf dla hosta o nazwie
linux-fi5z znajdującego się w domenie
site wygląda następująco:

Realm wg obowiązującej konwencji powinien nosić taką samą nazwę jak domena i składać się wyłącznie z wielkich liter. Jak można zauważyć usługa Key Distribution Center oraz serwer administratora znajdują się pod adresem
linux-fi5z.site a ich pliki log mieszczą się w
/var/log/krb5/ .
Przykładowy plik konfiguracyjny usługi KDC
/usr/local/var/krb5kdc/kdc.conf :

Tutaj staramy się nie zmieniać zbyt wiele bez wyraźnej potrzeby, pozostawiamy większość domyślnych wartości.
Informację o usługach kerberosa działających na danych portach powinniśmy umieścić w pliku
/etc/services dodając do niego poniższe linie:

Kolejnym krokiem jest stworzenie bazy danych dla usługi KDC za pomocą polecenia
/usr/local/sbin/kdb5_util create -r SITE -sDodawać administratorów będziemy za pomocą narzędzia
/usr/local/sbin/kadmin.local . Polecenie mające na celu dodanie uzytkownika root do grupy administratorów wyglądać będzie następująco
addprinc root/adminNatomiast dodanie użytkownika, który będzie korzystać z usług za pomocą systemu kerberos przeprowadzamy poleceniem
addprinc user_nameDla nowo utworzonych użytkowników powinniśmy stworzyć listę uprawnień
/usr/local/var/krb5kdc/kadm5.acl , w której na potrzeby przykładu nadamy każdemu administratorowi wszelkie dostępne uprawnienia:
*/admin@SITE *Utworzenie pliku keytab umożliwi demonowi kadmind dekodowanie biletów Kerberosa w celu przyznania lub nie dostępu do bazy danych. Po uruchomieniu narzędzia
/usr/local/sbin/kadmin.local wydajemy polecenie
ktadd -k /usr/local/var/krb5kdc/kadmin5.keytab kadmin/admin kadmin/changepwPo wykonaniu podstawowej konfiguracji systemu Kerberos możemy uruchomić usługi
krb5kdc i
kadmind (
/usr/local/sbin/).
3. Napotkana przeszkodaChcąc sprawdzić czy system Kerberos działa poprawnie postanowiłem skorzystać z dołączonych przykładowych aplikacji. W tym celu dodałem do bazy danych pozycję
sample/linux-fi5z.site@SITE oraz linijkę
sample 13135/tcp do pliku
/etc/services . Następnie uruchomiłem przykładowy serwer komendą
sserver -p 13135 -S /usr/local/var/krb5kdc/kt.keytab .
Po uzyskaniu za pomocą
kinit biletu TGT umożliwiającego dalsze działania postanowiłem połączyć się z serwerem komendą
sclient linux-fi5z . Jak można zauważyć poniżej test zakończył się niepowodzeniem.

"Wrong principal in request" - nie jestem w stanie odgadnąć, co jest przyczyną błędu, za wszelkie pomysły na rozwiązanie zagadki będę bardzo wdzięczny.