NP2 for 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