/mnt/ramdisk
異なるユーザー間でtmpfsフォルダ()を共有したいです。すべてのユーザーは、このフォルダ(fat32 / fuse / sambaと同様)のすべてのファイルを読み書きできる必要があります。これは、各アプリケーションに固有のuid / gidを持つAndroidで特に便利です。ソリューションはLinux/ファイルシステムレベルになければなりません。問題は、ほとんどのファイルが独自のuid / gid 600で生成されるため、他のアプリケーションがこれらのファイルにアクセスできないことです。
これはどのように達成できますか?
答え1
(ほとんど)デフォルトのACLを使用してこれを実行できます。
mkdir dir
setfacl -d -m u::rwx,g::rwx,o::rwx dir
chmod 0777 dir
デフォルトのACLはumask
ファイルを生成したプロセスのACLをオーバーライドするため、通常、プロセスは誰でも書き込み可能なファイルを生成できません。デフォルトのACLは、open(filename, flags, 0600)
所有者(使用など)のみがアクセスできる「個人」ファイルを明示的に生成するプロセスを停止せず、後で権限を変更することもありません。
tmpfs
CONFIG_TMPFS_POSIX_ACL
ACLがカーネル構成に設定されていると仮定すると、インストールオプションなしでデフォルトでサポートされているようです。
これが十分でない場合、ディレクトリ内のファイルが望ましくない方法で変更された場合は、そのファイルの権限を変更するためのいくつかの手順を設定する必要があります。cron
これには、または同様のものを使用してください。inotify