为什么文件权限以意想不到的方式工作?是什么让它成为可能 -- file-permissions 领域 和 emulators 领域 android 相关 的问题

Why file permissions work in unexpected manner? And what makes it possible


简体版||繁體版
0
vote

问题

中文

我的应用程序没有存储权限,然而,我可以在/data/user/0/com.myapp/files中读取/写入文件。

当仿真器时作为root连接我可以将文件推到该目录,但是该应用程序无法读取它。

在我欺骗我的应用程序的UID之后:GID它仍然无法读取/写入它。

如果我做<代码> run-as com.myapp touch newfile 然后用作root cat pushedfile >> newfile ,然后我的应用程序可以读取 newfile

那是什么样的黑魔法?为什么常规UNIX文件权限似乎没有工作,以及哪些机制可以阻止应用程序读取<代码> ABCDEFGHIJKLMNABCDEFGHIJKLMN3即使是<代码> ABCDEFGHIJKLMNABCDEFGHIJKLMN4 ED?

我尝试读取docsâ¢似乎没有澄清任何东西。

english

My app doesn't have storage permissions, yet I can read/write files in /data/user/0/com.myapp/files .

When on emulator connected as root I can push a file to this directory, but then the app cannot read it.

After I chown it to my app's uid:gid it still cannot read/write to it.

If I do run-as com.myapp touch newfile and then as root cat pushedfile >> newfile, then my app can read newfile.

What kind of dark magic is that? Why regular unix file permissions don't seem to work, and what mechanism prevents the app to read pushedfile even after it was chowned?

I tried reading the docsxe2x84xa2 but they don't seem to clarify anything.

     
   
   

回答列表


相关问题

3  如何将仿真器安装到PlayStation手机上(Sony Xperia Play)?  ( How does one install an emulator onto the playstation phone sony xperia play ) 
我有一个PlayStation手机(索尼Xperia Play),并喜欢免费玩旧的视频游戏。我希望有一个仿真器(也许是MAME?)我可以安装它。有人可以做到这一点吗? 编辑:我想要在特定手机上使用PlayStation控制按钮的东西 ...

6  如何在PC上玩Android游戏?  ( How to play android games on pc ) 
我在我的htc欲望S上有沥青6在电话上看起来很棒,现在我想在PC上玩游戏。有可能吗?我的意思是有什么应用程序,可以让我在我的手机上使用WiFi在我的电脑上玩这个游戏吗? 欲望没有任何电视,但如果这是一个重要的话,它可以支持DLNA连接。 操作系统:Windows XP 移动OS:Android 2.3.3 ...

2  Android上的终端仿真器是否可以执行Linux或Mac上的终端的所有内容?  ( Can a terminal emulator on android do everything that a terminal on linux or mac ) 
我将夫妇终端仿真器下载到我的Android手机上,并希望了解它们的限制是什么。有什么终端可以做模拟器根本不能呢? ...

0  Android仿真器中的GNUIts  ( Gnu utils in android emulator ) 
我们可以在Android仿真器上安装GNU Utils吗? 取决于仿真器的平台(x86,x86_64,arm64,armabi等),可以安装相应的gnu utils build?我对仿真器的Vim很感兴趣。 ...

1  无法设置Android仿真器日期 - 卡住于1/1/1970  ( Cant set android emulator date stuck on 1 1 1970 ) 
我在手动设置我的android仿真器上的日期时遇到麻烦。 我正在使用在Windows 10虚拟机上运行的ARM AVD(没有可用的英特尔HAXM),并且仿真器正在使用"-GPU SWIFTSHADER" 选项。 我尝试从android ui(设置菜单)和shell(带有root权限的adb date -s命令)设置日...

1  avd nexus_5x_api_22的仿真器进程被杀死  ( The emulator process for avd nexus 5x api 22 was killed ) 
我安装了Android Studio与offical网站的Android SDK,创建了一个新的示例项目,没有改变或删除甚至一行,但随时随地无法正常工作。 D:AndSDK oolsemulator.exe -netdelay none -netspeed full -avd Nexus_5X_API_22 H...

-1  如何使用Retroarch使用JXD S7300游戏控制器?  ( How can i use the jxd s7300 game controller with retroarch ) 
我想使用我的JXD S7300控制器与android retroarch 游戏模拟器。但它似乎不可能。有人有信息吗? ...

8  如何模拟Android中的相机输入? (激活whatsapp web)  ( How to emulate camera input in android to activate whatsapp web ) 
我有一个没有相机的Android设备,我在该设备上运行whatsapp。 我想从此设备激活whatsapp web。不幸的是,这样做的唯一方法是扫描一个QR代码,我不能这样做,因为我没有相机。 所以,如果我只能模拟相机输入,这意味着使用QR码的图像或视频文件,并且通过操作系统拍摄的图像,然后我会解决问题。 这个在wi...

2  如何绕过应用程序的知识能力在仿真器上运行而不是真实的设备。  ( How to bypass an apps ability to know is being run on an emulator rather than a ) 
我想安装一个名为entrust(从播放商店)的应用程序,并能够使用它。我上次尝试是使用称为"Genymotion" 的仿真器,但该应用程序可以检测到应用程序正在仿真器上运行,因为我收到此错误: "错误:无担保设备不支持手动激活。" 如果我在真实设备上运行该应用程序,我就不会得到。是否有关于如何绕过此检查的想法...

5  使能仿真器右侧的键盘  ( Enable the keyboard on the right side of the emulator ) 
我目前正在使用最新的Android SDK。每当我运行设备时,我都可以使用右侧和D焊盘上的硬件按钮。 但是,它下面没有Qwerty键盘。有没有办法让它出现? 旧仿真器布局(带QWERTY键盘) 新仿真器布局(没有QWERTY键盘) ...




© 2022 it.wenda123.org All Rights Reserved. 问答之家 版权所有