꼭두각시에서 마운트 된 파티션을 관리하고 /etc/fstab
마운트 지점으로 사용되는 디렉토리를 수정 하고 생성하는 것을 포함하고 싶습니다 . mount
자원 유형 업데이트는 fstab
잘하지만, 사용하는 file
마운트 포인트를 작성하는 것은 조금 까다 롭습니다.
예를 들어, 기본적으로 디렉토리의 소유자는 root 이고 마운트 된 파티션의 루트 (/)에 다른 소유자가 있으면 꼭두각시가이를 변경하려고 시도하므로이를 원하지 않습니다. 나는 그 디렉토리의 소유자를 설정할 수 있다는 것을 알고 있지만 왜 마운트 된 파티션에 무엇이 있어야합니까? 내가하고 싶은 것은 마운트입니다. 꼭두각시가 마운트 지점으로 사용되는 디렉토리의 권한에 신경 쓰지 않도록하는 방법이 있습니까?
이것이 내가 지금 사용하고있는 것입니다 :
define extra_mount_point(
$device,
$location = "/mnt",
$fstype = "xfs",
$owner = "root",
$group = "root",
$mode = 0755,
$seltype = "public_content_t"
$options = "ro,relatime,nosuid,nodev,noexec",
) {
file { "${location}/${name}":
ensure => directory,
owner => "${owner}",
group => "${group}",
mode => $mode,
seltype => "${seltype}",
}
mount { "${location}/${name}":
atboot => true,
ensure => mounted,
device => "${device}",
fstype => "${fstype}",
options => "${options}",
dump => 0,
pass => 2,
require => File["${location}/${name}"],
}
}
extra_mount_point { "sda3":
device => "/dev/sda3",
fstype => "xfs",
owner => "ciupicri",
group => "ciupicri",
$options => "relatime,nosuid,nodev,noexec",
}
중요한 경우, puppet-0.25.4-1.fc13.noarch.rpm 및 puppet-server-0.25.4-1.fc13.noarch.rpm을 사용하고 있습니다.
PS undef
는 소유자, 그룹 및 권한에는 적합하지만 SELinux에는 적합하지 않습니다. 파티션이 이미 마운트되어 있으면 꼭두각시가 불평합니다.
puppetd[18052]: Failed to set SELinux context system_u:object_r:public_content_t:s0 on /mnt/sda3
puppetd[18052]: (/File[/mnt/sda3]/seluser) seluser changed 'unconfined_u' to 'system_u'
puppetd[18052]: Failed to set SELinux context unconfined_u:object_r:mnt_t:s0 on /mnt/sda3
puppetd[18052]: (/File[/mnt/sda3]/seltype) seltype changed 'public_content_t' to 'mnt_t'
마운트 된 파티션의 권한은 다음과 같습니다.
drwxr-xr-x. root root unconfined_u:object_r:public_content_t:s0 /mnt/sda3/
퍼펫이 생성 한 마운트 지점의 권한은 다음과 같습니다.
drwxr-xr-x. root root system_u:object_r:mnt_t:s0 /mnt/sda3/
PPS 나는 이 이상한 행동에 대한 버그 를 보고했다 .
undef
트릭을했다. 디렉토리는 다음과 같은 권한으로 작성rwxr-xr-x. root root system_u:object_r:mnt_t:s0
되며 나에게 적합합니다.