홈 디렉토리에 대한 Puppet 수정 SELinux 유형을 만드는 방법은 무엇입니까?

홈 디렉토리에 대한 Puppet 수정 SELinux 유형을 만드는 방법은 무엇입니까?

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을 실행하는 것입니다.

관련 정보