Kerberos Ticket管理
本章介紹如何管理您的Kerberos Ticket,這里的Ticket是指Ticket-Granting-Ticket(TGT),是您訪問集群中服務的憑證。我們假設您已經有自己的principal和密碼(或者keytab),如果您還沒有這些信息,請聯系您的系統管理員獲取。下面的指令您可以在安裝了Kerberos或Guardian的集群中任意一台機器上執行。
1. 獲取Ticket: kinit
如果您當前的session中沒有ticket或者ticket已過期,您都需要使用kinit指令來獲取 ticket。您只需執行:
kinit <your_principal>
這里<your_principal>處提供您的principal並在系統提示下輸入密碼,即可獲取一張ticket。
舉例:Alice用戶獲取ticket:
[root@tw-node118 ~]# kinit alice@TDH Password for alice@TDH:
如果您的密碼存在keytab文件中並想要提供keytab文件進行認證,您需要執行:
kinit <your_principal> -kt <keytab_path>
這里<keytab_path>處提供您keytab文件的路徑。這個路徑可以是絕對路徑也可以是相對路徑。因為提供keytab文件就是在提供密碼,所以您無需再輸入密碼。
舉例:Alice用戶通過提供keytab獲取ticket:
[root@tw-node118 ~]# kinit alice@TDH -kt /root/.keytab
2. 查看Ticket: klist
要查看您當前的session是否有ticket以及ticket的有效期,您只需要在命令行執行klist。
舉例:當前session沒有ticket:
[root@tw-node118 ~]# klist klist: No credentials cache found (ticket cache FILE:/tmp/krb5cc_0)
舉例:當前session有ticket:
[root@tw-node118 ~]# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: alice@TDH Valid starting Expires 11/26/15 19:04:19 11/27/15 05:04:19 renew until 12/03/15 19:04:19 Service principal krbtgt/TDH@TDH
在這里您可以看到ticket的過期時間,如果根據這個信息當前session中的ticket已經過期,您是無法訪問服務的。您需要使用kinit指令重新獲取ticket。
3. 銷毀Ticket: kdestroy
當您結束對集群服務的使用,可以用kdestroy指令手動銷毀您的ticket,以防別人持您的ticket來使用您的數據和應用。
舉例
[root@tw-node118 ~]# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: alice@TDH Valid starting Expires 11/26/15 19:11:31 11/27/15 05:11:31 renew until 12/03/15 19:11:31 [root@tw-node118 ~]# kdestroy [root@tw-node118 ~]# klist Service principal krbtgt/TDH@TDH klist: No credentials cache found (ticket cache FILE:/tmp/krb5cc_0)
當前session沒有ticket說明ticket已經被銷毀。