Credential ticket for principles without need to type in password, from MIT Kerberos. A ticket has ticket lifetime and renewable lifetime. Ticket lifetime is shorter than renewable lifetime. For liniu@ANT.AMAZON.COM, the default ticket lifetime is 10h (resp., 6h40m) when using kinit -l (resp., -r), why?
From KDC server side:
modify the max_life in /etc/krb5kdc/kdc.conf and restart the KDC daemon /var/kerberos/krb5kdc/kdc.conf
Via “kadmin”, changed the “maxlife” for a test principal via “modprinc -maxlife 14hours “
From Kerberos client side: modify in /etc/krb5.conf
In fact, the ticket lifetime is the minimum of the following values:
max_life in kdc.conf on the KDC servers.
ticket_lifetime in krb5.conf on the client machine.
maxlife for the user principal.
maxlife for the service principal “krbtgt/[REALM_in_CAPS]”
requested lifetime in the ticket request. For example: kinit -l 14h
maxlife for the AFS service principal “afs/[realm_in_lower_case]”, if you want to increase the lifetime of your AFS token.
Valid starting Expires Service principal 08/18/16 08:13:20 08/18/16 18:13:20 krbtgt/ANT.AMAZON.COM@ANT.AMAZON.COM
time format is like 4d5h30m
1 2 3 4 5 6
kinit -l lifetime //request a ticket with ticket lifetime of lifetime -r renewable-life //request renewable ticket with a total lifetime of renewable-life //I'm still unclear about the difference between -l and -r -f //forwardable -F //non-forwardable -R //requests renewal of the ticket-granting ticket. No need for password but must be within ticket lifetime instead of renewable lifetime.
Automatically renew tickets: Since you need to renew a ticket before its ticket lifetime expires, the easiest way to renew tickets is to put it in a cron job since renewing a ticket is non-interactive.
Run ‘crontab -e’ to edit the file in /var/spool/cron/. Use ‘crontab -l’ to see the file.
1 2 3 4 5 6 7 8 9
# Renew the kerberos ticket every 8 hours, this will extend the lifetime of # the ticket until the renew lifetime expiers, after that this command will # fail to renew the ticket and you will need to interactively # run `kinit -f -l 86400 -r 2592000` # # minute hour day_of_month month weekday command 59 00,08,16 * * * /usr/kerberos/bin/kinit -R //59 minute, 0 or 8 or 16 o'clock, any, any, any, the command to be executed is '/usr/kerberos/bin/kinit -R' //some short notations: 1-3 means 1,2,3; */15 means every 15
Key Notes:
do not use sudo kinit
when no credential ticket can be found, add -c $KRB5CCNAME, where KRB5CCNAME is the environment variable recording the path of credential ticket.
in Hexo folder, modify the _config.yml file as follows,
1 2 3 4
deploy: type: git repository: $(SSH address from github) branch: master
in Hexo folder, install the deployer by $npm install hexo-deployer-git --save
type $hexo g and $hexo d, or $hexo d -g.
change theme: go to the folder “/themes” and git clone https://github.com/iissnan/hexo-theme-next. config the theme in the file “/themes/XXXX/_config.yml”.
local search
$npm install hexo-generator-searchdb --save
in the site _config.yml file, set local_search: enable: true. paste the following lines anywhere.
1 2 3 4 5
search: path: search.xml field: post #post, page, all format: html limit: 10000
add new page for some subcategory (e.g., write): in the theme _config.yml file
1 2
menu: write: /categories/write
add social links: in the theme _config.yml file
1 2 3 4
# Social links social: GitHub: https://github.com/ustcnewly Linkedin: https://www.linkedin.com/in/li-niu-b0905133/
latex:
install $npm install hexo-math --save and restart Hexo
in the theme _config.yml file, modify as follows (notice that cdn may change)
1 2 3 4 5
# MathJax Support mathjax: enable: true per_page: false cdn: //cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML
If something is wrong with the representation and hard to tune, you can try deleting extra spaces or adopting an alternative format (e.g., two code block formats).
Case sensitive: sometimes you switch between capital letter and small letter, which may lead to 404 not found errors.
set ignorecase as false in the file .deploy_git/.git/config
[1] Zhao, Changyuan, et al. “Edge general intelligence through world models and agentic AI: Fundamentals, solutions, and challenges.” arXiv preprint arXiv:2508.09561 (2025). [2] Shu, Bao, et al. “Thinking by Doing: Building Efficient World Model Reasoning in LLMs via Multi-turn Interaction.” arXiv preprint arXiv:2511.23476 (2025). [3] Yu, Xiao, et al. “Dyna-Think: Synergizing Reasoning, Acting, and World Model Simulation in AI Agents.” arXiv preprint arXiv:2506.00320 (2025).