2012-03-03 91 views
0

我试图做一个Ubuntu 10.04以下使用木偶: 木偶用户ID值和封装

  1. 复制,我必须将特定用户/组拥有的特定目录中的文件因为包尚未安装
  2. 安装包,它不会删除我创建

为了完成项目#1目录和文件尚不存在,我基本上告诉木偶创建一个用户并在复制之前先分组文件。但问题是,如果我没有为Puppet提供特定的uid,它会随机为用户选择一个数字,而不是系统包的数字。

那么,我该如何告诉Puppet选择一个超过1000的uid?

如果这是不可能的,我该如何告诉Puppet在安装时不要启动它。所以我只是让Puppet安装软件包,但不启动服务,然后复制我的文件,然后我将启动服务。

回答

1

用户类型具有system =>参数,该参数默认为false,但可以设置为true。这将生成一个UID低于500的用户。这似乎是你想要的。

最终你会想在我看来做的事情是通过puppet管理配置目录和配置。

这给你做的事情像这样的能力:

package { foo: ensure => present } 

file { 
    fooconfdir: 
    path => '/path/to/fooconfdir', 
    ensure => directory, 
    user => whatev, 
    group => alsowhatev, 
    require => Package[foo], 
    mode => morewhatev; 
    fooconf: 
    path => '/path/to/fooconfdir/fooconf', 
    ensure => present, 
    user => whatev, 
    content => template('whatev'); 
} 

service { foo: ensure => running, enable => true, subscribe => File[fooconf] } 

什么,会做,是安装你的包,那么管理的配置,然后重新启动这显然会使用新的配置上重新启动该服务。