FUSE डायरेक्ट्री तक पहुँचने पर रूट को अनुमति क्यों मिलती है?


24

मैं अपने उपयोगकर्ता के रूप में कोई समस्या नहीं के साथ एक FUSE फाइल सिस्टम का उपयोग करता हूं, लेकिन रूट मेरे 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

in /etc/fuse.conf और विकल्प के रूप में allow_otherया उसके साथ अपने फ़्यूज़ फ़ाइल सिस्टम को माउंट allow_rootकरें।


5
क्या मैं वही हूँ जो अभी भी पढ़ा है और अभी भी कोई विचार नहीं है कि वास्तव में क्या करना है? allow_other / in / etc / fstab में जाता है? कहीं और?
वॉरेन पी।

मैं यह भी देख रहा हूँ, अभी। मुझे लगता है कि आप बस अपने /etc/fuse.conf में "allow_root" जोड़ सकते हैं। तब सभी FUSE fs रूट द्वारा पहुंच योग्य होंगे। जो कोई भी इस तरह से आता है, यह कीबेस फाइलबी के लिए एक मुद्दा है, जो बिना अनुमति के चलता है।
Diagon

मैन माउंट फ़्यूज़ से विस्तृत करने के लिए: कॉन्फ़िगरेशन अनुभाग: "माउंट नीति के बारे में कुछ विकल्प फ़ाइल /etc/fuse.conf में सेट किए जा सकते हैं।" (जैसे user_allow_other)। सामान्य माउंट विकल्प अनुभाग: "allow_other: यह विकल्प फाइल सिस्टम को बढ़ते हुए उपयोगकर्ता तक फ़ाइल पहुंच को प्रतिबंधित करने वाले सुरक्षा उपाय को ओवरराइड करता है। इसलिए सभी उपयोगकर्ता (रूट सहित) फ़ाइलों तक पहुंच सकते हैं। यह विकल्प डिफ़ॉल्ट रूप से केवल रूट करने की अनुमति है, लेकिन यह प्रतिबंध है। पिछले अनुभाग में वर्णित कॉन्फ़िगरेशन विकल्प के साथ हटा दिया जाए। "
गटवोलो

1
@WarenP: मूल रूप से आप ऐसा करना चाहते हैं: 1) इको "user_allow_other"> /etc/fuse.conf 2) जब भी आप अपना फ्यूज-आधारित प्रोग्राम चलाते हैं, तो विकल्प जोड़ें -o allow_other, ताकि माउंटपॉइंट अन्य उपयोगकर्ताओं द्वारा सुलभ हो सके । (उदाहरण: sshfs/mountpoint -o allow_other) - यह काम करता है क्योंकि FUSE के कमांड लाइन विकल्प (जैसे allow_other) पर चलने वाले सभी प्रोग्राम
felipeek
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.