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.