…生活與工作…個人的生活雜記….

Crontab 無法為指定的工作階段製作/移除項目

Docker-Container-With-Ubuntu - Ubuntu Free

Ubuntu 18.04的Docker上發生的問題,Crontab無法運作且在/var/log/syslog會出現下列錯誤訊息:

Apr 11 16:40:01 CRON[31656]: 無法為指定的工作階段製作/移除項目
Apr 11 16:45:01 CRON[31666]: 無法為指定的工作階段製作/移除項目
Apr 11 16:50:01 CRON[31708]: 無法為指定的工作階段製作/移除項目
Apr 11 16:55:01 CRON[31727]: 無法為指定的工作階段製作/移除項目
Apr 11 17:00:01 CRON[31753]: 無法為指定的工作階段製作/移除項目
Apr 11 17:05:01 CRON[31755]: 無法為指定的工作階段製作/移除項目
Apr 11 17:09:01 CRON[31765]: 無法為指定的工作階段製作/移除項目
Apr 11 17:10:01 CRON[31766]: 無法為指定的工作階段製作/移除項目
Apr 11 17:15:01 CRON[31783]: 無法為指定的工作階段製作/移除項目
Apr 11 17:17:01 CRON[31787]: 無法為指定的工作階段製作/移除項目
Apr 11 17:20:01 CRON[31790]: 無法為指定的工作階段製作/移除項目

原因是出在PAM上面,處理方法是編輯/etc/pam.d/cron

# The PAM configuration file for the cron daemon

@include common-auth

# Sets the loginuid process attribute
session    required     pam_loginuid.so

# Read environment variables from pam_env's default files, /etc/environment
# and /etc/security/pam_env.conf.
session       required   pam_env.so     // <====這一行註解起來

# In addition, read system locale information
session       required   pam_env.so envfile=/etc/default/locale

@include common-account
@include common-session-noninteractive

# Sets up user limits, please define limits for cron tasks
# through /etc/security/limits.conf
session    required   pam_limits.so

然後重新啟動crontab即可

/etc/init.d/cron restart