Ao seguir /var/log/cron, notei que o trabalho cron está falhando devido às permissões do PAM. No meu access.conf eu tenho o seguinte sem comentários para ter certeza (ou o que eu pensei que estava tendo certeza) que o root tinha permissões para executar cron jobs.
# User "root" should be allowed to get access via cron .. tty5 tty6.
+ : root : cron crond :0 tty1 tty2 tty3 tty4 tty5 tty6
Estou no Centos 7 Kernel 3.10.0-693.21.1.el7.x86_64, nós o conectamos à nossa instância do diretório ativo do Windows via realm, sssd, kerberos. Minhas etapas de instalação podem ser encontradas aqui Best Auth Mech to Connect to Windows AD
Estou em uma perda no momento e não consigo descobrir o que pode estar causando isso. Verifiquei duas vezes se a senha do root não expirou e não expirou. O acesso root atual é configurado por meio de grupos de segurança do Windows.
Qualquer ajuda seria muito apreciada!
EDIT eu adicionei debug ao final do meu pam_access.so e obtive o seguinte
crond[17411]: pam_access(crond:account): login_access: user=root, from=cron, file=/etc/security/access.conf
crond[17411]: pam_access(crond:account): line 60: - : ALL EXCEPT wheel shutdown sync : LOCAL root
crond[17411]: pam_access(crond:account): list_match: list=ALL EXCEPT wheel shutdown sync, item=root
crond[17411]: pam_access(crond:account): user_match: tok=ALL, item=root
crond[17411]: pam_access(crond:account): string_match: tok=ALL, item=root
crond[17411]: pam_access(crond:account): user_match: tok=wheel, item=root
crond[17411]: pam_access(crond:account): string_match: tok=wheel, item=root
crond[17411]: pam_access(crond:account): user_match: tok=shutdown, item=root
crond[17411]: pam_access(crond:account): string_match: tok=shutdown, item=root
crond[17411]: pam_access(crond:account): user_match: tok=sync, item=root
crond[17411]: pam_access(crond:account): string_match: tok=sync, item=root
crond[17411]: pam_access(crond:account): user_match=1, "root"
crond[17411]: pam_access(crond:account): list_match: list=LOCAL root, item=root
crond[17411]: pam_access(crond:account): from_match: tok=LOCAL, item=cron
crond[17411]: pam_access(crond:account): string_match: tok=LOCAL, item=cron
crond[17411]: pam_access(crond:account): from_match=1, "cron"
crond[17411]: pam_access(crond:account): access denied for user
root' de 'cron'
Acabei reorganizando meu access.conf para o abaixo. De certa forma, coloquei a entrada do cron como minha segunda entrada no arquivo de configuração que parece definir corretamente as permissões para o root acessar o cron.
Se alguém souber, mas eu suspeito que as permissões são construídas sobre como elas são inseridas na configuração. Mesmo se você tiver permissão por meio de uma entrada na configuração, se uma linha antes dessa entrada negar seu acesso, ela substituirá a entrada de concessão desde que ela veio primeiro?
Como a próxima linha diz:
crond[17411]: pam_access(crond:account): access denied for user root' from cron'
Parece que foi o cron que negou o acesso. Verifique se você tem um arquivo
cron.allow
oucron.deny
em seu sistema, geralmente em seu diretório/etc
ou/etc/cron.d
. Se você tiver umcron.allow
arquivo, precisará adicionar seu usuário lá, se você tiver umcron.deny
arquivo e o root estiver listado lá, será necessário removê-lo.