Como dar acesso ao crontab para o usuário do domínio?

0

Estou trabalhando em um servidor RedHat 7.3 e um usuário precisa acessar o crontab. No entanto, esse usuário é um usuário de domínio (ex. Test @ [domain]). Então o usuário não aparece no arquivo / etc / passwd.

Eu já tentei adicionar seu nome e o nome completo (com o domínio por trás dele) no arquivo cron.allow.
Isso não parece funcionar, mas a permissão foi negada. É possível até mesmo conceder aos usuários do domínio (sem acesso root) acesso ao crontab? E se sim, como?

    
por Simone 28.08.2018 / 14:21

1 resposta

0

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:

  1. Cron chama o PAM para executar a pilha "conta" (contabilidade / autorização) em /etc/pam.d/crond .
  2. 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 ou pam_ldap se você usar nslcd.
  3. pam_sss contata o SSSD, que toma a decisão de permitir que o usuário test@domain acesse o serviço crond . Como essa decisão depende dos parâmetros em sssd.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).

    
por 28.08.2018 / 14:36