在您需要暫時停用網路應用程式伺服器之上的一項服務的辯證機制,如 rlogin 或 ftp 時會出現這類實例。例如,您可能想要在執行維護程序時阻止使用者登入一個系統。您可以利用 ktutil 指令,從伺服器的密鑰表中移除服務主管來達到此目的,而不需要 kadmin 權限。要再次啟用辯證,您只需要將您所儲存的原始密鑰表複製回其原本的位置即可。
根據預設,大多數的服務都被設定為要求辯證有效。如果並非如此,即使您停用服務的辯證,服務還是會有效。
以密鑰表在主機之上成為超級使用者。
雖然您可以建立其他使用者所擁有的密鑰表,但是密鑰表的預設位置需要 root 的所有權。
將目前的密鑰表存入一個暫存檔案中。
請開始 ktutil 指令。
# /usr/krb5/bin/ktutil |
使用 read_kt指令以將密鑰表讀入密鑰清單緩衝區。
ktutil: read_kt密鑰表 |
使用 list 指令以顯示密鑰清單緩衝區。
ktutil: 清單 |
目前的密鑰清單緩衝區會顯示出來。請注意您想要停用的服務插槽數。
要暫時停用一個主機的服務,請使用 delete_entry 指令從密鑰清單緩衝區中移除特定的服務主管。
ktutil: delete_entry slot_number |
slot_number |
要刪除的服務主管插槽數,由 list 指令所顯示。 |
使用 write_kt指令以將密鑰清單緩衝區寫入密鑰表。
ktutil: write_kt密鑰表 |
退出 ktutil 指令。
ktutil: quit |
當您想要再次啟用服務時,請將暫存的(原始的)密鑰表複製回其原本的位置。
下列範例會暫時停用 denver 主機之上的 host 服務。要重新啟用 denver 之上的主機服務,您必須將 krb5.keytab.temp 檔案複製到 /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""插槽 KVNO 主管""---- ---- ---------------------------------------"" 1 8 root/denver@ACME.COM"" 2 5 host/denver@ACME.COM"" ktutil:delete_entry 2"" ktutil:list""插槽 KVNO 主管""---- ---- --------------------------------------"" 1 8 root/denver@ACME.COM"" ktutil:write_kt /etc/krb5/krb5.keytab"" ktutil: quit" |