4

Я отправляю платы ts7800 под управлением Debian 6.07. После программирования некоторые платы не запускают свои задания cron, жалуясь, что они не распознают пользовательский root.

Это произошло на 2 из 12 устройств. Когда я начал расследование, меня заставили сменить пароль. После этого устройство работает как положено (я перезагрузился, чтобы перезапустить cron). Команда chage также показывает пароль и учетную запись как никогда не истекает.

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

Я по сути хочу настроить PAM, чтобы разрешить запуск cron для заблокированных / приостановленных учетных записей ??

1 ответ1

2

Хорошо, я немного узнал о 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 теперь должны выполняться, даже если необходимо изменить пароль пользователя.

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