Re: [MacRuby-devel] Admin privileges / Authorization Framework

2013-04-08 Thread Mario Steele
Hey Jeff,

While this is probably not the MacRuby way, this is the Linux Ruby way, and
should translate over well to Mac OS X.  To have your script run as Root,
you simply do the following:

if Process::UID.euid != 0 || Process::UID.rid != 0
  # Prompt for Password here with a Custom GUI
  `sudo #{__FILE__}  echo #{password}`
  # OR if your not totally oblivious to using osascript to launch your Ruby
App
  #`osascript -e do shell script #{__FILE__} with administrator
privileges`
  exit!
end

But I don't know if this would work with MacRuby's setup.  Haven't really
messed with it in a while.

hth,

Mario


On Mon, Apr 8, 2013 at 2:08 PM, Jeff Dyck fsjj...@gmail.com wrote:

 Hey all, I'm desperately hoping for some help here...

 I'm a System Admin for a School District with thousands of Macs.  In the
 past I developed an AppleScript Studio application that our technicians
 used to backup and restore user accounts when we do system migrations and
 image updates (basically rsync with some internal logic to filter out files
 that might conflict).

 Anyway, with AppleScript Studio long deprecated, we're starting to see
 some issues with it running on 10.8, so I've started working on a
 replacement in MacRuby (which I've started to move to for other
 development)... I love Ruby vs the pain of AppleScript, especially for
 things like dealing with xml and whatnot, but I'm running into one HUGE
 challenge...

 My app requires admin privileges to backup and restore user accounts and
 restore permissions.  In AppleScript Studio this was relatively simple to
 do using the do shell script with admin privs' command.  In MacRuby
 I'm stumped.

 I've dug in a bit into the Authorization framework, and looked at some of
 Apple's documentation for splitting your app into helper tools... but it's
 difficult enough to follow the Obj-C stuff, migrating that to Ruby is
 probably over my head.

 So long story short, anyone have some samples of how to do this with
 MacRuby?  I'd need to be able to do things like:
 • Calculate size of folders and count of files in another user
 account (and get result back)
 • Send an RSYNC command as admin (and get feedback for calculating
 progress)

 Here's hoping someone can point me in the right direction. Thanks in
 advance.

 Jeff
 ___
 MacRuby-devel mailing list
 MacRuby-devel@lists.macosforge.org
 https://lists.macosforge.org/mailman/listinfo/macruby-devel




-- 
Mario Steele
Fleet Captain
CO - Geo 99
CO - USS T'hy'la
XO - Diplomatic Corps - Second Life
http://www.iftcommand.com/chapters/thyla/
http://www.trekfederation.com
___
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macruby-devel


Re: [MacRuby-devel] Admin privileges / Authorization Framework

2013-04-08 Thread Steen Klingberg
Jeff,

to run commands with admin rights without password, you can do it the unix
way. Run sudo visudo and add something like this:

steen ALL=(ALL) NOPASSWD: /usr/bin/du

then from ruby you can run the command without needing a password:

steen$ macirb
irb(main):001:0 spawn 'sudo du -s -m /Users/rebecka'
= 15088
irb(main):002:0 394 /Users/rebecka

/Steen

On Mon, Apr 8, 2013 at 8:08 PM, Jeff Dyck fsjj...@gmail.com wrote:

 Hey all, I'm desperately hoping for some help here...

 I'm a System Admin for a School District with thousands of Macs.  In the
 past I developed an AppleScript Studio application that our technicians
 used to backup and restore user accounts when we do system migrations and
 image updates (basically rsync with some internal logic to filter out files
 that might conflict).

 Anyway, with AppleScript Studio long deprecated, we're starting to see
 some issues with it running on 10.8, so I've started working on a
 replacement in MacRuby (which I've started to move to for other
 development)... I love Ruby vs the pain of AppleScript, especially for
 things like dealing with xml and whatnot, but I'm running into one HUGE
 challenge...

 My app requires admin privileges to backup and restore user accounts and
 restore permissions.  In AppleScript Studio this was relatively simple to
 do using the do shell script with admin privs' command.  In MacRuby
 I'm stumped.

 I've dug in a bit into the Authorization framework, and looked at some of
 Apple's documentation for splitting your app into helper tools... but it's
 difficult enough to follow the Obj-C stuff, migrating that to Ruby is
 probably over my head.

 So long story short, anyone have some samples of how to do this with
 MacRuby?  I'd need to be able to do things like:
 • Calculate size of folders and count of files in another user
 account (and get result back)
 • Send an RSYNC command as admin (and get feedback for calculating
 progress)

 Here's hoping someone can point me in the right direction. Thanks in
 advance.

 Jeff
 ___
 MacRuby-devel mailing list
 MacRuby-devel@lists.macosforge.org
 https://lists.macosforge.org/mailman/listinfo/macruby-devel




-- 
Steen Klingberg
Senior Consultant
Steen Klingberg AB
Phone: +46730599063
___
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macruby-devel