tmpfs는 모든 사용자가 읽기/쓰기 액세스가 가능합니다.

tmpfs는 모든 사용자가 읽기/쓰기 액세스가 가능합니다.

/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)소유자(사용 등)만 액세스할 수 있는 "개인" 파일을 명시적으로 생성하는 프로세스를 중지하지 않으며 이후에 권한을 수정하지도 않습니다.

tmpfsCONFIG_TMPFS_POSIX_ACLACL은 커널 구성에 설정되어 있다고 가정하면 설치 옵션 없이 기본적으로 지원되는 것으로 보입니다 .

이것이 충분하지 않은 경우 디렉토리의 파일이 원하지 않는 방식으로 수정된 경우 해당 파일에 대한 권한을 수정하기 위한 몇 가지 절차를 설정해야 할 수도 있습니다. cron이를 위해 또는 이와 유사한 것을 사용하십시오 .inotify

관련 정보