【问题标题】:Puppet and Windows directory permissionsPuppet 和 Windows 目录权限
【发布时间】:2014-08-01 19:08:19
【问题描述】:

我无法相信 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,还是我只是使用了错误的工具来完成这项工作?我变得非常沮丧,文档似乎很合理,但是没有简单的例子说明我如何尝试使用 puppet,我完全陷入了困境。

【问题讨论】:

    标签: windows permissions puppet


    【解决方案1】:

    你检查了吗

    https://forge.puppetlabs.com/puppetlabs/acl 从他们的文档中,您可以执行类似的操作..

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

    【讨论】:

    • 我不知道这一点。我很快就会检查出来。暂时支持你让我知道,我会等待接受答案,直到我有机会验证它。谢谢。
    • @Jared 你有机会验证一下吗? puppetlabs.com/blog/… 也有一篇文章解释了 ACL 模块。
    【解决方案2】:

    我想出了一个解决方案,似乎是通过钝器创伤进行系统管理:

    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,
    }
    

    这提供了 myUser 和 SYSTEM 访问权限,我认为一般来说我也可以对 USERS 执行此操作,但似乎必须有更好的方法。

    【讨论】:

      猜你喜欢
      • 2015-06-05
      • 1970-01-01
      • 1970-01-01
      • 2011-08-03
      • 2017-01-15
      • 2017-11-03
      • 1970-01-01
      • 1970-01-01
      • 2011-03-26
      相关资源
      最近更新 更多