FUSE
FUSE (Filesystem in Userspace) on tekniikka, jolla erilaisia tiedostojärjestelmäajureita voidaan toteuttaa käyttäjätilan ohjelmina, erotuksena normaaleista tiedostojärjestelmäajureista, joita ajetaan ytimen moduuleina. FUSE mahdollistaa vaikkapa FTP- tai SFTP-etäkoneen liittämisen osaksi tiedostojärjestelmää. Jos liitoskohta on esimerkiksi käyttäjän kotihakemistossa, onnistuu liittäminen yleensä ilman pääkäyttäjän oikeuksia.
FUSEn kautta toimivien tiedostojärjestelmien ei tarvitse olla GNU GPL-lisensoituja kuten Linuxin ydinmodulien, minkä ansiosta samoja tiedostojärjestelmätoteutuksia voidaan käyttää vaikkapa FreeBSD:ssä tai Solariksessa, kunhan käytössä olevasta ytimestä löytyy FUSE-tuki.
FUSE:n käyttö edellyttää FUSE-ohjelmiston asentamista. FUSE löytyy useimpinen jakeluiden paketinhallinnasta nimellä fuse, usein jo esiasennettuna. Myös fuse-nimisen ytimen moduulin on oltava ladattuna, mikäli sitä ei ole käännetty kiinteäksi osaksi ydintä. Moduulin voi tilapäisesti ladata komennolla modprobe fuse.
Ytimen versiosta 2.6.31 lähtien käytettävissä on myös CUSE-rajapinta (Character devices in user space), jonka avulla tiedostojärjestelmien lisäksi voidaan toteuttaa kokonaan käyttäjätilassa myös laitetiedostoja. Sen avulla aiotaan tulevaisuudessa mahdollisesti mm. toteuttaa vanhanaikaisen OSS-äänijärjestelmän tuki ytimen ulkopuolella, ja muutenkin siivota vanhoja ajureita ytimen ulkopuolelle.
Käyttö
Apple iOS
Jos liitokset tiedostojärjestelmään tekee root-oikeuksilla, normaalit käyttäjät eivät näe koko liitoshakemistoa, saati sen sisältöä.
Ensimmäisen laitteen liittäminen tiedostojärjestelmään:
ifuse /mnt/iphone --root
Parittaminen:
idevicepair pair
ERROR: Could not validate with device 68bcb3c420a755854fab52b520508887b20a702f because a passcode is set. Please enter the passcode on the device and retry johtuu laitteen ruudulla odottavasta luottosuhteen varmistamisesta, valitsemalla 'trust' komento onnistuu:
idevicepair pair SUCCESS: Paired with device 68bcb3c420a755854fab52b520508887b20a702f
Liittäminen udid:llä:
ifuse --udid 68bcb3c420a755854fab52b520508887b20a702f /mnt/iphone
Liitoksen varmistaminen mount-listauksesta:
mount ifuse on /mnt/iphone type fuse.ifuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0)
Liitetyn laitteen irroitus tiedostojärjestelmästä:
fusermount -u /mnt/iphone