Учетная запись root заблокирована / приостановлена?
Я отправляю платы ts7800 под управлением Debian 6.07. После программирования некоторые платы не запускают свои задания cron, жалуясь, что они не распознают пользовательский root.
Это произошло на 2 из 12 устройств. Когда я начал расследование, меня заставили сменить пароль. После этого устройство работает как положено (я перезагрузился, чтобы перезапустить cron). Команда chage также показывает пароль и учетную запись как никогда не истекает.
Я полагаю, что проблема может быть в том, что часы реального времени недостаточно заряжаются во время программирования устройства, чтобы сохранить время. При вводе устройства в эксплуатацию у него может не быть подключения к Интернету, и поэтому оно начнется в эпоху, что приведет к будущей смене пароля в будущем или к некоторому такому предательству.
Я по сути хочу настроить PAM, чтобы разрешить запуск cron для заблокированных / приостановленных учетных записей??
1 ответ
Хорошо, я немного узнал о PAM и нашел решение.
Обратите внимание, что это не очень хорошая практика в общем случае, но в контексте надежных встроенных систем я считаю, что это приемлемо.
Мое решение состояло в том, чтобы отредактировать определенный файл cron /etc/pam.d/cron
вот так:
-@include common-account
+CONTENTS_OF_COMMON_ACCOUNT_FILE
и измените следующую включенную строку следующим образом:
-account [success=1 new_authtok_reqd=done default=ignore] pam_unix.so
+account [success=1 new_authtok_reqd=1 default=ignore] pam_unix.so
Задания Cron теперь должны выполняться, даже если необходимо изменить пароль пользователя.