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 -~----------~----~----~----~------~----~------~--~---