FUSEディレクトリにアクセスするときにrootが許可を拒否されるのはなぜですか?


24

私は自分のユーザーとしてFUSEファイルシステムを問題なく使用していますが、rootはFUSEマウントにアクセスできません。代わりに、どのコマンドでもが与えられPermission deniedます。これらのマウントを読み取る許可をルートに与えるにはどうすればよいですか?

~/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

私のユーザーyonranはそれをうまく読むことができます:

~/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

しかし、ルートは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

Ubuntu 10.04を実行しています:常に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

編集:ルートがマウントにアクセスできるようにするために使用する意味を削除しました。考えてみると、私のスクリプトはルートとしてディレクトリにアクセスしようとしなかったのかもしれません。

回答:


24

それが機能する方法fuseです。ルートまたは他のユーザーへのアクセスを許可する場合は、次を追加する必要があります。

user_allow_other

/etc/fuse.confで、allow_otherまたはallow_rootオプションとしてfuseファイルシステムをマウントします。


5
私はそれを読んだだけで、実際に何をするべきかまだ分かりませんか?allow_otherは/ etc / fstabに入りますか?どこか別の場所?
ウォーレンP

私も今見ています。「allow_root」を/etc/fuse.confに追加するだけでいいと思います。その後、すべてのFUSE fsにrootからアクセスできます。この方法で来た人にとっては、allowbaseなしで実行されるキーベースのkbfsファイルシステムの問題です。
ダイアゴン

man mount.fuseから詳しく説明するには:構成セクション:「マウントポリシーに関するいくつかのオプションは、ファイル/etc/fuse.confで設定できます。」(user_allow_otherなど)。一般的なマウントオプションセクション: "allow_other:このオプションは、ファイルシステムをマウントするユーザーへのファイルアクセスを制限するセキュリティ対策をオーバーライドします。したがって、すべてのユーザー(rootを含む)がファイルにアクセスできます。このオプションは、デフォルトでroot前のセクションで説明した構成オプションを使用して削除してください。」
gatoWololo

1
@WarenP:基本的にこれを行いたい:1)echo "user_allow_other"> /etc/fuse.conf 2)ヒューズベースのプログラムを実行するときはいつでも、オプション-o allow_otherを追加して、他のユーザーがマウントポイントにアクセスできるようにします。 。(例:sshfs ./mountpoint -o allow_other)-これは、FUSEで実行されるすべてのプログラムがFUSEのコマンドラインオプション(allow_otherなど)を継承するため機能します
felipeek
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.