Galaxy Nexus /sdcard

320 views
Skip to first unread message

Suzuki Naoto

unread,
Dec 6, 2011, 8:17:52 AM12/6/11
to android-g...@googlegroups.com
鈴木@triTech と申します。

Galaxy Nexus を入手したので試していますが、/sdcard (/mnt/sdcard)
配下に、アプリから作ったディレクトリ/ファイルがファイルマネージャ系の
アプリから削除できないという現象に戸惑っています。

adb shell では /sdcard/tmp/ の下または /sdcard/ 直下は問題なさそう
ですが、/sdcard/gaibu/ というアプリが作ったディレクトリの下だと
ファイルの更新や mkdir はできるが、rm や rmdir はエラーになります。

これが仕様?

shell@android:/sdcard/gaibu $ id
id
uid=2000(shell) gid=2000(shell) groups=1003(graphics),1004(input),1007(log),1009(mount),1011(adb),10
15(sdcard_rw),3001(net_bt_admin),3002(net_bt),3003(inet)
shell@android:/sdcard/gaibu $ pwd
pwd
/sdcard/gaibu
shell@android:/sdcard/gaibu $ ls -l
ls -l
drwxrwxr-x root sdcard_rw 2011-12-06 20:52 DATA
-rw-rw-r-- root sdcard_rw 49664 2011-12-06 21:48 SNAP_PFS_TAR
drwxrwxr-x root sdcard_rw 2011-12-06 21:02 hh
-rw-rw-r-- root sdcard_rw 614 2011-12-06 21:46 kioku.xml
-rw-rw-r-- root sdcard_rw 0 2011-12-06 21:58 kk
drwxrwxr-t root sdcard_rw 2011-12-06 20:50 sync
shell@android:/sdcard/gaibu $ cat kioku.xml > kk
cat kioku.xml > kk
shell@android:/sdcard/gaibu $ ls -l
ls -l
drwxrwxr-x root sdcard_rw 2011-12-06 20:52 DATA
-rw-rw-r-- root sdcard_rw 49664 2011-12-06 21:48 SNAP_PFS_TAR
drwxrwxr-x root sdcard_rw 2011-12-06 21:02 hh
-rw-rw-r-- root sdcard_rw 614 2011-12-06 21:46 kioku.xml
-rw-rw-r-- root sdcard_rw 614 2011-12-06 22:03 kk
drwxrwxr-t root sdcard_rw 2011-12-06 20:50 sync
shell@android:/sdcard/gaibu $ ls -l hh/
ls -l hh/
shell@android:/sdcard/gaibu $ rm kk
rm kk
rm failed for kk, Operation not permitted
255|shell@android:/sdcard/gaibu $ rmdir hh
rmdir hh
rmdir failed for hh, Operation not permitted
255|shell@android:/sdcard/gaibu $ ls -l
ls -l
drwxrwxr-x root sdcard_rw 2011-12-06 20:52 DATA
-rw-rw-r-- root sdcard_rw 49664 2011-12-06 21:48 SNAP_PFS_TAR
drwxrwxr-x root sdcard_rw 2011-12-06 21:02 hh
-rw-rw-r-- root sdcard_rw 614 2011-12-06 21:46 kioku.xml
-rw-rw-r-- root sdcard_rw 0 2011-12-06 22:03 kk
drwxrwxr-t root sdcard_rw 2011-12-06 20:50 sync
shell@android:/sdcard/gaibu $

以上

Yusuke Nomoto

unread,
Dec 6, 2011, 9:26:28 AM12/6/11
to android-g...@googlegroups.com
/sdcard/gaibu/ にスティッキービットがセットされているかもしれないです。

http://tooljp.com/linux/doc/02filesystem/003suidsgidstickybit/index.html

このサイトの説明によれば、"全ユーザは書き込み可能だが、所有者以外は削除できないとあります。"

Galaxy Nexus も Linux なので仕様ではないでしょうか。

2011年12月6日22:17 Suzuki Naoto <na...@tritech.co.jp>:

> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
>

Suzuki Naoto

unread,
Dec 6, 2011, 9:57:47 PM12/6/11
to android-g...@googlegroups.com
Yusuke Nomoto 様

鈴木@triTech です。

コメントありがとうございます。ご指摘の通りでした。アプリの方で
スティッキーをつかないような処理にする必要がありそうです。
#少なくとも2.3系まではつかないのに。

Suzuki Naoto

unread,
Dec 7, 2011, 2:55:01 AM12/7/11
to android-g...@googlegroups.com
補足です。

From: Suzuki Naoto <na...@tritech.co.jp>
Subject: Re: [android-group-japan: 15634] Galaxy Nexus /sdcard
Date: Wed, 07 Dec 2011 11:57:47 +0900 (JST)

> Yusuke Nomoto 様
>
> 鈴木@triTech です。
>
> コメントありがとうございます。ご指摘の通りでした。アプリの方で
> スティッキーをつかないような処理にする必要がありそうです。
> #少なくとも2.3系まではつかないのに。

mkdir 実行時にスティッキーが設定されるのは、javaの処理でなく、Cで
作ったndk側の処理によるものらしいです。

以上

Reply all
Reply to author
Forward
0 new messages