gpt4 book ai didi

Android/Linux 文件权限问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:11:51 25 4
gpt4 key购买 nike

我已经在我的应用程序的内部存储(/data/data/com.my_app)中创建了一个目录,并通过该方法授予了对该目录的全局读/写权限

context.getDir(DATA_DIR_NAME, Context.MODE_WORLD_READABLE | Context.MODE_WORLD_WRITEABLE);

通过我的应用程序,我验证了 linux 文件权限是正确的:

drw-rw-rw-app_71 app_71 2010-11-16 18:38 app_data

而且我能够很好地在目录 app_data 中读取/写入文件。但是,我的一位开发人员突然无法再写入该目录。我们的应用程序也无法访问他设备上的目录。

奇怪的是目录的文件权限还是一样的。我们无法对目录进行任何类型的写入,也无法再读取目录中的任何文件(这些文件之前已获得全局读写权限)。

我们唯一能做的就是 adb shell ls/data/data/my_app/app_data 查看我们的文件列表。 adb shell ls -l/data/data/my_app/app_data 奇怪地没有返回任何东西。而且我们也无法 CD 进入该目录。

有没有人对问题是什么或如何解决这个问题有任何指示?我们已经无计可施了。

非常感谢。

最佳答案

目录需要设置执行 (X) 位才能访问目录的内容。我不知道 android 模式,但请查找 MODE_WORLD_EXECUTABLE 并查看是否可以设置它。

基本上,您需要模式 0777 (rwxrwxrwx) 才能使用所有权限全局访问目录。

ls 起作用的原因是您有权读取目录中的文件名。 ls -l 不起作用,因为您无法访问目录中的文件来获取 -l 将打印的元数据。

关于Android/Linux 文件权限问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4210328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com