Hi There,
Rather than building out files dynamically, have you considered possibly 
deploying snippets of sudoers configuration out to nodes using the 
/etc/sudoers.d/ framework that is available on many operating systems ?

This can be easily handled using the File type and applied to nodes as 
required / classified.

However, it may not offer the flexibility you require.

K

On Tuesday, December 18, 2012 1:55:54 PM UTC, cncook001 wrote:
>
> I have a manifest like this
>
> class sudoer::spectrum {
>
>     augeas { "sudoer_spectrum_cmdalias":
>         context => "/files/etc/sudoers",
>         changes => [
>             "set Cmnd_Alias[alias/name = 'SPECTRUM_CMDS']/alias/name 
> SPECTRUM_CMDS",
>             "set Cmnd_Alias[alias/name = 'SPECTRUM_CMDS']/alias/command[1] 
> '/bin/mount -o loop,ro /opt/CA/iso/* /opt/iso/spectrum/*'",
>             "set Cmnd_Alias[alias/name = 'SPECTRUM_CMDS']/alias/command[2] 
> '/bin/umount /opt/iso/spectrum/*'",
>         ],
>     }
>
>     augeas { "sudoer_spectrum":
>         context => "/files/etc/sudoers",
>         changes => [
>             "set spec[user = 'spectrum']/user spectrum",
>             "set spec[user = 'spectrum']/host_group/host ALL",
>             "set spec[user = 'spectrum']/host_group/command/runas_user 
> root",
>             "set spec[user = 'spectrum']/host_group/command/tag NOPASSWD",
>             "set spec[user = 'spectrum']/host_group/command SPECTRUM_CMDS",
>         ],
>     }
>
> }
>
> But this fails.
>
> The "loop,ro" upsets things.
>
> I also tried this
>
>             "set Cmnd_Alias[alias/name = 'SPECTRUM_CMDS']/alias/command[1] 
> '/bin/mount -o loop\,ro /opt/CA/iso/* /opt/iso/spectrum/*'",
>
> But the \ is passed through to the client file.
>
> Cmnd_Alias SPECTRUM_CMDS = /bin/mount -o loop\,ro /optCA/iso/* 
> /opt/iso/spectrum/* , /bin/umount /opt/iso/spectrum/*
>
>
> I see something called sep_com used with augeas, but I am not clear on how 
> to use it.
>
> If I remove the ",ro" the sudoers file is upated on the client, but 
> without the "ro", the mount command fails.
>
> How do I put a , in the middle of the line?  Or, how do I add a : in the 
> middle of the line as well, like this
>
>             "set Cmnd_Alias[alias/name = 'SPECTRUM_CMDS']/alias/command[3] 
> '/bin/chown -R spectrum:spectrum /opt/iso/spectrum/*'",
>  
> Or, do I need to rethink how to update sudoers files?
>
> Thanks
>
> Craig
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/tvUvPwLyekMJ.
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