無法在虛擬用戶中使用群組

無法在虛擬用戶中使用群組

我正在嘗試在木偶中設定一些虛擬用戶。基本使用者工作正常,但由於某種原因,當我嘗試將“群組”新增至使用者定義時,運行失敗。

這是基本的虛擬用戶配置...

class users::virtual {
    define localuser ($uid,$gid) {

            user { $title:
                    ensure  =>      "present",
                    uid     =>      $uid,
                    gid     =>      $gid,
                    shell   =>      "/bin/bash",
                    home    =>      "/home/$title",
                    comment =>      $realname,
                    managehome =>   true,
            }
      }
}

這是一個用戶喊出的...

class my::users {
include users::virtual
    @users::virtual::localuser { "jdehnert": 
    uid =>  "504",
    gid =>  "users",
    groups  =>  ["wheel", "rvm"],
    require =>  Group["rvm"],
    }
}

init.pp 是...

class people {
include my::users
realize (
    Users::Virtual::Localuser["jdehnert"],
    )
}

當我在客戶端上執行測試 --noop 時,我在客戶端上收到此訊息...

# puppetd --test --noop
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid parameter groups at /etc/puppet/manifests/users/users.pp:7 on node dev-web-1.

還有伺服器上的這個...

Aug 23 04:29:38 centos63 puppet-master[21713]: Invalid parameter groups at /etc/puppet/manifests/users/users.pp:7 on node dev-web-1

如果我拉出「groups」線,這個設定就可以正常運作。

我還發現,如果我只是創建一個普通的用戶資源,我可以很好地傳遞“groups”參數。那麼,為什麼它不適用於虛擬使用者呢?

謝謝,

詹姆斯「澤克」德納特
[電子郵件受保護]

答案1

你在這裡誤解了一些東西:

@users::virtual::localuser { "jdehnert": 
uid =>  "504",
gid =>  "users",
groups  =>  ["wheel", "rvm"],
require =>  Group["rvm"],
}

上面你宣告了 a localuser,它的定義如下:

define localuser ($uid,$gid) {

這意味著僅有的它接收的參數是uidgid元參數(例如require)。由於groups不是元參數,顯然也不是uidgid,所以它是無效的。

相關內容