Как позволить CRONTAB использовать для локальных учетных записей, которые не позволяют интерактивными логинами?

Синтаксис

var = value cmd ar1

не совсем работает, если cmd является циклом for (ни в одном bash или sh ).

И sh , и bash дают синтаксические ошибки для:

foo=bar for f in ${foo:-BAR}; do echo $f; done

, что вы, по сути, делаете.

(

  • sh: 1: for: not found
  • bash: синтаксическая ошибка возле неожиданного токена `do '

)

И эта ошибка, похоже, приводит к тому, что не может найти fi ошибка в вашем случае;

Установка переменной в отдельной строке устраняет синтаксическую ошибку:

kernlist=$(awk '$1 == "config" { print $2 }' ${kernelconfpath})
for kern in ${kernlist:-netbsd}; do #...

Примечание:

Я бы просто написал «$ kernelbuildpath / $ kern» вместо of "$ {kernelbuildpath} / $ {kern}" на вашем месте. Никаких технических причин для завитков нет.

4
09.07.2018, 18:47
1 ответ

Отредактируйте /etc/pam.d/crond, чтобы изменить строку:

account    required    pam_access.so
с

по:

account    sufficient  pam_access.so

Задания Cron теперь будут работать для просроченных учетных записей пользователей

1
27.01.2020, 21:01

Теги

Похожие вопросы