Lineage OS SELinux expert

 ( mrev | 2018. január 2., kedd - 16:54 )

Szeretnék külső usb-s meghajtót mountolni a telóra ext4 fájlrendszerrel. Az a problémám, hogy az SELinux megakadályozza a normál használatot.

Tehát ott tartok, hogy fel van mountolva a külső meghajtó, de jelenleg csak két rossz megoldás közül tudok választani:

1) root-ként használom, vagy

2) permissive módba állítom az SELinuxot.

Kell egyen valami olyan mount opció (context=valami), amivel át lehet lépni az SELinuxon az adott meghajtót illetően anélkül, hogy az általános biztonságot aláásnám. De mi?

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Ha a selinuxos ownere user_u lesz akkor elvileg nem lehet probléma. De az android elég speciális implementáció, jó kérdés ott, hogy vannak a contextek, meg a userek (ez erősen policy függő).
Mivel ext4 ezért első körben valami általánosan elérhető partíció alá mountolnám, pl. /sdcard. Utána pedig egy 'restorecon -Rp /' (nyilván rootként), mert örökli elvileg a felette lévőt. Ez nem 100%, hogy működik így droidon.

Köszönöm.
--
ulysses.co.hu

Próbálgatással megoldódott, egyszerűbb, mint gondoltam,. A kezdőposztban elfelejtettem írni, hogy "normális" használaton azt értem, hogy a termux (unix) user normálisan tudja írni-olvasni a saját fájljait. Hogy a file manager és a music player hogyan veszi az akadályokat, az másodrendű.

1) Tehát, a pendrive bedugásakor automatikusan létrejön egy ilyen mount (tördelve):

  /dev/block/vold/public:8_1 on
    /mnt/media_rw/4e8de294-1a42-4065-985b-1697eec890cd 
    type ext4 (rw,dirsync,context=u:object_r:sdcard_posix:s0)

(Máris lehet kalapot emelni a Lineage előtt, a MIUI ugyanis nem hajlandó foglalkozni a külső ext4 fájlrendszerrel.)

2) A pendriveon rootként csinálok egy termux nevű directoryt, azt a termux user tulajdonába adom.

3) A termux user home-jában csinálok egy loopback mountot (tördelve):

  sudo  /system/bin/mount  
    /mnt/media_rw/4e8de294-1a42-4065-985b-1697eec890cd/termux 
    `pwd`/media

Ezzel a termux user látja/írja a pendriveon létrehozott termux directoryt. Még érdekes, hogy milyen context-tel jönnek létre a fájlok

  touch hopp
  ls -Z -l hopp                                                                               
  -rw------- 1 u0_a104 u0_a104 u:object_r:sdcard_posix:s0 0 2018-01-03 10:19 hopp        

A default umask miatt minden kizárólag a termux useré, de megfelelő fájl hozzáférések beállítása után a file manager és társaik is tudják használni a külső meghajtót.
--
ulysses.co.hu