Puppet
使用 Puppet 創建使用者帳戶?
我剛剛開始使用 Puppet,我的測試 site.pp 文件中有以下程式碼:
class { 'account': { 'danny': home_dir => '/home/danny', groups => [ 'sudo', 'users' ], password => 'password' } }
我正在嘗試使用 Puppet Forge 的帳戶模組。我檢查了模組是否安裝正確。
使用上述程式碼時給出的錯誤是:
錯誤:無法從遠端伺服器檢索目錄:伺服器上的錯誤 400:無法解析環境生產:“{”處的語法錯誤;/etc/puppet/manifests/site.pp:12 節點 testpuppet.domain.io 上的預期“}”警告:未在失敗的目錄上使用記憶體錯誤:無法檢索目錄;跳過跑步
site.pp 的第 12 行是:
class { 'account': {
該文件提供了以下範例:
account { 'sysadmin': home_dir => '/opt/sysadmin', groups => [ 'sudo', 'users' ], ssh_key => 'AAAAB3NzaC1yc2EAAAABIwAAAQEArfQmMkvtWRnwas3DIti9qAuSFQXKcE0kdp5f42PP8l2kTytJPPWp5T/q8PXDQ2d2X5KplMCMDiUQkchqhmDp840jsqBQ9iZPejAjv3w2kITgScFNymAcErtzX52iw4lnUyjZzomCW8G3YthQMaRm2NkI4wcVcjzq+SKyTfzrBoH21RgZlfcx+/50AFRrarpYqel9W5DuLmmShHxD8clPS532Z/1X+1jCW2KikUhdo98lxYTIgFno05lwFOS9Ry89UyBarn1Ecp1zXpIBE7dMQif3UyLUTU9zCVIoZiJj4iO5lemSSV0v8GL97qclBUVJpaCpc4ebR7bhi0nQ28RcxQ==', comment => 'SysAdmin user', }
我正在使用的所有其他模組都在一個類中,例如 NTP 模組:
class { '::ntp': servers => [ '0.uk.pool.ntp.org', '1.uk.pool.ntp.org', '2.uk.pool.ntp.org', '3.uk.pool.ntp.org' ], }
使用 account 模組的正確語法是什麼?
您可以根據需要命名您的類,但您需要為資源使用正確的名稱。在這種情況下,您要使用的資源是
user
.有一種非常簡單的方法可以了解資源的外觀:
$ puppet resource user dawud user { 'dawud': ensure => 'present', comment => 'David Sastre Medina,,,', gid => '1001', groups => ['sudo', 'audio', 'src', 'video', 'libvirt'], home => '/home/dawud', shell => '/bin/bash', uid => '1001', }
該程式碼在一個類中看起來如下:
class foo { user { 'dawud': ensure => 'present', comment => 'David Sastre Medina,,,', gid => '1001', groups => ['sudo', 'audio', 'src', 'video', 'libvirt'], home => '/home/dawud', shell => '/bin/bash', uid => '1001', } }
Puppetlabs 有一個非常好的關於資源抽象層的文件,簡稱 RAL。