-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use OS X sandbox to limit installations to the current source tree. #939
Comments
If I understand correctly (and please do flame if I don't), when I do this:
the 'pod' process should be able to write to This is tricky™. Because 'pod' isn't a Cocoa app, you can't sign it with sandboxing entitlements (and the Mac App sandbox wouldn't support this case anyway). So you have to look lower level, to the seatbelt access control system. …the problem here is that there are only a handful of default profiles for seatbelt, none of which fit this use case. While you can write custom profiles, it's an undocumented format that Apple warn is subject to change at any time and should not be used. I'd consider that sufficient warning to stay away from doing it. …oh, you're still reading? :-D OK, so you want to look at the scripts in
Though as I say this is fragile. |
You understood it perfectly. Thanks a lot for your time. Regarding the warning about this being an undocumented format, we will take it very serious. Luckily we have the advantage that we don’t have to run in the sandbox. So we can enable it by default, but if a OS update would suddenly change the format people can still run the tool with Ok, that looks pretty simple, I’m looking forward to banging my head over this for a couple of evenings :D |
Ok, I couldn’t stop myself from playing with this last night, so I now have a somewhat working version. With this profile I am able to run normal installations and the example building on the OS X Travis workers works as expected. However, a current issue is with, for instance, the HockeySDK spec, which uses
/var/log/system.log:
|
Just tried
Oh, BTW, I have RVM installed… |
@xslim Thanks. I’ve seen that one too. I’m thinking it might have to do with finding the user's HOME dir, but for now I haven’t seen any failures because of it, so I’m inclined to leave it be. |
Having an issue with 0.20.1 and sandbox-pod:
I'm using default OS X's ruby and once I used And there's nothing special in /var/log/system.log after that error. Good old |
@Corristo Just released 0.20.2, please try if that fixes your issues. |
@alloy works like a charm, thanks |
Add Mixpanel 1.0.5
Issue has been confirmed by @neonichu |
Superseded by #2848. |
Note: Updated original ticket to show TODOs instead.
The current version of the bin wrapper can be found here.
Script TODOs
xcodebuild
for resources bundles work. Currently this failsbecause it wants to use FSEvents on the root path
/
. (See comment below.)bsd.sb
.literal
paths where possible, instead ofregex
.git
,svn
, andhg
to work when they might be somewhere in a non-standard prefix?
limit
git
to only those directories where any git operations should beperformed, while allowing
xcodebuild
access to more directories.network-outbound
andaccess to the user home directory.
appledoc
requires Apple Events and iirc, from aCoreInt episode, this is damn hard to do in a sandbox environment.
Integration Test TODOs
[sudo] rm -rf /
does not work.The text was updated successfully, but these errors were encountered: