I have about 30 dev. and operation users on my machines, is there a recipe anywhere for doing this? The best practices doc on the wiki is incomplete and confusing. Also, any workaround for the ssh_authorized_key bug in 24.8? All I really want to do is create users, home directories and put ssh keys in them, but it tries to add the keys first, so it doesn''t work. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---
+------------------------------------------------------------------------------ | On 2009-08-04 07:36:26, Mike Harding wrote: | | I have about 30 dev. and operation users on my machines, is there a | recipe anywhere for doing this? The best practices doc on the wiki is | incomplete and confusing. | | Also, any workaround for the ssh_authorized_key bug in 24.8? All I | really want to do is create users, home directories and put ssh keys | in them, but it tries to add the keys first, so it doesn''t work. You didn''t show us what you''re doing, I don''t think. Code, please. :) Personally, I have a class per user. Each of that user''s files are managed in that class. e.g., class fakeuser { user { fakeuser: allowdupe => false, comment => "FAKE USER", ensure => present, uid => 9999, gid => 9999, shell => "/bin/bash", home => "$HOME/fakeuser", groups => [ "axle" ], membership => minimum, require => [ Group["fakeuser"], Group["axle"] ], } group { fakeuser: allowdupe => false, ensure => present, gid => 9999, } file { "$HOME/fakeuser": source => "$fileserver/public/home/fakeuser", recurse => true, require => [ User["fakeuser"], Group["fakeuser"] ], owner => fakeuser, group => fakeuser; } } Any other files in their dir would then require => [ User["fakeuser"], Group["fakeuser"], File["$HOME/fakeuser"] ], or what have you. Users are then grouped in different classes (generic for all users, dev for development, etc) which are included on the appropriate node, or service class, depending. My Puppet install is very old and requires refactory. I''m sure I should be using something better, like User::fakeuser or something. :) Cheers. -- bda cyberpunk is dead. long live cyberpunk. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---
Defines seem to be more like what you are after... Something like: # Use the type object to define anything that doesn''t change... User { shell => "/bin/bash", schedule => daily } # Then a define with the stuff you want... # Assuming $HOME and $fileserver are defined somewhere accessible... define active_user($uid, $gid, $gecos) { user { "$title": comment => "$gecos", uid => $uid, gid => $gid ensure => present, home => "$basehomedir/$title", managehome => true, require => Group[$gid] } group { $title: allowdupe => false, ensure => present, gid => $gid, schedule => weekly } file { "$HOME/$title": source => "$fileserver/public/home/$title", recurse => true, require => [ User[$title], Group[$title] ], owner => $title, group => $title; } } # Then all you should need is something like: active_user{ "fakeuser": uid => 1234, gid => 1234, gecos => "Fake User" } This is a quick go at your issue off the top of my head... You might want to check it over a bit before using it... Also, for the ssh_authorised_keys - behaviour for that was changed in 0.24.8 - you now need to specify the file to put the key into. For example: ssh_authorized_key { "keyname": ensure => present, key => "...", type => "ssh-rsa", user => "smeg", target => "$basehomedir/$user/.ssh/authorized_keys", } Hope that helps... On Aug 5, 8:04 am, Bryan Allen <b...@mirrorshades.net> wrote:> +------------------------------------------------------------------------------ > | On 2009-08-04 07:36:26, Mike Harding wrote: > | > | I have about 30 dev. and operation users on my machines, is there a > | recipe anywhere for doing this? The best practices doc on the wiki is > | incomplete and confusing. > | > | Also, any workaround for the ssh_authorized_key bug in 24.8? All I > | really want to do is create users, home directories and put ssh keys > | in them, but it tries to add the keys first, so it doesn''t work. > > You didn''t show us what you''re doing, I don''t think. Code, please. :) > > Personally, I have a class per user. Each of that user''s files are managed in > that class. e.g., > > class fakeuser { > user { fakeuser: > allowdupe => false, > comment => "FAKE USER", > ensure => present, > uid => 9999, > gid => 9999, > shell => "/bin/bash", > home => "$HOME/fakeuser", > groups => [ "axle" ], > membership => minimum, > require => [ Group["fakeuser"], Group["axle"] ], > } > > group { fakeuser: > allowdupe => false, > ensure => present, > gid => 9999, > } > > file { > "$HOME/fakeuser": > source => "$fileserver/public/home/fakeuser", > recurse => true, > require => [ User["fakeuser"], Group["fakeuser"] ], > owner => fakeuser, > group => fakeuser; > } > > } > > Any other files in their dir would then > > require => [ User["fakeuser"], Group["fakeuser"], File["$HOME/fakeuser"] ], > > or what have you. > > Users are then grouped in different classes (generic for all users, dev for > development, etc) which are included on the appropriate node, or service class, > depending. > > My Puppet install is very old and requires refactory. I''m sure I should be > using something better, like User::fakeuser or something. :) > > Cheers. > -- > bda > cyberpunk is dead. long live cyberpunk.--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---
ssah_authorized_keys bug is fixed on 0.25rc1 http://projects.reductivelabs.com/issues/2487 Cheers On Aug 4, 4:36 pm, Mike Harding <mvhard...@gmail.com> wrote:> I have about 30 dev. and operation users on my machines, is there a > recipe anywhere for doing this? The best practices doc on the wiki is > incomplete and confusing. > > Also, any workaround for the ssh_authorized_key bug in 24.8? All I > really want to do is create users, home directories and put ssh keys > in them, but it tries to add the keys first, so it doesn''t work.--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---