É possível alterar as permissões de arquivo no armazenamento interno do Android? -- stock-android campo com file-system campo com files campo com file-permissions camp android Relacionado O problema

Is it possible to change file permissions on Android's internal storage?


4
vote

problema

português

Como posso alterar a permissão de arquivo de um arquivo no Android sem enraizar? Eu realmente quero impedir alguns arquivos da exclusão.

Nota: Eu estou pedindo a alteração das permissões de arquivo de arquivos criados pelo usuário em armazenamento compartilhado interno.

english

How can I change file permission of a file on Android without rooting? I actually want to prevent some files from deletion.

Note: I am asking of changing the file permissions of user-created files in internal shared storage.

           

Lista de respostas

6
 
vote
vote
Melhor resposta
 

Em todos os sistemas operacionais com base no kernel do Linux - como o Android é - é possível definir permissões em arquivos (incluindo diretórios) desde que o sistema de arquivos suporta permissões UNIX (UID, GID, Mode). Exemplos comuns de tais sistemas de arquivos são ext4 e f2fs .

No entanto o interno do Android (confusamente chamado externo ) Armazenamento que é acessível por aplicativos instalados em ABCDEFGHIJKLMNABCDEFGHIJKLMN2 , não é um sistema de arquivos real, mas emitido / emitido, expondo /data/media (que é um sistema de arquivos real) através de sdcardfs . sdcardfs e Seu antecessor ABCDEFGHIJKLMBCDefGHIJKLMN5 Exponha o sistema de arquivos emulado com um conjunto fixo de UID, GID e Máscara (modo). Assim, os comandos chmod e chown não tem impacto, seja executado através de CLI (adb shell ou emulador de terminal) ou GUI (File Explorer).

É possível alterar os bits de permissão do arquivo no sistema de arquivos real subjacente, mas acessar /data/media requer acesso root porque somente uid / gid abcdefghijklmnabcdefgijklmn9 ( AID_MEDIA_RW ) Leia o acesso ao diretório. E ainda as permissões permanecerão iguais quando visualizadas da exibição emulada f2fs0 .

Então você não pode alterar as permissões de arquivos criados pelo usuário no Android, com ou sem raiz.

Leitura adicional:

  • O que é / armazenamento / emulado / 0 /?

relacionado:

  • Por que chmod fornece erro "operação não permitida"?
  • como remontar SDCardfs para permitir a configuração Permisions / ProterShips?
 

On all operating systems based on Linux kernel - like Android is - it's possible to set permissions on files (including directories) provided that filesystem supports UNIX permissions (uid, gid, mode). Common examples of such filesystems are ext4 and f2fs.

However Android's internal (confusingly called external) storage which is accessible by installed apps at /sdcard, is not an actual but virtual / emulated filesystem exposing /data/media (which is a real filesystem) through sdcardfs. sdcardfs and its predecessor FUSE expose the emulated filesystem with a fixed set of uid, gid and mask (mode). So the commands chmod and chown have no impact, whether executed through CLI (adb shell or terminal emulator) or GUI (file explorer).

It's possible to change permission bits of file on underlying actual filesystem, but accessing /data/media requires root access because only UID/GID 1023 (aid_media_rw) has read access to the directory. And still the permissions will remain same when viewed from emulated view /sdcard.

So you can't change permissions of user created files on Android, with or without root.

Further reading:

  • What is /storage/emulated/0/?

Related:

  • Why chmod gives xe2x80x9cOperation not permittedxe2x80x9d error?
  • How to remount sdcardfs to allow setting file permisions / ownerships?
 
 

Perguntas relacionadas

2  Como posso fazer isso para que qualquer usuário possa chmod no meu fusível de formatação e SDCard montado no fusível?  ( How can i make it so that any user can chmod in my fuse mounted ext4 formatted ) 
Eu tenho um transformador ASUS PAD TF101. Eu finalmente cheguei ao torcendo agora. IMPORTANTE: user1 é não fat32. É um sistema de arquivos de fusível ...

3  Tipo de arquivo desconhecido contendo um vírus  ( Unknown file type containing a virus ) 
Vou tentar manter a história tão curta quanto possível, então você pode ter uma visão mais clara do que é a minha preocupação. Enquanto, eu estava navegando n...

0  Build.prop modifica ok. Mas não atualizações no sistema (por exemplo, sobre tablet em configurações)  ( Build prop modifies okay but not updates in system e g about tablet in settin ) 
Eu estou executando Android-X86 4.4 na caixa virtual. Tudo funciona bem. Mas quando estou modificando o Build.Prop (com ES File Explorer ou Editor BuildProp) ...

2  Não é possível copiar arquivos de um / dados / dados / diretório para outro (raiz)  ( Unable to copy files from one data data directory to another root ) 
Estou tentando copiar um arquivo de /data/data/com.application1/myfile para /data/data/com.application2/myfile O arquivo chega com o proprietário e o gr...

0  Como obter permissão para sobrescrever arquivos em / sistema / fontes no telefone android  ( How to get permission for overwrite files in system fonts directory in android ) 
Estou tentando sobrescrever os arquivos das fontes (* .ttf) no meu dispositivo Android (Dell Aero). Minhas novas fontes são residentes no SDCard e estou usand...

2  Não é possível gravar arquivos no cartão SD  ( Cannot write files to sd card ) 
Alguns dias atrás, meu cartão SD tornou-se inutilizável. Eu tentei copiar alguns MP3 do meu laptop (Win 7) para o meu telefone (Samsung S2 Plus, executando o ...

1  ES File Explorer foi negado permissão para um shell interativo  ( Es file explorer has been denied permission for an interactive shell ) 
Eu tenho um Nexus enraizado 7. Eu tenho usado o ES File Explorer junto com ele. Eu fui capaz de navegar por arquivos, depois de definir ferramentas / Root Exp...

2  Downloads não possíveis após raiz  ( Downloads not possible after root ) 
Eu enraizei meu Samsung Galaxy S5 (Android 5.0, SM G900F) recentemente com Odin. Enquanto eu enraizei, eu tinha o Kingroot instalado. Como o Kingroot assumiu ...

4  Como faço para consertar as permissões em / System / App no ​​meu fogo Kindle  ( How do i fix the permissions on system app on my kindle fire ) 
Eu tentei torcer meu Kindle Amazon. Isso pareceu ir bem, mas quando eu tentei adicionar o mercado do Google App, eu aparentemente fiz um grande booboo, porque...

5  Quais sistemas de arquivos posso usar para um SDCard de 128GB no Android 7.1, usado como armazenamento portátil  ( What file systems can i use for a 128gb sdcard on android 7 1 used as portable ) 
Não consigo encontrar uma resposta para isso no stackexchange. Eu tenho um telefone executando o Beta Linegeos 14.1 (Android 7.1) e um cartão SDXC de 128GB qu...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.