Handbok för Sun Enterprise Authentication Mechanism

Administrera nyckeltabeller

Alla värdar som tillhandahåller en tjänst måste ha en lokal fil som kallas keytab (kort för "key table", nyckeltabell), som innehåller principalen för tjänsten, en så kallad tjänstnyckel. Tjänstnyckeln används av tjänsten för verifiering för KDC:n och nyckeln är bara känd av Kerberos och tjänsten som har den. Om du t ex har en Kerberos-anpassad NFS-server så måste servern ha en nyckeltabell som innehåller serverns nfs-tjänstprincipal.

Om du vill lägga till en tjänst i en nyckeltabell ska du lägga till tjänstprincipalen i värdens nyckeltabell genom att använda kommandot ktadd i kadmin. Eftersom du lägger till en tjänstprincipal en nyckeltabell måste principalen redan finnas i Kerberos-databasen så att kadmin kan verifiera att den finns. På huvud-KDC:n finns nyckeltabellfilen i /etc/krb5/kadm5.keytab som standard. På programservrar med Kerberos-anpassade tjänster finns nyckeltabellfilen i /etc/krb5/krb5.keytab som standard.

En nyckeltabell är jämförbar med en användares lösenord. På samma sätt som det är viktigt för användare att skydda sina lösenord, är det lika viktigt för programservrar att skydda sina nyckeltabeller. Du bör alltid lagra nyckeltabeller på lokala diskar och skrivskydda dem som root, och du bör aldrig skicka en nyckeltabell via ett nätverk som inte är säkert.

Det finns också en särskild plats för att lägga till en root-principal i en värds nyckeltabell. Om du vill att en användare på SEAM-klienten ska montera Kerberos-anpassade NFS-filsystem med automatisk Kerberos-verifiering måste du lägga till klientens root-principal i klientens nyckeltabell. I annat fall måste användarna använda kommandot kinit som root för att få referenser för klientensroot-principal när de vill montera ett Kerberos-anpassat NFS-filsystem, även när de använder funktionen för automatisk montering. Mer information finns i "Ställa in root-verifiering för montering av NFS-filsystem".


Obs!

När du skapar en huvud-KDC måste du lägga till principalerna kadmind och changepw i filen kadm5.keytab så att KDC:n kan dekryptera administratörers Kerberos-biljetter för att avgöra om administratörerna ska få tillgång till databasen eller inte.


Ett annat kommando som du kan använda för att administrera nyckeltabeller är ktutil. ktutil är ett interaktivt kommandoradsverktyg som gör att du kan hantera en lokal värds nyckeltabell utan att du har administrationsbehörighet för Kerberos, eftersom ktutil inte samverkar med Kerberos-databasen på samma sätt som kadmin. När en principal har lagts till i en nyckeltabell kan du använda ktutil för att visa nyckellistan eller för att tillfälligt inaktivera verifiering för en tjänst.

Uppgiftsöversikt för administrering av nyckeltabeller

Tabell 5-9 Uppgiftsöversikt för administrering av nyckeltabeller

Uppgift 

Beskrivning 

Om du vill ha instruktioner går du till ... 

Lägga till en tjänstprincipal i en nyckeltabell 

Använd kommandot ktadd i kadmin för att lägga till en tjänstprincipal i en nyckeltabell.

"Så här lägger du till en tjänstprincipal i en nyckeltabell"

Ta bort en tjänstprincipal ur en nyckeltabell 

Använd kommandot ktremove i kadmin för att ta bort en tjänstprincipal ur en nyckeltabell.

"Så här tar du bort en tjänstprincipal ur en nyckeltabell"

Visa nyckellistan (principaler) i en nyckeltabell 

Använd kommandot ktutil för att visa nyckellistan i en nyckeltabell.

"Så här visar du nyckellistan (principaler) i en nyckeltabell"

Tillfällig inaktivering av verifiering för en tjänst på en värd 

Den här proceduren visar ett snabbt sätt att, utan utan kadmin-behörighet, tillfälligt inaktivera verifiering för en tjänst på en värd. Kopiera den ursprungliga nyckeltabellen till en tillfällig plats innan du använder ktutil för att ta bort tjänstprincipalen ur serverns nyckeltabell. När du vill aktivera tjänsten igen kopierar du tillbaka den ursprungliga nyckeltabellen.

"Så här inaktiverar du tillfälligt verifiering för en tjänst på en värd"

Så här lägger du till en tjänstprincipal i en nyckeltabell

  1. Kontrollera att principalen redan finns i Kerberos-databasen.

    Mer information finns i "Så här visar du listan över principaler".

  2. Växla till superanvändare på värden där principalen ska läggas till i nyckeltabellen.

  3. Starta kommandot kadmin.


    # /usr/krb5/sbin/kadmin
    
  4. Lägg till en principal i en nyckeltabell med kommandot ktadd.


    kadmin: ktadd [-k nyckeltabell] [-q] [principal | -glob principaluttr]

    - k nyckeltabell

    Anger nyckeltabellfilen. Som standard används /etc/krb5/krb5.keytab.

    - q

    Visar mindre utförlig information. 

    principal

    Principalen som ska läggas till i nyckeltabellen. Du kan lägga till följande tjänstprincipaler: host, root, nfs och ftp.

    - glob principaluttr

    Alla principaler som matchar principaluttrycket läggs till i nyckeltabellen. Reglerna för principaluttryck är samma som för kommandot list_principals i kadmin.

  5. Avsluta kommandot kadmin.


    kadmin: quit
    

Exempel - Lägga till en tjänstprincipal i en nyckeltabell

I följande exempel läggs principalerna kadmin/admin och kadmin/changepw till i nyckeltabellen för en huvud-KDC. I det här exemplet är nyckeltabellfilen den som har angetts i filen kdc.conf.


kdc1 # /usr/krb5/bin/kadmin.local
kadmin.local: ktadd -k /etc/krb5/kadm5.keytab kadmin/admin kadmin/changepw
Posten för principalen kadmin/admin@ACME.COM med kvno 3, krypteringstyp DES-CBC-CRC
  har lagts till i keytab-filen WRFILE:/etc/krb5/kadm5.keytab.
Posten för principalen kadmin/changepw@ACME.COM med kvno 3, krypteringstyp DES-CBC-CRC
  har lagts till i keytab-filen WRFILE:/etc/krb5/kadm5.keytab.
kadmin.local: quit

I följande exempel läggs denvers värd-principal till i denversnyckeltabellfil så att denvers nätverkstjänster kan verifieras av KDC:n.


denver # /usr/krb5/bin/kadmin
kadmin: ktadd host/denver@acme.com@ACME.COM
kadmin: Posten för principalen host/denver@acme.com@ACME.COM med kvno 2,
  krypteringstyp DES-CBC-CRC har lagts till i nyckeltabellen WRFILE:/etc/krb5/krb5.keytab.
kadmin: quit

Så här tar du bort en tjänstprincipal ur en nyckeltabell

  1. Växla till superanvändare på värden med tjänstprincipalen som ska tas bort ur nyckeltabellen.

  2. Starta kommandot kadmin.


    # /usr/krb5/bin/kadmin
    
  3. Valfritt. Om du vill visa den aktuella listan över principaler (nycklar) i nyckeltabellen använder du kommandot ktutil.

    Mer information finns i "Så här visar du nyckellistan (principaler) i en nyckeltabell".

  4. Ta bort en principal ur en nyckeltabell med kommandot ktremove.


    kadmin: ktremove [-k nyckeltabell] [-q] principal [kvno | all | old ]

    - k nyckeltabell

    Anger nyckeltabellfilen. Som standard används /etc/krb5/krb5.keytab.

    - q

    Visar mindre utförlig information. 

    principal

    Principalen som ska tas bort ur nyckeltabellen. 

    kvno

    Tar bort alla poster för den angivna principalen vars kvno (nyckelversionsnummer) matchar kvno.

    all

    Tar bort alla poster för den angivna principalen. 

    old

    Tar bort alla poster för den angivna principalen förutom dem som har högst kvno. 

  5. Avsluta kommandot kadmin.


    kadmin: quit
    

Exempel - Ta bort en tjänstprincipal ur en nyckeltabell

I följande exempel tas denvers värd-principal bort ur denvers nyckeltabellfil.


denver # /usr/krb5/bin/kadmin
kadmin: ktremove host/denver.acme.com@ACME.COM
kadmin: Posten för principalen host/denver.acme.com@ACME.COM med kvno 3,
  har tagits bort från keytab-filen WRFILE:/etc/krb5/krb5.keytab.
kadmin: quit

Så här visar du nyckellistan (principaler) i en nyckeltabell

  1. Växla till superanvändare på värden med nyckeltabellen.


    Obs!

    Även om du kan skapa nyckeltabeller som ägs av användare kräver standardplatsen för nyckeltabellen att root är ägare.


  2. Starta kommandot ktutil.


    # /usr/krb5/bin/ktutil
    
  3. Läs nyckeltabellen till bufferten för nyckellistan med kommandot read_kt.


    ktutil: read_kt nyckeltabell
    
  4. Visa bufferten för nyckellistan med kommandot list.


    ktutil: list
    

    Den aktuella bufferten för nyckellistan visas.

  5. Avsluta kommandot ktutil.


    ktutil: quit
    

Exempel - Visa nyckellistan (principaler) i en nyckeltabell

I följande exempel visas nyckellistan i filen /etc/krb5/krb5.keytabpå värden denver.


denver # /usr/krb5/bin/ktutil
    ktutil: read_kt /etc/krb5/krb5.keytab
    ktutil: list
slot KVNO Principal
---- ---- ---------------------------------------
   1    5 host/denver@ACME.COM
    ktutil: quit

Så här inaktiverar du tillfälligt verifiering för en tjänst på en värd

Det kan inträffa att du tillfälligt behöver inaktivera verifieringsmekanismen för en tjänst, t ex rlogin eller ftp, på en nätverksprogramserver. Du kanske t ex vill förhindra användare att logga in på ett system när underhåll pågår. Med kommandot ktutil kan du, utan behörighet för kadmin, göra detta genom att ta bort tjänstprincipalen ur serverns nyckeltabell. Om du vill aktivera verifieringen igen behöver du bara kopiera den ursprungliga nyckeltabellen som du har sparat tillbaka till dess ursprungsplats.


Obs!

De flesta tjänster kräver att verifieringen fungerar som standard. Om tjänsten inte kräver det kommer den ändå att fungera, även om du inaktiverar verifiering för tjänsten.


  1. Växla till superanvändare på värden med nyckeltabellen.


    Obs!

    Även om du kan skapa nyckeltabeller som ägs av användare kräver standardplatsen för nyckeltabellen att root är ägare.


  2. Spara den aktuella nyckeltabellen i en temporär fil.

  3. Starta kommandot ktutil.


    # /usr/krb5/bin/ktutil
    
  4. Läs nyckeltabellen till bufferten för nyckellistan med kommandot read_kt.


    ktutil: read_kt nyckeltabell
    
  5. Visa bufferten för nyckellistan med kommandot list.


    ktutil: list
    

    Den aktuella bufferten för nyckellistan visas. Notera platsnumret för tjänsten som ska inaktiveras.

  6. Om du tillfälligt vill inaktivera en värds tjänst tar du bort tjänstprincipalen ur bufferten för nyckellistan med kommandot delete_entry.


    ktutil: delete_entry platsnummer
    

    platsnummer

    Platsnumret för tjänstprincipalen som ska tas bort. Det visas av kommandot list.

  7. Skriv bufferten för nyckellistan till nyckeltabellen med kommandot write_kt.


    ktutil: write_kt nyckeltabell
    
  8. Avsluta kommandot ktutil.


    ktutil: quit
    
  9. När du vill aktivera tjänsten igen kopierar du den temporära (ursprungliga) nyckeltabellen till dess ursprungliga plats.

Exempel - Inaktivera en tjänst på en värd tillfälligt

I följande exempel inaktiveras värd-tjänsten tillfälligt på värden denver. Om du vill aktivera värdtjänsten igen på denver kopierar du filen krb5.keytab.temp till filen /etc/krb5/krb5.keytab.


denver # cp /etc/krb5/krb5.keytab /etc/krb5/krb5.keytab.temp
denver # /usr/krb5/bin/ktutil
    ktutil:read_kt /etc/krb5/krb5.keytab
    ktutil:list
slot KVNO Principal
---- ---- ---------------------------------------
   1    8 host/denver@ACME.COM
   2    5 host/denver@ACME.COM
    ktutil:delete_entry 2
    ktutil:list
slot KVNO Principal
---- ---- --------------------------------------
   1    8 host/denver@ACME.COM
    ktutil:write_kt /etc/krb5/krb5.keytab
    ktutil: quit