Thanks for the answers guys, I agree that Authorization Services API is
not feasible in many cases. However I did make sure that daemon that runs
as root has very minimal to do and hopefully well written code that is not
exploitable. My only worry was that the code I wrote for root daemon was
using CoreFoundation and later replaced with Foundation APIs as they lot
easier to code and maintain. I saw few people warning against that as
there might be some bugs in Foundation API that could exploit my daemon
and gain root access. While that is very much a possibility, I was hoping
that such issues would be addressed very quickly by Apple? No?

Regards,
Varun

On 4/04/2014 4:07 pm, "Kyle Sluder" <k...@ksluder.com> wrote:

>On Apr 3, 2014, at 9:54 PM, Jens Alfke <j...@mooseyard.com> wrote:
>> 
>> 
>>> On Apr 3, 2014, at 7:47 PM, Varun Chandramohan
>>><varun.chandramo...@wontok.com> wrote:
>>> 
>>> I understand what you mean, but are you saying that I should not use
>>>any Foundation library functions when running as root user?
>> 
>> I¹m saying you shouldn¹t run *anything*, Foundation or not, as root
>>unless there is a very good reason to.
>> 
>>> There are sometimes needs to have super user permission, how do we
>>>address that? I mean, lets say we need to add a rule in fw (ipfw) which
>>>requires to be root user right?
>> 
>> That¹s exactly what the Authorization Services API is for ‹ letting a
>>normal process request the ability to temporarily do something with root
>>privileges. You see it all the time, whenever an app pops up a ³This app
>>needs to do such-and-such, please enter an administrator password² panel.
>
>A process cannot elevate its own privileges to root level, even
>temporarily. So doing anything that requires root privileges necessarily
>requires running an entire process as root.
>
>Varun, you should create a separate setuid process that does the
>_absolute minimum_ amount of work that can be encapsulated under root
>privileges. This process should be launched by your non-setuid main
>process via Authorization Services.
>
>--Kyle Sluder


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to