无法创建/删除指定会话的条目 - cron

问题描述 投票:0回答:2

我正在亚马逊 Linux 上运行 docker。我已经为特定操作设置了一个 cron 作业。它返回一个错误,指出无法创建/删除指定会话的条目 Docker 版本:1.12.6(客户端和服务器) API版本:1.24(客户端和服务器)

docker cron amazon-linux
2个回答
24
投票

该错误通常是由于 pam 安全问题造成的。

最近已在 debian 中修复:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=726661 和 Ubuntu Wily (15.10)。

作为解决方法,您可以尝试在 /etc/pam.d/cron 中注释模块 pam_loginuid.so 并重新启动 cron (或 docker 容器)。

您可以在 Dockerfile 中使用类似的内容:

RUN sed -i '/session    required     pam_loginuid.so/c\#session    required   pam_loginuid.so' /etc/pam.d/cron

0
投票

今天,se 在通过主管运行 crond 的 phpfpm-Container 中看到了这个问题。当我们将执行环境从 Docker 更改为 Podman 后,cronjobs 停止工作并抛出上述错误消息:“无法为指定会话创建/删除条目”。

该映像基于 Debian 12.3,显然提到的解决方法(注释掉 /etc/pam.d/cron 中的行)有效。

但是为什么呢?为什么到了2023年,这种情况仍然发生?为什么只有 Podman 会出现这种情况,而 Docker 不会出现这种情况?是否需要一些特殊功能,Podman 默认情况下没有设置,但 Docker 却设置了?

如果我们找出导致此行为的原因,我将更新这篇文章。

© www.soinside.com 2019 - 2024. All rights reserved.