help-cfengine
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Determining user ID


From: Paul Krizak
Subject: Re: Determining user ID
Date: Tue, 20 Dec 2005 16:32:51 -0600
User-agent: Mozilla Thunderbird 1.0.7 (X11/20050923)

You could do something like:

groups:
pgonedatabaseuser = ReturnsZero(/bin/sh -c ${dblquote}/usr/bin/whoami | grep -q pgonedatabaseuser${dblquote}) pganotherdatabaseuser = ReturnsZero(/bin/sh -c ${dblquote}/usr/bin/whoami | grep -q pganotherdatabaseuser${dblquote})

(apologies for nasty e-mail wrapping)

Paul Krizak                         5900 E. Ben White Blvd. MS 625
Advanced Micro Devices              Austin, TX  78741
Linux/Unix Systems Engineering      Phone: (512) 602-8775
Microprocessor Solutions Sector


Christopher Browne wrote:
I've got a scenario where I'll need to run a cfengine script as
various users, and then do different actions based on the user name.
(No, no, can't use root; that is verboten by Powers That Be...)

For instance...  I have users pgonedatabaseuser,
pganotherdatabaseuser, pgyetanotherdatabaseuser.

I can write a nice tidy tidy section thus:

tidy:
  pgonedatabaseuser.onedatabase::
    /path/to/onedatabase
       pattern=pg_*.log
       age=$(pglogage)

  pganotherdatabaseuser.anotherdatabase::
    /path/to/anotherdatabase
       pattern=pg_*.log
       age=$(pglogage)

  pgyetanotherdatabaseuser.yetanotherdatabase::
    /path/to/yetanotherdatabase
       pattern=pg_*.log
       age=$(pglogage)

The trouble, at this point, is creating the
pgonedatabaseuser/pganotherdatabaseuser/pgyetanotherdatabaseuser
groups.

The best guess is something like:

control:
   tempusername = ( ExecResult(/usr/bin/whoami) )

groups:
   pgonedatabaseuser        = ( StrCmp(${tempusername}, "pgonedatabaseuser"))
   pganotherdatabaseuser    = ( StrCmp(${tempusername}, 
"pganotherdatabaseuser"))
   pgyetanotherdatabaseuser = ( StrCmp(${tempusername}, 
"pgyetanotherdatabaseuser"))

But apparently the groups are defined before tempusername gets defined.

There has got to be some better way that I'm not thinking of...





reply via email to

[Prev in Thread] Current Thread [Next in Thread]