Puppet和Windows目录权限

时间:2014-08-01 19:08:20

标签: windows permissions puppet

我无法相信木偶在使用Windows时有多么困难 - 尤其是Windows权限!我有一个非常简单的pp文件,我正在尝试执行:

case $operatingsystem {

...

'Windows': {
        file { 'c:/puppet/':
            ensure => directory,
            owner  => 'myUser',
            group  => 'Administrators',
            mode   => '0777',
        }
    }
}

这看起来很简单 - 创建一个名为“c:\ puppet”的目录,让每个人都可以访问 - 它不起作用!它创建一个目录,但没有人拥有任何权限(特殊权限除外)。我在管理员组中,所以我可以删除它并访问它,但我想放弃内部并能够从那里安装(因为显然“http”源不能直接在Windows上工作......)。

是否还有其他人在使用puppet for Windows,或者我只是使用错误的工具来完成这项工作?我变得非常沮丧,文档看似合理,但没有简单的例子说明我是如何使用木偶的,我会完全卡住。

2 个答案:

答案 0 :(得分:3)

你签了吗

https://forge.puppetlabs.com/puppetlabs/acl 从他们的文档中你可以做类似的事情。

acl { 'c:/puppet':
   permissions => [
   { identity => 'Administrator', rights => ['full'] },
   { identity => 'myuser', rights => ['read','execute'] }
   owner => 'myuser',
 ],
}

答案 1 :(得分:0)

我想出了一个似乎是钝器创伤系统管理的解决方案:

exec { 'fix_acls':
    command => 'cmd.exe /c "takeown /r /f c:\puppet && icacls c:\puppet /grant SYSTEM:(OI)(CI)F myUser:(OI)(CI)F /T"',
    path    => $::path,
}

这给了我的用户和系统访问权限,我也可以通过我认为的USERS这样做,但似乎必须有更好的方法。