fc2ブログ

NP2 for iPhone (仮)のファイルパーミッションについて実験してみた

えみゅはに」の方で、ファイルのパーミッションについてや、起動できないといった質問がありましたので、iPhoneアプリにおけるファイルパーミッションについて実験してみました。

とりあえず結論から先に書いておきます。

●/Applications/np2.appディレクトリ関連

ownerは全てroot:admin
/Applications/np2.appディレクトリは775
/Applications/np2.app/np2は775
/Applications/np2.app/Info.plistは664


こんな感じになっていればよいです。

iPod:/Applications root# ls -ld np2.app
drwxrwxr-x 2 root admin 136 May 16 12:50 np2.app/
iPod:/Applications root# ls -l np2.app/
total 1368
-rw-rw-r-- 1 root admin 640 May 14 00:58 Info.plist
-rwxrwxr-x 1 root admin 1386492 May 18 00:12 np2*
iPod:/Applications root#



● /private/var/mobile/Media/np2ディレクトリ関連

ownerは全てmobile:mobile
/private/var/mobile/Media/np2ディレクトリは755
中身のファイルは644


こんな感じになっていればよいです

iPod:/private/var/mobile/Media root# ls -ld np2
drwxr-xr-x 2 mobile mobile 238 May 18 00:17 np2/
iPod:/private/var/mobile/Media root# ls -l np2/
total 102552
-rw-r--r-- 1 mobile mobile 52228096 May 20 13:42 YUNO.HDI
-rw-r--r-- 1 mobile mobile 524350 May 14 00:59 font.bmp
-rw-r--r-- 1 mobile mobile 147 May 16 16:02 hoge.txt
-rw-r--r-- 1 mobile mobile 951 May 17 00:59 np2.cfg
iPod:/private/var/mobile/Media root#


パーミッションを変更した場合は、念のためホームボタン2度押しでタスクマネージャーを出して、np2プロセスを終了してください。

ひっそりぃがiPod touch実機にて実験してみた結果は以下から。

●ちょっと実験してみた

実行ファイルであるnp2のパーミッションをusersのみ全あり(700)にしてみる

iPod:/Applications/np2.app root# chmod 700 np2
iPod:/Applications/np2.app root# ls -l np2
-rwx------ 1 root admin 1386492 May 18 00:12 np2*
iPod:/Applications/np2.app root#


起動できなくなりました。
白いアイコンをクリックしてもすぐに元に戻ってしまいます。

次にothersのrxのみを有効(005)にする

iPod:/Applications/np2.app root# chmod 005 np2
iPod:/Applications/np2.app root# ls -l
total 1368
-rw-r--r-- 1 root admin 640 May 14 00:58 Info.plist
-------r-x 1 root admin 1386492 May 18 00:12 np2*
iPod:/Applications/np2.app root#


起動できました。
np2のothersに実行権があることが必要なようです。

おそらくアプリの起動はmobileユーザで行われるので、root:adminなファイルに対して、mobileユーザーがアクセスできるように、othersのパーミッション設定が必要になるのでしょう。

次にnp2.appディレクトリ自体をいじってみます。

iPod:/Applications root# cd ..
iPod:/ root# cd /Applications/np2.app/
iPod:/Applications root# chmod 700 np2.app/
iPod:/Applications root# ls -ld np2.app
drwx------ 2 root admin 136 May 16 12:50 np2.app/


起動できなくなりました。
こちらもnp2実行ファイルと同様、mobileユーザがアクセスできるように設定する必要があります。

極端な話、othersのパーミッションだけつければ良さそうですが、念のため、標準アプリと同様なパーミッションにしておくのが無難でしょう。

いじった設定は元に戻しておきます。

つぎに/private/var/mobile/Media/np2ディレクトリについて実験。

HDIファイルを600にしてみます。

iPod:/private/var/mobile/Media/np2 root# chmod 600 YUNO.HDI
iPod:/private/var/mobile/Media/np2 root# ls -l YUNO.HDI
-rw------- 1 mobile mobile 52228096 May 20 13:42 YUNO.HDI


問題なし。

次に066。

iPod:/private/var/mobile/Media/np2 root# chmod 066 YUNO.HDI
iPod:/private/var/mobile/Media/np2 root# ls -l YUNO.HDI
----rw-rw- 1 mobile mobile 52228096 May 20 13:42 YUNO.HDI
iPod:/private/var/mobile/Media/np2 root#


予想通りHDIファイルが読み込まれなくなり、「システムディスクをセットしてください」になりました。
ということで、mobile:mobileユーザのアクセス権が必要。

次に400。

iPod:/private/var/mobile/Media/np2 root# chmod 400 YUNO.HDI
iPod:/private/var/mobile/Media/np2 root# ls -l YUNO.HDI
-r-------- 1 mobile mobile 52228096 May 20 13:42 YUNO.HDI
iPod:/private/var/mobile/Media/np2 root#


あれ、予想では、ゲーム内でセーブしようとして失敗すると思いましたが、「システムディスクをセットしてください」になりました。
rwでHDIファイルをfopen()する時点で失敗してファイルを開かないようですね。


Comment

[224] 管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

[225] 管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

コメントの投稿


管理者にだけ表示を許可する

Trackback

http://hissorii.blog45.fc2.com/tb.php/204-1201b29a

«  | HOME |  »

プロフィール

ひっそりぃ

Author:ひっそりぃ
Twitter:@hissorii_com
GitHub:hissorii


月別アーカイブ


最新記事


カテゴリ



最新コメント


最新トラックバック




RSSリンクの表示


Amazon


QRコード

QRコード

Amazon


ブログランキング

ブログランキング【くつろぐ】
にほんブログ村 ゲームブログ×PlayNCBlogへ

メールフォーム

名前:
メール:
件名:
本文:


カウンタ