O Cron sempre usa os mesmos métodos para determinar o acesso, independentemente do tipo de conta. Uma verificação é o arquivo cron.allow , outro passa pelo PAM:
- Cron chama o PAM para executar a pilha "conta" (contabilidade / autorização) em
/etc/pam.d/crond
. - Esse arquivo, direta ou indiretamente (por incluir / subcomposição), conterá um módulo pertencente ao seu cliente de domínio - por exemplo,
pam_sss
se você usar SSSD,pam_winbind
se você usar Samba / Winbindd oupam_ldap
se você usar nslcd. -
pam_sss contata o SSSD, que toma a decisão de permitir que o usuário
test@domain
acesse o serviçocrond
. Como essa decisão depende dos parâmetros emsssd.conf
- por exemplo, quando ingressada em um domínio do Active Directory, ela pode até ler suas diretivas de grupo e decidir se o Windows concederia ao usuário a permissão "Logon em lote". p>(Eu suponho que seja SSSD por causa da sintaxe do nome de usuário e porque o RHEL o criou.)
Como observação, não há diferença entre usuários locais e usuários de domínio do lado técnico. Até mesmo a sintaxe ...@domain
é meramente um nome de usuário sofisticado que o SSSD gera; não é nada especial para o resto do sistema. Então, se você usar cron.allow , você geralmente tem que incluí-lo.
Como uma nota lateral à nota lateral, com SSSD é possível ter nome assimétrico → UID → tradução de nome (por exemplo, test@domain
→ 12345 → domain\test
). Você não sabe se o cron armazena o nome de usuário literalmente ou o reconstrói a partir do UID. Portanto, você deve executar getent passwd <uid>
com o UID numérico e incluir o nome de usuário resultante em cron.allow se for diferente do nome de usuário original (ou seja, você deve listar as duas versões).