summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--manifests/init.pp21
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"] ]
}
}
}