> -----Ursprüngliche Nachricht-----
> Von: puppet-users@googlegroups.com [mailto:puppet-
> us...@googlegroups.com] Im Auftrag von jcbollinger
> Gesendet: Donnerstag, 8. September 2011 15:45
> An: Puppet Users
> Betreff: [Puppet Users] Re: Avoid user creation/deletion possible?
> 
> 
> 
> On Sep 8, 3:58 am, Bernd Adamowicz <bernd.adamow...@esailors.de>
> wrote:
> > Hi all,
> >
> > is there a way to avoid changing the state (present/absent) of a
> user? In my case I just want to do a kind of 'check' if the user is
> present. If so, I will do some file-resource stuff on him. If not,
> nothing should be done at all.
> >
> > Example:
> >
> > # create the user resource
> > user { 'someuser':
> >   ...
> >
> > }
> >
> > # copy file if user exists
> > # do nothing if not
> > file { "/home/someuser/.bashrc":
> >   require => "someuser",
> >   ...
> >
> > }
> >
> > Obviously I cannot use 'ensure => present|absent' for the user, since
> this would change its state. And I'm not sure if it's OK just to omit
> the 'ensure' attribute. Any ideas?
> 
> 
> You could write a custom fact that extracts all the system user names
> (or all the names of /home subdirectories, or ...) and use that to
> drive your resource management.  You could then do something like the
> following:
> 
> # Split the custom fact value into an array
> $user_array = split($::users_i_care_about, ' ')
> 
> # Declare the desired resources for each user:
> my_user_stuff { $user_array:
>   # parameters of the my_user_stuff type, if needed
> }
> 
> define my_user_stuff () {
>   # $name is the name of the resource instance
>   file { "/home/${name}/.bashrc":
>     ensure => file,
>      # ...
>   }
> 
>   # other resources for this user as needed ...
> }
> 
> 
> That has a bit of code smell to my nose, though, mostly around the
> fact that you don't know what users are actually supposed to be
> defined (which in turn is why a custom fact is involved).  You could
> do the same job with a shell script launched periodically by cron, and
> I think I would prefer that myself.  But I would use Puppet to create
> and manage the crontab entry.
> 
> 
> John
> 
> --
> 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+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/puppet-users?hl=en.

I'm already thinking about your suggestions. If I do it this way, I'll post the 
results here.
Thanks, John!

-- 
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+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to