Perché a root viene negata l'autorizzazione quando si accede alla directory FUSE?


24

Uso un filesystem FUSE senza problemi come utente personale, ma root non può accedere ai miei mount FUSE. Invece, dà qualsiasi comando Permission denied. Come posso dare a root il permesso di leggere questi supporti?

~/top$ sudo ls -l
total 12
drwxr-xr-x 2 yonran yonran 4096 2011-07-25 18:50 bar
drwxr-xr-x 2 yonran yonran 4096 2011-07-25 18:50 foo
drwxr-xr-x 2 yonran yonran 4096 2011-07-25 18:50 normal-directory
~/top$ fuse-zip foo.zip foo
~/top$ unionfs-fuse ~/Pictures bar

Il mio utente, yonran , può leggerlo bene:

~/top$ ls -l
total 8
drwxr-xr-x 1 yonran yonran 4096 2011-07-25 18:12 bar
drwxr-xr-x 2 yonran yonran    0 2011-07-25 18:51 foo
drwxr-xr-x 2 yonran yonran 4096 2011-07-25 18:50 normal-directory
~/top$ ls bar/
Photos

Ma root non può leggere nessuna delle directory FUSE:

~/top$ sudo ls -l
ls: cannot access foo: Permission denied
ls: cannot access bar: Permission denied
total 4
d????????? ? ?      ?         ?                ? bar
d????????? ? ?      ?         ?                ? foo
drwxr-xr-x 2 yonran yonran 4096 2011-07-25 18:50 normal-directory
~/top$ sudo ls bar/
ls: cannot access bar/: Permission denied

Sto eseguendo Ubuntu 10.04: installo sempre qualsiasi aggiornamento da Canonical.

$ uname -a
Linux mochi 2.6.32-33-generic #70-Ubuntu SMP Thu Jul 7 21:13:52 UTC 2011 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 10.04.3 LTS
Release:    10.04
Codename:   lucid

Modifica : rimossa l'implicazione utilizzata da root per poter accedere ai montaggi. Pensaci, forse i miei script non hanno mai provato ad accedere alla directory come root.

Risposte:


24

Funziona così fuse. Se si desidera consentire l'accesso a utenti root o di altri utenti, è necessario aggiungere:

user_allow_other

in /etc/fuse.conf e montare il filesystem dei fusibili con allow_othero allow_rootcome opzioni.


5
Sono l'unico che l'ha letto e non ha ancora idea di cosa fare realmente? allow_other va in / etc / fstab? Altrove?
Warren P

Sto guardando anche questo, proprio ora. Penso che puoi semplicemente aggiungere "allow_root" al tuo /etc/fuse.conf. Quindi tutte le FUSE di FUSE saranno accessibili da root. Per chiunque venga in questo modo, è un problema per il filesystem kbfs della base di chiavi, che funziona senza allow_root.
Diagon,

Per elaborare da man mount.fuse: sezione Configurazioni: "Alcune opzioni relative alla politica di montaggio possono essere impostate nel file /etc/fuse.conf." (come user_allow_other). Sezione Opzioni di montaggio generali: "allow_other: questa opzione sovrascrive la misura di sicurezza che limita l'accesso ai file all'utente che monta il filesystem. Quindi tutti gli utenti (incluso il root) possono accedere ai file. Questa opzione è consentita per impostazione predefinita solo al root, ma questa restrizione può essere rimosso con un'opzione di configurazione descritta nella sezione precedente. "
gatoWololo,

1
@WarenP: sostanzialmente vuoi farlo: 1) echo "user_allow_other"> /etc/fuse.conf 2) Ogni volta che esegui il tuo programma basato su fusibili, aggiungi l'opzione -o allow_other, in modo che il mountpoint sia accessibile ad altri utenti . (esempio: sshfs ./mountpoint -o allow_other) - funziona perché tutti i programmi in esecuzione su FUSE ereditano le opzioni della riga di comando di FUSE (come allow_other)
felipeek,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.