• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Helper Tool on FireWire
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Helper Tool on FireWire


  • Subject: Re: Helper Tool on FireWire
  • From: "Gerriet M. Denkmann" <email@hidden>
  • Date: Sun, 25 Jun 2006 10:14:37 +0200


On 25 Jun 2006, at 01:32, Damien Sorresso <email@hidden> wrote:

On 24 Jun, 2006, at 3:33 PM, Gerriet M. Denkmann wrote:
I have an app which uses a small helper tool which runs setuid root.
Everything works perfectly.

But if the computer boots from some partition A and the helper tool
resides on some partition B (A != B) and if B is accessed via FireWire
it just doesn't work.


Normally I get something like this:
2006-06-24 11:22:16.875 Test Helper[857] path:    /tmp/Test Helper
2006-06-24 11:22:16.879 Test Helper[857] owner:   root (0)
2006-06-24 11:22:16.880 Test Helper[857] rights:  4555
2006-06-24 11:22:16.880 Test Helper[857] geteuid: 0    Ok

But when "Test Helper" is on some FireWire partition I get:
2006-06-24 11:20:37.040 Test Helper[851] path:    /Volumes/FireWire
Disk/tmp/Test Helper
2006-06-24 11:20:37.043 Test Helper[851] owner:   root (0)
2006-06-24 11:20:37.043 Test Helper[851] rights:  4555
2006-06-24 11:20:37.044 Test Helper[851] geteuid: 502  Error

This might be a bug or a security feature or I might be doing
something very stupid.

But: is there a way to make this FireWire partition behave like an
internal disk? (Finder -> Info has a switch "Ignore ownership on
this volume" which is NOT checked).

[...]

And: how can I know whether a directory resides on a FireWire
partition?

I don't believe that you can run privileged tools from external volumes. What you could do is, if you know your tool is going to be on an external volume, have it copy itself to somewhere like the user's Application Support directory, launch that copy and have it do a self-repair and then continue on with its execution as normal.

This is what I am doing: copying to the user's Application Support directory and self-repairing. Only: the users home directory resides on a FireWire partition.



And: is there some folder which is guaranteed to reside on the boot
partition? Like /private/tmp - but this might be a symbolic link
pointing to some other partition.

The only guarantee is /System, really. You could have /Library, / Applications or practically anything sym-linked to another location. (My /Users directory is just a sym-link to a separate partition, for example.) Of course, / is also guaranteed to be on the boot partition. ;)

Why does your tool need to run from the boot partition?

It does not. But it needs to run setuid root, and this seems not to work on FireWire-non-boot-partitions.


Kind regards

Gerriet.

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Helper Tool on FireWire
      • From: "Finlay Dobbie" <email@hidden>
  • Prev by Date: Re: Bound NSBrowser always shows horizontal scrollbar
  • Next by Date: Re: how do I determine if this is the first time the app is launched?
  • Previous by thread: Re: Helper Tool on FireWire
  • Next by thread: Re: Helper Tool on FireWire
  • Index(es):
    • Date
    • Thread