sergio -> debian-russian@lists.debian.org @ Sat, 26 Nov 2016 15:08:21 +0300:
> Всем привет. > Вот есть андроид. На нём есть директория. В директории лежат два файла. Самая интересная для вопроса информация - версия андроида - забыта. Впрочем, боюсь, я содержательного ответа на вопрос все равно не дам, ибо про эту жопу знаю в основном только, что она существует, и что от 4.3, кажется, до 5 было совсем плохо, а с 5 стало просто плохо. > Один файл, был создан программой и с ним всё хорошо. А второй я > скопировал туда рутом. > С точки зрения ls -l и lsattr файлы имеют одинаковые права: > (u0_a83:u0_a83, -rw-------, -------A-----) > Но проблема в том, что программа, которая создала хороший файл, не может > ни открыть ни переименовать плохой. (File is empty, File cannot be > renamed, и подобная муть). > Если взять хороший файл, сказать на него рутом mv в другой файл, а потом > cat в него плохой файл, то полученный файл будет читаться и > переименовываться. > То есть проблема именно в правах, а не в том, что программа при создании > запоминает название файла в ещё каком-нить месте и потом от этого зависит. Это не программа. Это андроид. Там файловая система - какая-то кастомная фусешечка... Ну, то есть, как я понимаю, вполне документировано, какая, но я эту документацию не читал. И где-то начиная с 4.3 у нее есть подсмотренная в IOS возможность разграничить файловую систему на "мое" и "не мое" по приложениям. > P.S. > Конкретно эту программу зовут OsmAnd, а файл gpx трек, но это далеко не > первый раз, когда я натыкаюсь на подобные проблемы с андроидом. > P.P.S. > Если сказать su u0_a83, то с плохим файлом всё хорошо > (переименовывается, читается). > ps | grep u0_a83 показывает, что OsmAnd запущен от u0_a83.