Estamos utilizando pam_mkhomedir.so para crear automáticamente los directorios de inicio de los usuarios que inician sesión con SSH. Hay un error en pam_mkhomedir que establece los contextos de SELinux en home_root_t en lugar de user_home_dir_t. La solución es usar pam_oddjob_mkhomedir, que hemos implementado.
Sin embargo, todavía tenemos muchos directorios de inicio con contextos SELinux no válidos.
drwxr-xr-x. jdoe users unconfined_u:object_r:home_root_t:s0 jdoe
¿Cómo podemos diseñar un módulo Puppet que corrija los contextos de SELinux en todos los directorios de inicio de los usuarios?
Estaba pensando en una solución como esta:
file { '/home/*':
ensure => "directory",
seltype => "user_home_dir_t"
}
Lamentablemente el comodín no funciona.
Respuesta1
¿Quizás esto sería útil?http://projects.puppetlabs.com/issues/2856
Recurselimit parece funcionar para /home/user1, pero también establece /home en user_home_dir_t.
file { '/home/':
ensure => "directory",
recurse => true,
recurselimit => 1,
seltype => "user_home_dir_t"
}
Puede configurar un hecho personalizado que devuelva todos los directorios de inicio en una matriz (demasiados usuarios podrían ser un problema aquí):
$fact_home_dirs = ['/home/user1', '/home/user2']
file { $fact_home_dirs:
ensure => "directory",
seltype => "user_home_dir_t"
}
Quizás la mejor opción en este caso sería ejecutar recoverycon ya que parece haber implementado una solución para directorios recién creados.