Wie kann man Puppet dazu bringen, SELinux-Typen für Home-Verzeichnisse zu korrigieren?

Wie kann man Puppet dazu bringen, SELinux-Typen für Home-Verzeichnisse zu korrigieren?

Wir verwenden pam_mkhomedir.so, um die Home-Verzeichnisse von Benutzern, die sich mit SSH anmelden, automatisch zu erstellen. Es gibt einen Fehler in pam_mkhomedir, der die SELinux-Kontexte auf home_root_t statt auf user_home_dir_t setzt. Die Lösung besteht in der Verwendung von pam_oddjob_mkhomedir, das wir implementiert haben.

Wir haben jedoch immer noch viele Home-Verzeichnisse mit ungültigen SELinux-Kontexten.

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

Wie können wir ein Puppet-Modul entwerfen, das SELinux-Kontexte in allen Benutzer-Home-Verzeichnissen korrigiert?

Ich habe über eine Lösung wie diese nachgedacht:

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

Leider funktioniert das Wildcard-Zeichen nicht.

Antwort1

Vielleicht wäre das hilfreich?http://projects.puppetlabs.com/issues/2856

Recurselimit scheint für /home/user1 zu funktionieren, setzt /home aber auch auf user_home_dir_t.

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

Sie könnten einen benutzerdefinierten Fact einrichten, der alle Home-Verzeichnisse in einem Array zurückgibt (zu viele Benutzer könnten hier ein Problem darstellen):

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

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

Die beste Option in diesem Fall wäre vielleicht, restorecon auszuführen, da Sie anscheinend eine Lösung für neu erstellte Verzeichnisse implementiert haben.

verwandte Informationen