diff options
-rw-r--r-- | manifests/init.pp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/manifests/init.pp b/manifests/init.pp index 55a803b..edfc71d 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -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"] ] } } } |