Обнаружил, что всё содержимое ~/.local/share/waydroid/data стало принадлежать другому пользователю. Видимо: 1. Лезет root-ом в домашний каталог, иначе не смог бы. 2. Видимо, гвоздями прибит ID 1000, т.к. у пользователя другой.
(In reply to Sergey V Turchin from comment #0) > Обнаружил, что всё содержимое ~/.local/share/waydroid/data стало > принадлежать другому пользователю. Видимо: > 1. Лезет root-ом в домашний каталог, иначе не смог бы. > 2. Видимо, гвоздями прибит ID 1000, т.к. у пользователя другой. это обнаружилось во время работы waydroid или когда сервис не выполняется?
В какой-то момент стало при запуске waydroid. Ругань в терминале. Полагаю, легко воспроизведётся у любого пользователя с ID отличным от 1000, т.к. у этого всё работало раньше и у него ID 500. У другого на другой машине тоже самое с ID 514.
> у этого всё работало раньше Сейчас не запускается. Даже если права поправить.
(In reply to Sergey V Turchin from comment #2) > В какой-то момент стало при запуске waydroid. Ругань в терминале. > Полагаю, легко воспроизведётся у любого пользователя с ID отличным от 1000, > т.к. у этого всё работало раньше и у него ID 500. У другого на другой машине > тоже самое с ID 514. предполагаю, что этому предшествовало падение самого waydroid или lxc. Этот каталог монтируется во время запуска, туда lxc монтирует образ насколько я помню. Т.е. если в этом каталоге что то осталось, значит изоляция не работает и нужно смотреть логи waydroid/lxc.
Возможно, но откуда взялис ID >= 1000? Их раньше не было и всё работало. Их и сейчас нет. Откуда они взялись? После исправления прав и запуска вот такое: # l /home/zerg/.local/share/waydroid/data итого 224 drwxrwxr-x 26 1000 1000 4096 июн 16 11:03 system/ drwx------ 2 root root 4096 июн 16 11:03 property/ drwxrwxr-x 2 1000 1000 4096 фев 11 21:57 server_configurable_flags/ drwxrwx--x 2 1000 1000 4096 фев 11 21:54 tombstones/ drwxrwx--- 4 1023 1023 4096 фев 6 20:40 media/ drwx------ 7 1000 1000 4096 ноя 18 2023 backup/ drwxrwx--x 51 1000 1000 4096 ноя 18 2023 ./ drwx------ 2 zerg zerg 4096 ноя 18 2023 per_boot/ drwxrwx--x 8 1000 1000 4096 ноя 4 2023 app/ drwxrwxr-x 2 1000 1000 4096 ноя 4 2023 icons/ drwxrwx--x 183 1000 1000 12288 ноя 4 2023 data/ drwxrwx--- 2 1000 2001 4096 ноя 4 2023 lineageos_updates/ drwxr-xr-x 2 zerg 1000 4096 ноя 3 2023 waydroid_tmp/ drwxrwx--t 3 1000 9998 4096 ноя 2 2023 misc_ce/ drwxrwx--- 3 1000 1000 4096 ноя 2 2023 system_ce/ drwxrwx--x 3 root root 4096 ноя 2 2023 vendor_ce/ drwxrwx--- 6 1000 2001 4096 окт 21 2023 cache/ drwxrwx--x 2 1000 1000 16384 окт 21 2023 resource-cache/ drwxrwx--x 4 root root 4096 окт 21 2023 dalvik-cache/ drwxrwx--t 53 1000 9998 4096 окт 21 2023 misc/ drwx------ 5 root root 4096 окт 21 2023 gsi/ drwxr-x--- 3 root 2000 4096 окт 21 2023 ssh/ drwx------ 2 root root 4096 окт 21 2023 adb/ drwx------ 2 root root 4096 окт 21 2023 adbroot/ drwxrwx--t 3 1000 9998 4096 окт 21 2023 misc_de/ drwxrwx--- 3 1000 1000 4096 окт 21 2023 system_de/ drwx--x--x 3 1000 1000 4096 окт 21 2023 user_de/ drwxrwx--x 3 root root 4096 окт 21 2023 vendor_de/ drwxrwx--x 2 1000 1000 4096 окт 21 2023 incremental/ drwx------ 2 1000 1000 4096 окт 21 2023 rollback/ drwx------ 2 1000 1000 4096 окт 21 2023 rollback-observer/ drwx--x--x 3 1000 1000 4096 окт 21 2023 user/ drwxrwxr-x 2 1000 1000 4096 окт 21 2023 anr/ drwxrwx--- 2 1031 1031 4096 окт 21 2023 mediadrm/ drwxrwx--- 3 1027 1027 4096 окт 21 2023 nfc/ drwx------ 2 1000 1000 4096 окт 21 2023 ss/ drwx------ 2 root root 4096 окт 21 2023 app-asec/ drwxrwx--x 2 1000 1000 4096 окт 21 2023 app-ephemeral/ drwxrwx--x 2 1000 1000 4096 окт 21 2023 app-lib/ drwxrwx--- 2 1019 1019 4096 окт 21 2023 drm/ drwxrwx--- 2 root root 4096 окт 21 2023 lost+found/ drwxrwx--x 2 root root 4096 окт 21 2023 ota/ drwxrwx--- 2 1000 2001 4096 окт 21 2023 ota_package/ drwxrwx--x 4 root root 4096 окт 21 2023 vendor/ drwxrwx--x 2 1000 1000 4096 окт 21 2023 app-private/ drwxr-x--x 4 root root 4096 окт 21 2023 local/ drwxrwxr-x 2 1000 1000 4096 окт 21 2023 preloads/ drwxr-xr-x 6 root 1000 4096 окт 21 2023 apex/ drwxr-x--- 2 1000 1000 4096 окт 21 2023 app-staging/ drwxr-xr-x 2 2000 2000 4096 окт 21 2023 bootchart/ drwxr-xr-x 3 zerg zerg 4096 окт 21 2023 ../
(Ответ для Sergey V Turchin на комментарий #5) > Откуда они взялись? Ааа. Это android-овская файловая система с его правами и всё там правильно?
(In reply to Sergey V Turchin from comment #6) > (Ответ для Sergey V Turchin на комментарий #5) > > Откуда они взялись? > Ааа. Это android-овская файловая система с его правами и всё там правильно? да, это должен быть активный lxc mount в момент работы waydroid. Конечно, эти файлы могли бы лежать в другом месте, но таково решение разработчиков waydroid
(Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #7) > Конечно, эти файлы могли бы лежать в другом месте Только, не могли бы, а должны бы.
(In reply to Sergey V Turchin from comment #8) > (Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #7) > > Конечно, эти файлы могли бы лежать в другом месте > Только, не могли бы, а должны бы. откуда такая категоричность? Какие проблемы с текущей конфигурацией?
(Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #9) > откуда такая категоричность? Лазить пользователю в ~/ плохо по определению. Ещё и в таком объёме.
(In reply to Sergey V Turchin from comment #10) > (Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #9) > > откуда такая категоричность? > Лазить пользователю в ~/ плохо по определению. Ещё и в таком объёме. Почему? Это же .local/share/<app>. Аналогично хэшер прямо в корне хомяка все делает, что на мой взгляд даже хуже.
(Ответ для Ilya Sorochan на комментарий #11) > Почему? Это же .local/share/<app>. Потому, что вы путаете "app" и "user".
(Ответ для Ilya Sorochan на комментарий #11) > Аналогично хэшер прямо в корне хомяка все делает, что на мой взгляд даже хуже. У меня не делает.
(In reply to Sergey V Turchin from comment #12) > (Ответ для Ilya Sorochan на комментарий #11) > > Почему? Это же .local/share/<app>. > Потому, что вы путаете "app" и "user". Как это связано с тем что приложению нельзя лезть в ~? Оно что-то этим ломает? > У меня не делает. У вас не делает потому что вы настроили его под себя. Изменили значение по умолчанию, оно же нормальное или общепринятое на свое.
(Ответ для Ilya Sorochan на комментарий #14) > > > Почему? Это же .local/share/<app>. > > Потому, что вы путаете "app" и "user". > Как это связано с тем что приложению нельзя лезть в ~? Видимо, вы не против, чтобы все желающие лазили к вам в ~/ .
(In reply to Sergey V Turchin from comment #15) > (Ответ для Ilya Sorochan на комментарий #14) > > > > Почему? Это же .local/share/<app>. > > > Потому, что вы путаете "app" и "user". > > Как это связано с тем что приложению нельзя лезть в ~? > Видимо, вы не против, чтобы все желающие лазили к вам в ~/ . Самый главный вопрос - почему же все-таки нельзя этого делать остался без ответа :D. Зато обнаружил, что Waydroid пишет свои данные в XDG_DATA_HOME еще с 1.1.1 https://github.com/waydroid/waydroid/blob/51d92897e4900e20087903963433e069562170bc/debian/changelog#L316 Ну и согласно спецификации XDG значение по умолчанию XDG_DATA_HOME должно быть ~/.local/share https://specifications.freedesktop.org/basedir-spec/latest/#variables Сам waydroid не пользуюсь, поэтому проверить так ли это не могу - это уже на вас.
(In reply to Sergey V Turchin from comment #15) > (Ответ для Ilya Sorochan на комментарий #14) > > > > Почему? Это же .local/share/<app>. > > > Потому, что вы путаете "app" и "user". > > Как это связано с тем что приложению нельзя лезть в ~? > Видимо, вы не против, чтобы все желающие лазили к вам в ~/ . waydroid - это грубо говоря, эмулятор системы android. В этой системе есть понятие userdata, т.е. пользовательских данных. Т.е. то, что эти файлы имеют другой uid/gid и лежат в каталоге $HOME, не отменяет тот факт, что это userdata этого конкретного пользователя $HOME. Если вас лично не устраивает такое поведение - предложите решение апстриму waydroid, они с удовольствием вас выслушают.
(Ответ для Ilya Sorochan на комментарий #16) > Самый главный вопрос - почему же все-таки нельзя этого делать остался без > ответа :D Тут не ликбез. Баг адресован не вам. Если интересно, спросите на более подходящем ресурсе.
(Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #17) > факт, что это userdata этого конкретного пользователя $HOME. Это файлы совсем другого пользователя и другой системы, а пользователь ~/ не может с ними ничего сделать. Даже удалить.
(In reply to Sergey V Turchin from comment #18) > (Ответ для Ilya Sorochan на комментарий #16) > > Самый главный вопрос - почему же все-таки нельзя этого делать остался без > > ответа :D > Тут не ликбез. Баг адресован не вам. Если интересно, спросите на более > подходящем ресурсе. Конечно, но мне было несложно указать вам на XDG_DATA_HOME при помощи которого вы теоретически можете решить свою проблему местоположения директории. Да и спрашивать других а не *вас* что *вы* имели ввиду как-то неразумно. Мне не нужен ликбез, просто посчитал что есть вероятность что могу быть полезен.
(Ответ для Ilya Sorochan на комментарий #20) > XDG_DATA_HOME при помощи которого вы теоретически можете решить свою проблему местоположения Переливание из пустого в порожнее. И проблема не моя, а waydroid.
Ну и достаточно смонтировать /home/ с noexec, чтобы waydroid пошёл лесом. VirtualBox при этому будет работать, например.
(In reply to Sergey V Turchin from comment #22) > Ну и достаточно смонтировать /home/ с noexec, чтобы waydroid пошёл лесом. > VirtualBox при этому будет работать, например. Нашел issue в котором апстрим для перемещения папки предлагается симлинк https://github.com/waydroid/waydroid/issues/1208 Костыль, но судя по всему в проекте менеджмент контейнерами (инстансы и файловые системы) отсутствует. https://github.com/waydroid/waydroid/issues/566 https://github.com/waydroid/waydroid/issues/1073 Остается только патчить (а надо оно нам?) или идти в апстрим (сказать что ломается и попросить хотя бы вынести этот путь в флажек).
насколько я помню для таких целей ещё можно использовать /var
(Ответ для Anton Farygin на комментарий #24) > /var К тому же, у waydroid нет никаких проблем делать там из-под root всё, что ему надо.
(In reply to Sergey V Turchin from comment #25) > (Ответ для Anton Farygin на комментарий #24) > > /var > К тому же, у waydroid нет никаких проблем делать там из-под root всё, что > ему надо. (In reply to Sergey V Turchin from comment #21) > (Ответ для Ilya Sorochan на комментарий #20) > > XDG_DATA_HOME при помощи которого вы теоретически можете решить свою проблему местоположения > Переливание из пустого в порожнее. И проблема не моя, а waydroid. отвечу вашими же словами Спасибо за доверие! P.S. Я в курсе всего, что ты уже писал и ещё напишешь по этому поводу.
(Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #26) [...] > > > XDG_DATA_HOME при помощи которого вы теоретически можете решить свою проблему местоположения > > Переливание из пустого в порожнее. И проблема не моя, а waydroid. > отвечу вашими же словами Ок. Жду ответа, как соловей лета.
(Ответ для Ilya Sorochan на комментарий #20) > XDG_DATA_HOME при помощи > которого вы теоретически можете решить свою проблему местоположения > директории. Невозможно. Нет никаких XDG_DATA_WAYDROID. Вы ещё весь ~/ предложите перенести.
(In reply to Anton Farygin from comment #24) > насколько я помню для таких целей ещё можно использовать /var Общесистемные данные waydroid уже лежат в /var/lib/waydroid (lxc stuff). Как говорил lakostis@ то, что лежит в хоуме это userdata - ваши приложения, загрузки и прочее. Сама система и системные приложения хранятся вообще в другом месте. Идея городить /var/lib/waydroid/userdata/$USER сомнительная - только эстетическое удовольствие.
(In reply to Sergey V Turchin from comment #28) > (Ответ для Ilya Sorochan на комментарий #20) > > XDG_DATA_HOME при помощи > > которого вы теоретически можете решить свою проблему местоположения > > директории. > Невозможно. Нет никаких XDG_DATA_WAYDROID. > Вы ещё весь ~/ предложите перенести. Вы же можете установить XDG_DATA_HOME только для waydroid, в чем тогда проблема? Или симлинкнуть, если env трогать не хочется.
(Ответ для Ilya Sorochan на комментарий #30) > Вы же можете Я много чего могу, а баг у waydroid.
(In reply to Sergey V Turchin from comment #31) > а баг у waydroid. В том-то и дело что пока это багом назвать нельзя. Такое поведение во-первых задумано (не программная ошибка), во-вторых обосновано (следует стандарту XDG), в-третьих изменяемо, в-четвертых удовлетворяет большинству пользователей (на гитхабе issue конкретно по поводу перемещения было одно и его успешно решили). Тоесть это хороший продуманный дефолт, который, наверное, можно сделать лучше - но это уже будет feature/proposal и за этим нужно идти в апстрим.
А есть ли возможность эти данные удалить не заходя в рута ?
(Ответ для Anton Farygin на комментарий #33) > А есть ли возможность эти данные удалить не заходя в рута ? Нет. Там UID-ы у файлов несуществующие. Вообще из другой системы.
(In reply to Sergey V Turchin from comment #34) > (Ответ для Anton Farygin на комментарий #33) > > А есть ли возможность эти данные удалить не заходя в рута ? > Нет. Там UID-ы у файлов несуществующие. Вообще из другой системы. И сам waydroid не предоставляет никаких средств для рутлесс удаления. Вообще он рута много для чего просит - тут уже вопрос оправдано или нет.
на мой взгляд - если waydroid не предоставляет инструментов для удаления созданного им хлама в хомяке, а пользователь без администратора это тоже удалить не сможем - то это ошибка.
(In reply to Anton Farygin from comment #36) > на мой взгляд - если waydroid не предоставляет инструментов для удаления > созданного им хлама в хомяке, а пользователь без администратора это тоже > удалить не сможем - то это ошибка. Пользователь без администратора этот хлам не создаст.
(Ответ для Ilya Sorochan на комментарий #37) Предлагаю вам больше не флудить здесь.