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".
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.
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. | |
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" |
Kontrollera att principalen redan finns i Kerberos-databasen.
Mer information finns i "Så här visar du listan över principaler".
Växla till superanvändare på värden där principalen ska läggas till i nyckeltabellen.
Starta kommandot kadmin.
# /usr/krb5/sbin/kadmin |
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. |
Avsluta kommandot kadmin.
kadmin: quit |
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 |
Växla till superanvändare på värden med tjänstprincipalen som ska tas bort ur nyckeltabellen.
Starta kommandot kadmin.
# /usr/krb5/bin/kadmin |
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".
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. |
Avsluta kommandot kadmin.
kadmin: quit |
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 |
Växla till superanvändare på värden med nyckeltabellen.
Även om du kan skapa nyckeltabeller som ägs av användare kräver standardplatsen för nyckeltabellen att root är ägare.
Starta kommandot ktutil.
# /usr/krb5/bin/ktutil |
Läs nyckeltabellen till bufferten för nyckellistan med kommandot read_kt.
ktutil: read_kt nyckeltabell |
Visa bufferten för nyckellistan med kommandot list.
ktutil: list |
Den aktuella bufferten för nyckellistan visas.
Avsluta kommandot ktutil.
ktutil: quit |
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 |
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.
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.
Växla till superanvändare på värden med nyckeltabellen.
Även om du kan skapa nyckeltabeller som ägs av användare kräver standardplatsen för nyckeltabellen att root är ägare.
Spara den aktuella nyckeltabellen i en temporär fil.
Starta kommandot ktutil.
# /usr/krb5/bin/ktutil |
Läs nyckeltabellen till bufferten för nyckellistan med kommandot read_kt.
ktutil: read_kt nyckeltabell |
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.
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. |
Skriv bufferten för nyckellistan till nyckeltabellen med kommandot write_kt.
ktutil: write_kt nyckeltabell |
Avsluta kommandot ktutil.
ktutil: quit |
När du vill aktivera tjänsten igen kopierar du den temporära (ursprungliga) nyckeltabellen till dess ursprungliga plats.
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 |