Autore Topic: FileSystem e Permissions?  (Letto 1086 volte)

Offline Il.Socio

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: +3
    • marcobellino
    • Mostra profilo
    • Guardian-Mobile
FileSystem e Permissions?
« il: 21 Luglio 2012, 12:32:45 CEST »
0
Ho appena iniziato a documentarmi riguardo ai permessi che vengono concessi alle app sul file-system.
Ho un paio di domande veloci al riguardo, che mi faciliteranno il compito: :)
- ciascuna app ha un proprio path privato in cui può salvare dei files, a cui non è consentito l'accesso alle altre app? qual'è il path?
- a quali limitazioni sono soggette le app, ovvero, quali sono i path in cui non possono leggere/scrivere?
- quali gruppi esistono di default?

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:FileSystem e Permissions?
« Risposta #1 il: 21 Luglio 2012, 12:49:34 CEST »
+1
Ho appena iniziato a documentarmi riguardo ai permessi che vengono concessi alle app sul file-system.
Ho un paio di domande veloci al riguardo, che mi faciliteranno il compito: :)
- ciascuna app ha un proprio path privato in cui può salvare dei files, a cui non è consentito l'accesso alle altre app? qual'è il path?

Si, il path di solito è /data/data/com.package/files. E' più corretto però fare affidamento al metodo Context.getFilesDir. I file devono essere creati con la modalità Context.MODE_PRIVATE, come spiegato qui: Storage Options | Android Developers

Citazione
- a quali limitazioni sono soggette le app, ovvero, quali sono i path in cui non possono leggere/scrivere?

Da quanto ne so io possono scrivere solo nella cartella /data/data/com.package/ e, a patto che l'applicazione richieda gli appositi permessi, nella sdcard (external storage). Magari può scrivere in /tmp o in altre "pubbliche" del filesystem, ma non ti so dire con certezza se e quali.

Per maggiori informazioni sul sistema di permessi leggi qui:
Permissions | Android Developers

Offline Il.Socio

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: +3
    • marcobellino
    • Mostra profilo
    • Guardian-Mobile
Re:FileSystem e Permissions?
« Risposta #2 il: 21 Luglio 2012, 15:39:52 CEST »
0
grazie mille Rick! ;) è quello che volevo sapere.
essendo basato su linux, sai mica dirmi qualcosa in merito ai gruppi? credo sia un aspetto che alle app Android viene completamente nascosto, ma mi interessava per conoscere un pò meglio il sistema.
Altro dubbio... anche qui su Android esiste e viene gestito lo sticky bit?
« Ultima modifica: 21 Luglio 2012, 15:56:13 CEST da Il.Socio »

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:FileSystem e Permissions?
« Risposta #3 il: 21 Luglio 2012, 16:10:52 CEST »
0
grazie mille Rick! ;) è quello che volevo sapere.
essendo basato su linux, sai mica dirmi qualcosa in merito ai gruppi? credo sia un aspetto che alle app Android viene completamente nascosto, ma mi interessava per conoscere un pò meglio il sistema.
Altro dubbio... anche qui su Android esiste e viene gestito lo sticky bit?

Mi dispiace ma non so darti altre info in merito.

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:FileSystem e Permissions?
« Risposta #4 il: 21 Luglio 2012, 17:28:45 CEST »
+2
Il sistema operativo di Android è Linux, quindi è un sistema operativo POSIX, ma Google ha modificato delle cose.

Android non ha i soliti file "/etc/passwd" e "/etc/group" per uid e gid.

Ogni volta che si installa un nuovo pacchetto viene creato un nuovo uid per il pacchetto e aggiunto in "/data/system/packages.xml" insieme a tante altre informazioni.

Gli utenti e gruppi sono build-in nel sorgente del kernel di Android, si trovano nel file "system/core/include/private/android_filesystem_config.h". Ad esempio la shell ha uid e gid 2000, quindi non può accedere ai file dei pacchetti in "/data/data" i quali hanno uid e gid del pacchetto istallato.

Lo sticky bit è gestito ma è sempre fisso. Nel file "android_filesystem_config.h" si può vedere che la directory "/data/misc" ha quel bit attivo.

Anche i set-uid è gestito, infatti il file "/system/xbin/su" ha questo flag attivo ma non viene distribuito nella build per end user.

Francamente da utente esperto Linux non mi piace questa cosa, avrei preferito il sistema classico, non aumenta la sicurezza e costringe a studiarsi i sorgenti per capire cosa hanno combinato.

adb logcat | tee /tmp/logcat | grep TAG

Offline Il.Socio

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: +3
    • marcobellino
    • Mostra profilo
    • Guardian-Mobile
Re:FileSystem e Permissions?
« Risposta #5 il: 21 Luglio 2012, 23:33:38 CEST »
0
perfetto! ;) grazie mille! :)