與任何H2CO3 said不是不同意,而是要增加一些進一步澄清...
應用程序安裝在/private/var/mobile/Applications/
(匕首),其具有的Xcode將與用戶mobile
權限甚至越獄的手機上運行。安裝到/private/var/mobile/Applications/
即使在一個越獄的手機,應用程序(&匕首)將沙盒幾乎(&ddagger)像監禁電話上的應用程序。因此,即使這些文件歸用戶mobile
所有,也不會讀取其他(正常)應用程序的數據。
有關像Cydia這樣的應用程序以root身份運行的過程的詳細說明,see this answer。或者,只需ssh進入你的手機,並自己看看/Applications/Cydia.app/
。
如果你簡單地複製/安裝應用程序(沒有做什麼H2CO3 suggested)到/Applications/
,它不會被沙盒,但它仍然會與mobile
(UID = 501)的權限運行:
iPhone5:~ root# cd /Applications
iPhone5:/Applications root# ls -altr ./HelloJB.app/
total 220
-rw-r--r-- 1 root wheel 711 Apr 3 20:36 entitlements.xml
-rw-r--r-- 1 root wheel 297 Apr 3 20:36 entitlements-daemon.xml
-rw-r--r-- 1 root wheel 7972 Apr 3 20:36 embedded.mobileprovision
-rw-r--r-- 1 root wheel 58755 Apr 3 20:36 date.zip
-rw-r--r-- 1 root wheel 485 Apr 3 20:36 ResourceRules.plist
-rw-r--r-- 1 root wheel 8 Apr 3 20:36 PkgInfo
-rw-r--r-- 1 root wheel 1226 Apr 3 20:36 Info.plist
-rw-r--r-- 1 root wheel 10960 Apr 3 20:36 Icon\@2x.png
-rw-r--r-- 1 root wheel 8328 Apr 3 20:36 Icon.png
-rw-r--r-- 1 root wheel 451 Apr 3 20:36 HelloJB.plist
-rwxr-xr-x 1 root wheel 61088 Apr 3 20:36 HelloJB*
-rwxr-xr-x 1 root wheel 42688 Apr 3 20:36 HelloDaemon*
drwxr-xr-x 2 root wheel 136 Apr 3 20:36 en.lproj/
drwxr-xr-x 2 root wheel 102 Apr 3 20:36 _CodeSignature/
drwxr-xr-x 4 root wheel 544 Apr 3 20:36 ./
drwxrwxr-x 54 root admin 1904 Apr 5 02:14 ../
iPhone5:/Applications root# ps -Aef | grep HelloJB
501 9412 1 0 0:00.00 ?? 0:00.33 /Applications/HelloJB.app/HelloJB
iPhone5:/Applications root# grep mobile /etc/passwd
mobile:*:501:501:Mobile User:/var/mobile:/bin/sh
(‡)這是good discussion, with input from Saurik, about how different jailbreaks may affect the sandbox。長話短說:這取決於。
(匕首)更新:在最新版本的iOS,第三方應用程序的位置已經移動到/var/mobile/Containers
,後來到/var/containers/
,但相同的基本沙箱問題依然存在。
這個問題不應該被視爲脫離主題。應用程序運行的特權影響它可以成功完成的操作(打開/寫入文件等)。如** ** **答案中所示,影響應用程序權限的步驟不僅僅是* sysadmin *任務。源代碼**,啓動腳本,也許Info.plist文件也需要修改,這是一個程序員任務,通過Objective-C/C和shell **代碼**實現。 – Nate
等一下爲什麼'su'不能在越獄的iOS設備上運行? –