Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problems running a shell script as root



Do you mean AuthorizationCreate and AuthorizationCopyRights???

I have done these just didn't include them in the mail. Please correct me if I am wrong but I dont' see anything other than what I have already done in the document "Performing Privileged  Operations With Authorization Services"

-----------
//creating AuthorizationRef without privileges.

OSStatus status;
  status = AuthorizationCreate(NULL, kAuthorizationEmptyEnvironment, kAuthorizationFlagDefaults, &authRef_);

- (BOOL)getAuthorizationRef {
  AuthorizationItem myItems = {kAuthorizationRightExecute, 0, NULL, 0};
  AuthorizationRights myRights = {1, &myItems};
  AuthorizationFlags flags = kAuthorizationFlagDefaults |
        kAuthorizationFlagInteractionAllowed |
        kAuthorizationFlagPreAuthorize |
        kAuthorizationFlagExtendRights;
  
  OSStatus status;                                                      

  status = AuthorizationCopyRights(authRef_, &myRights, kAuthorizationEmptyEnvironment, flags, NULL);
  
  if (status != errAuthorizationSuccess) {
    return NO;
  }
  
  return YES;
}

-----------------------------------------

DG
Brian Smith <email@hidden> wrote: 
On Jul 27, 2007, at 11:26 AM, deepak gopal wrote:

> I am using AuthorizationExecuteWithPrivileges to run a shell script  
> which needs root privileges. I can execute the shell scripts as a  
> local user, but can't  run scripts which need root privileges.
> I read through many doc's on the net and the guides in  
> developer.apple.com since yesterday, and haven't found an answer yet.
>
> Please advice.
>
> -------------  the code --------------------------
> AuthorizationRef authRef_;
> NSString *pathToTool = @"/bin/sh";
> NSString *filePath3 = @"~/Desktop/AUTOscript/loadApp.sh";
>
>   argsArray3[0] = "-p";
>   argsArray3[1] = (char *)[[filePath3 stringByExpandingTildeInPath]  
> fileSystemRepresentation];
>   argsArray3[2] = NULL;
>
> OSStatus status3 = AuthorizationExecuteWithPrivileges(authRef_,  
> [pathToTool UTF8String], 0, argsArray3 , NULL);
>
>

You have created an empty AuthorizationRef structure without getting  
any authorization data or actually authorizing the operation. Look at  
the "Authorization Services C Reference" or "Performing Privileged  
Operations With Authorization Services" documents on how to do this.

Brian
_______________________________________________

Cocoa-dev mailing list (email@hidden)

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:
http://lists.apple.com/mailman/options/cocoa-dev/email@hidden

This email sent to email@hidden


       
---------------------------------
 DELETE button is history. Unlimited mail storage is just a click away.
_______________________________________________

Cocoa-dev mailing list (email@hidden)

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:
http://lists.apple.com/mailman/options/cocoa-dev/email@hidden

This email sent to email@hidden

References: 
 >Re: Problems running a shell script as root (From: Brian Smith <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.