我无法相信木偶在使用Windows时有多么困难 - 尤其是Windows权限!我有一个非常简单的pp文件,我正在尝试执行:
case $operatingsystem {
...
'Windows': {
file { 'c:/puppet/':
ensure => directory,
owner => 'myUser',
group => 'Administrators',
mode => '0777',
}
}
}
这看起来很简单 - 创建一个名为“c:\ puppet”的目录,让每个人都可以访问 - 它不起作用!它创建一个目录,但没有人拥有任何权限(特殊权限除外)。我在管理员组中,所以我可以删除它并访问它,但我想放弃内部并能够从那里安装(因为显然“http”源不能直接在Windows上工作......)。
是否还有其他人在使用puppet for Windows,或者我只是使用错误的工具来完成这项工作?我变得非常沮丧,文档看似合理,但没有简单的例子说明我是如何使用木偶的,我会完全卡住。
答案 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这样做,但似乎必须有更好的方法。