无法执行 Crontab 命令。错误 PAM 配置

无法执行 Crontab 命令。错误 PAM 配置

这是我想要执行的命令,但它似乎不起作用。

[mdubois@veloce ~]$ crontab -l

Autorisation refusée
You (mdubois) are not allowed to access to (crontab) because of pam configuration.

以下是我的 /etc/pam.d/crond 文件内容

#
# The PAM configuration file for the cron daemon
#
#
# No PAM authentication called, auth modules not needed

account    required   pam_access.so
account    include    password-auth
session    required   pam_loginuid.so
session    include    password-auth
auth       include    password-auth

我无法检测到错误,因为它没有出现在 crontab 的日志文件中

    [root@veloce ~]# tail -f /var/log/cron
Jul  2 16:01:01 veloce CROND[7482]: (root) CMD (run-parts /etc/cron.hourly)
Jul  2 16:01:01 veloce run-parts(/etc/cron.hourly)[7482]: starting 0anacron
Jul  2 16:01:01 veloce run-parts(/etc/cron.hourly)[7491]: finished 0anacron
Jul  2 16:10:01 veloce CROND[8611]: (root) CMD (/usr/lib64/sa/sa1 1 1)
Jul  2 16:20:01 veloce CROND[9940]: (root) CMD (/usr/lib64/sa/sa1 1 1)
Jul  2 16:26:45 veloce crond[10807]: (CRON) STARTUP (1.4.4)
Jul  2 16:26:45 veloce crond[10807]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 71% if used.)
Jul  2 16:26:45 veloce crond[10807]: (CRON) INFO (running with inotify support)
Jul  2 16:26:45 veloce crond[10807]: (CRON) INFO (@reboot jobs will be run at computer's startup.)
Jul  2 16:30:01 veloce CROND[11312]: (root) CMD (/usr/lib64/sa/sa1 1 1)

我在我的服务器上运行 RedHat 6.6 Santiago。

如果有人能帮助我就太好了。提前谢谢。

PS:我已经在 /etc/cron.allow 文件中包含了用户 ID

答案1

我遇到了同样的问题并解决了,只需直接使用用户登录(在我的情况下,使用 Putty)。

第一次登录之前,尝试更改 access.conf,但没有成功。

刚添加密码给用户并将你的 shell 更改为狂欢这解决了我的 PAM 配置错误,所以我最终可以将用户返回到非 shell 并su userInTrouble使用root 用户我可以使用 cron 进行更改crontab -e

我正在使用 Centos 7 和 Permissive 模式下的 Selinux。

答案2

您需要通过修改文件 /etc/security/access.conf 来允许用户使用 crontab。

插入这两行

  # Allow the dubois user to run cron jobs
  +: dubois : cron crond :0

在上述文件中,多于这两行:

  # Deny all other users access by any means.
  -: ALL : ALL

这会阻止所有其他用户。之后请确保重新启动计算机。

答案3

如果你正在使用免费IPA您需要创建基于主机的访问控制 (HBAC) 规则,以允许用户访问该主机上的 crond 服务。

定义基于主机的访问控制规则了解具体细节。

答案4

检查用户的身份验证令牌是否过期

sudo chage -l user
Last password change                                : Nov 29, 2018
Password expires                                    : Feb 27, 2019
Password inactive                                   : never
Account expires                                     : never
Minimum number of days between password change      : 7
Maximum number of days between password change      : 90
Number of days of warning before password expires   : 7

修改用户密码过期

sudo chage -I -1 -m 0 -M 99999 -E -1 user

希望这有效

相关内容