2

我正在尝试将我的 OS X 应用程序沙箱化。

我的应用程序使用 NSTask 创建一个 SSH 隧道。

我已允许 com.apple.security.network.client 和 com.apple.security.network.server 权利,但在创建隧道时仍然出现网络出站错误。

错误如下:

25/07/12 18:26:02,488 sandboxd[10677]: ([10676]) ssh(10676) deny network-outbound /private/tmp/launch-1nsmBH/Listeners

该报告未显示任何相关信息:

ssh(10676) deny network-outbound /private/tmp/launch-1nsmBH/Listeners

Process:         ssh [10676]
Path:            /usr/bin/ssh
Load Address:    0x100000000
Identifier:      ssh
Version:         ??? (???)
Code Type:       x86_64 (Native)
Parent Process:  SSH Tunnlr [10604]

Date/Time:       2012-07-25 18:26:02.482 +0100
OS Version:      Mac OS X 10.8 (12A269)
Report Version:  8

Thread 0:
0   libsystem_kernel.dylib          0x00007fff9064fa86 __connect + 10
1   ssh                             0x0000000100017251
2   ssh                             0x00000001000140ec
3   ssh                             0x0000000100011722
4   ssh                             0x000000010000e3ff
5   libdyld.dylib                   0x00007fff90d837e1 start + 0

Binary Images:
   0x100000000 -        0x10004eff7  ssh (175) <97628AED-06A6-3407-9787-148A2FF59925> /usr/bin/ssh
0x7fff9063e000 -     0x7fff90659ff7  libsystem_kernel.dylib (2050.7.9) <E0447BF5-E104-35B0-B28B-4156887D58F1> /usr/lib/system/libsystem_kernel.dylib
0x7fff90d81000 -     0x7fff90d84ff7  libdyld.dylib (210.2.3) <F59367C9-C110-382B-A695-9035A6DD387E> /usr/lib/system/libdyld.dylib

作为记录,这是我的权利清单:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
<key>com.apple.security.network.server</key>
<true/>
<key>com.apple.security.temporary-exception.mach-lookup.global-name</key>
<array>
    <string>com.apple.ssh</string>
    <string>com.apple.sshd</string>
</array>

这里的一只手会非常非常有帮助。

提前致谢。

4

1 回答 1

-1

没关系。那个控制台错误误导了我。即使它出错了,它也可以工作。

于 2012-07-25T20:30:43.663 回答