Я использую сервер Linux для моделирования. Логин и файловая система сервера защищены с помощью Kerberos. Файловая система поддерживается с помощью NFS.
Поскольку выполнение моих симуляций требует много времени, мои сеансы ssh обычно зависали. Итак, я начал свои симуляции в byobu (аналогично screen).
Чтобы убедиться, что мой сеанс Kerberos остается активным, я использую команду krenew.
Я ввел следующую команду в свой файл .bash_profile. (Уверен, что он вызывается при каждом входе в систему)
killall -9 krenew 2> /dev/null
krenew -b -t -K 10
Поэтому каждый раз, когда я подключаюсь к серверу по ssh, я убиваю существующую команду krenew. Затем я создаю новую команду krenew -b (которая работает в фоновом режиме), -t (я забыл, почему я использовал эту опцию!) И -K 10 (она должна запускаться каждые 10 минут и обновлять кеш Kerberos).
Когда я запускаю моделирование, оно длится 14 часов, а затем внезапно появляется ошибка при чтении файла. Доступ запрещен
Я выполняю неверную команду?
По умолчанию вы можете не получать возобновляемые билеты. Проверьте флажки на билете, используя
klist -f (MIT)
или
klist -v (Хиемдаль)
если у вас нет возобновляемого или R во флагах, используйте параметр -r для kinit, чтобы получить возобновляемый билет. Если вы получаете возобновляемый билет, более чем вероятно, что вы не продлеваете один и тот же билет каждый раз.
В linux билеты kerberos - это файлы в / tmp, и каждый сеанс входа в систему получает другой файл. Я бы посоветовал вам вместо этого использовать kstart, чтобы начать работу со своим собственным билетом и демоном для управления этим билетом.