1

В нашей компании есть система единого входа Kerberos. Это означает, что я могу просто набрать в терминале kinit user@DOMAIN , а затем получить доступ ко всем ИТ-ресурсам, таким как файловые серверы, внутренние вики, svn-сервер и т.д.

Проблема в том, что я остаюсь в системе только 10 часов, поэтому мне нужно запускать kinit каждое утро, когда я вынимаю компьютер из спящего режима, и каждый раз, когда я перезагружаю компьютер.

Есть ли способ выполнить эту команду автоматически при запуске компьютера и каждые десять часов после этого?

Я провел некоторое исследование, и я предполагаю, что правильный способ сделать это - использовать агент запуска, потому что команда должна выполняться от имени текущего пользователя (для kinit требуется пароль из цепочки для ключей).

Я попытался использовать следующий файл агента запуска, но он не работает должным образом:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>net.jabakobob.auto-kinit</string>
    <key>OnDemand</key>
    <true/>
    <key>RunAtLoad</key>
    <false/>
    <key>UserName</key>
    <string>user</string>
    <key>Program</key>
    <string>/usr/bin/kinit</string>
    <key>ProgramArguments</key>
    <array>
        <string>user@DOMAIN</string>
    </array>
    <key>StartInterval</key>
    <integer>10800</integer>
</dict>
</plist>

Я не знаю, почему этот агент запуска не работает, и я понятия не имею, как его отладить. Есть идеи?

1 ответ1

0

/Library/LaunchAgents/ привязаны к отдельным пользователям, а /Library/LaunchDaemons/ привязаны к машине в целом. После загрузки системы и запуска ядра сначала загружаются файлы списка свойств, находящиеся в /Library/LaunchDaemons/ , так как это демон системного уровня.

Попробуйте поместить свой список в /Library/LaunchDaemons/ и посмотреть, работает ли он. Потому что цель состоит в том, чтобы запустить kinit при загрузке, поэтому не должно иметь значения, загружен ли он на системном уровне.

Если это не работает, пожалуйста, ответьте здесь со своими выводами.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .