SSH로 로그인하는 사용자의 홈 디렉터리를 자동으로 생성하기 위해 pam_mkhomedir.so를 사용하고 있습니다. pam_mkhomedir에는 SELinux 컨텍스트를 user_home_dir_t 대신 home_root_t로 설정하는 버그가 있습니다. 해결책은 우리가 구현한 pam_oddjob_mkhomedir을 사용하는 것입니다.
그러나 여전히 유효하지 않은 SELinux 컨텍스트가 있는 홈 디렉토리가 많이 있습니다.
drwxr-xr-x. jdoe users unconfined_u:object_r:home_root_t:s0 jdoe
모든 사용자 홈 디렉토리에서 SELinux 컨텍스트를 수정하는 Puppet 모듈을 어떻게 디자인할 수 있습니까?
나는 다음과 같은 해결책을 생각하고 있었습니다.
file { '/home/*':
ensure => "directory",
seltype => "user_home_dir_t"
}
불행히도 와일드카드는 작동하지 않습니다.
답변1
아마도 이것이 도움이 될 것입니까?http://projects.puppetlabs.com/issues/2856
Recurselimit는 /home/user1에 대해 작동하는 것 같지만 /home을 user_home_dir_t로 설정합니다.
file { '/home/':
ensure => "directory",
recurse => true,
recurselimit => 1,
seltype => "user_home_dir_t"
}
모든 홈 디렉토리를 배열로 반환하는 사용자 정의 사실을 설정할 수 있습니다(여기서 사용자가 너무 많으면 문제가 될 수 있습니다).
$fact_home_dirs = ['/home/user1', '/home/user2']
file { $fact_home_dirs:
ensure => "directory",
seltype => "user_home_dir_t"
}
아마도 이 경우 가장 좋은 옵션은 새로 생성된 디렉터리에 대한 솔루션을 구현한 것 같으므로 Restorecon을 실행하는 것입니다.