Este posibil să modificați permisiunile fișierelor din memoria internă a Android? (Android, Stoc Android, Sistem De Fișiere, Fișiere, Permisiuni De Fișiere)

Puspam a intrebat.

Cum pot schimba permisiunile unui fișier pe Android fără rooting? De fapt, vreau să împiedic ștergerea unor fișiere.

Notă: Întreb de modificarea permisiunilor de fișier ale fișierelor create de utilizator în stocarea partajată internă.

1 răspunsuri
Irfan Latif

Pe toate sistemele de operare bazate pe nucleul Linux – cum este Android – este posibil să setați permisiuni pe fișiere (inclusiv directoare) cu condiția ca sistemul de fișiere să suporte permisiunile UNIX (uid, gid, mode). Exemple comune de astfel de sisteme de fișiere sunt ext4 și f2fs.

Cu toate acestea, sistemul intern al Android (denumit în mod confuz external) de Android, care este accesibilă aplicațiilor instalate la /sdcardnu este un sistem de fișiere real, ci unul virtual/emulat, care expune /data/media (care este un sistem de fișiere real) prin sdcardfs. sdcardfs și predecesorul său FUSE expun sistemul de fișiere emulat cu un set fix de uid, gid și mască (mod). Așadar, comenzile chmod și chown nu au niciun impact, indiferent dacă sunt executate prin CLI (shell adb sau emulator de terminal) sau GUI (explorator de fișiere).

Este posibilă modificarea biților de permisiune ai fișierului pe sistemul de fișiere real subiacent, dar accesarea /data/media necesită acces root, deoarece numai UID/GID 1023 (aid_media_rw) are acces de citire la director. Și totuși permisiunile vor rămâne aceleași atunci când sunt vizualizate din vizualizarea emulată. /sdcard.

Așadar, nu puteți modifica permisiunile fișierelor create de utilizator pe Android, cu sau fără root.

Citiți mai departe:

  • Ce este /storage/emulated/0/?

În legătură cu: „Emițător de fișiere”:

  • De ce chmod dă eroarea „Operation not permitted”?
  • Cum să remontați sdcardfs pentru a permite setarea permisiei / proprietății fișierelor?