web-dev-qa-db-ja.com

Puppetでユーザーアカウントを作成しますか?

Puppetを使い始めたばかりで、テスト用のsite.ppファイルに次のコードが含まれています。

class { 'account': {
  'danny':
     home_dir => '/home/danny',
     groups   => [ 'Sudo', 'users' ],
     password => 'password'
  }
}

Puppet Forgeの account モジュールを使用しようとしています。モジュールが正しくインストールされていることを確認しました。

上記のコードを使用した場合のエラーは次のとおりです。

エラー:リモートサーバーからカタログを取得できませんでした:サーバーでエラー400:環境のプロダクションを解析できませんでした: '{'で構文エラー。ノードtestpuppet.domain.ioの/etc/puppet/manifests/site.pp:12で '}'が必要です警告:失敗したカタログでキャッシュを使用していませんエラー:カタログを取得できませんでした。スキップラン

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 module:

class { 
  '::ntp': 
  servers => [ 
    '0.uk.pool.ntp.org', 
    '1.uk.pool.ntp.org', 
    '2.uk.pool.ntp.org', 
    '3.uk.pool.ntp.org' 
  ], 
}

アカウントモジュールを使用するための正しい構文は何ですか?

3
dannymcc

クラスには任意の名前を付けることができますが、リソースには正しい名前を使用する必要があります。この場合、使用したいリソースは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は resource abstraction layer 、略してRALに関する非常に優れたドキュメントを持っています。

10
dawud

私は人形使いではありませんが、あなたは比類のない{をサンプルに含めます。 classに1つの開き中かっこがあり、accountにもう1つの中かっこがありますが、アカウントの中かっこを閉じることはできません。

2
MDMarra