]> gitweb.fluxo.info Git - puppet-user.git/commitdiff
Managing user's .ssh folder
authorSilvio Rhatto <rhatto@riseup.net>
Wed, 30 Jan 2013 19:07:06 +0000 (17:07 -0200)
committerSilvio Rhatto <rhatto@riseup.net>
Wed, 30 Jan 2013 19:07:06 +0000 (17:07 -0200)
manifests/init.pp

index 55a803bb1e08fcca39f1682468ef4f60bfd8ec69..edfc71d367edd8d14ba4f1cf990dab07ca0477a0 100644 (file)
@@ -142,13 +142,32 @@ class user {
       # http://projects.reductivelabs.com/issues/2020
       # http://groups.google.com/group/puppet-users/browse_thread/thread/131bc7cdc507e3c8/6b61dbcd0b6a68b5?lnk=raot
       if $sshkey != 'absent' {
+        file { "${real_homedir}/.ssh":
+          ensure => directory,
+          owner  => $title,
+          mode   => 0700,
+        }
+
+        case $gid {
+          'absent','uid': {
+            File["${real_homedir}/.ssh"]{
+              group => $name,
+            }
+          }
+          default: {
+            File["${real_homedir}/.ssh"]{
+              group => $gid,
+            }
+          }
+        }
+
         ssh_authorized_key { "$title":
           ensure  => $ensure,
           key     => $sshkey,
           user    => $title,
           type    => $real_sshkey_type,
           target  => "$real_homedir/.ssh/authorized_keys",
-          require => User["$title"],
+          require => [ User["$title"], File["${real_homedir}/.ssh"] ]
         }
       }
     }