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... -- (reverse (concatenate 'string "ofni.sailifa.ac" "@" "enworbbc")) <http://dba2.int.libertyrms.com/> Christopher Browne (416) 673-4124 (land) _______________________________________________ Help-cfengine mailing list Help-cfengine@gnu.org http://lists.gnu.org/mailman/listinfo/help-cfengine