Como fazer o Puppet corrigir os tipos de SELinux para diretórios pessoais?

2

Estamos usando o pam_mkhomedir.so para criar automaticamente os diretórios iniciais dos usuários que efetuam login com o SSH. Há um bug no pam_mkhomedir que define os contextos do SELinux como home_root_t em vez de user_home_dir_t. A solução está usando o pam_oddjob_mkhomedir, que implementamos.

No entanto, ainda temos muitos diretórios base com contextos SELinux inválidos.

drwxr-xr-x. jdoe users unconfined_u:object_r:home_root_t:s0 jdoe

Como podemos projetar um módulo Puppet que possa corrigir os contextos do SELinux em todos os diretórios home dos usuários?

Eu estava pensando em uma solução como essa:

file { '/home/*':
    ensure => "directory",
    seltype => "user_home_dir_t"
}

Infelizmente, o curinga não funciona.

    
por ujjain 10.09.2013 / 10:53

1 resposta

1

Talvez isso seja útil? link

O recurselimit parece funcionar para / home / user1, mas também define / home para user_home_dir_t.

file { '/home/':
  ensure => "directory",
  recurse => true,
  recurselimit => 1,
  seltype => "user_home_dir_t"
}

Você pode configurar um fato personalizado que retorne todos os diretórios iniciais em uma matriz (muitos usuários podem ser um problema aqui):

$fact_home_dirs = ['/home/user1', '/home/user2']

file { $fact_home_dirs:
  ensure => "directory",
  seltype => "user_home_dir_t"
}

Talvez a melhor opção nesse caso seja executar o restorecon, já que você parece ter implementado uma solução para diretórios recém-criados.

    
por 17.10.2013 / 18:32