यह रूट के रूप में चल रहा है, भले ही पढ़ने / चलाने / उपयोगकर्ता / 1000 / gvfs क्यों नहीं मिल रहा है?


34

क्या कोई मुझे बता सकता है कि मैं क्या गलत कर रहा हूं, यह क्या है, या इसे कैसे ठीक किया जाए? मैं Fedora 18 चला रहा हूं और त्रुटि दिखाई जा रही है

[root@servername /]# find . -name ngirc
find: `./run/user/1000/gvfs': Permission denied
[root@servername /]# 
[root@thinktank /]# pwd
/
[root@thinktank /]# ls -ltr ./run/user/1000
ls: cannot access ./run/user/1000/gvfs: Permission denied
total 0
d?????????? ? ?    ?      ?            ? gvfs
lrwxrwxrwx. 1 root root  17 May 28 12:30 X11-display -> /tmp/.X11-unix/X0
drwx------. 2 kal  kal  120 May 28 12:30 keyring-QjDw4b
drwx------. 2 kal  kal   40 May 28 12:30 gvfs-burn
drwx------. 2 kal  kal   60 May 28 12:30 krb5cc_5f0bcaf94f916d6b61696e2251a4dbb3
drwx------. 2 kal  kal   60 May 28 18:25 dconf

आप कुछ भी गलत नहीं कर रहे हैं और मेरा सुझाव केवल त्रुटि को अनदेखा करना होगा। यदि यह स्वीकार्य नहीं है, तो findकमांड लाइन पर GVFS माउंट बिंदु को छोड़कर कैसे ?
ट्रिपलआई

जवाबों:


33

आप कुछ भी गलत नहीं कर रहे हैं, और ठीक करने के लिए कुछ भी नहीं है। /run/user/$uid/gvfsया GVFS को FUSE इंटरफ़ेस के ~$user/.gvfsलिए माउंट बिंदु है । GVFS Gnome के लिए एक वर्चुअल फाइलसिस्टम कार्यान्वयन है, जो Gnome अनुप्रयोगों को एफ़टीपी या सांबा सर्वर जैसे संसाधनों तक पहुँचने या स्थानीय निर्देशिकाओं जैसे ज़िप फ़ाइलों की सामग्री की अनुमति देता है। FUSE फाइल सिस्टम ड्राइवरों को उपयोगकर्ता कोड (कर्नेल कोड के बजाय) के रूप में लागू करने का एक तरीका है। GVFS-FUSE प्रवेश द्वार GVFS फाइलसिस्टम ड्राइवरों को सभी अनुप्रयोगों के लिए सुलभ बनाता है, न कि केवल Gnome पुस्तकालयों का उपयोग करने वाले।

FUSE फाइल सिस्टम के साथ ट्रस्ट की सीमाओं का प्रबंधन करना मुश्किल है, क्योंकि पारंपरिक सिस्टम के लिए कर्नेल कोड के विपरीत फाइलसिस्टम ड्राइवर एक अनप्रोविलेड यूजर के रूप में चल रहा है। डिफ़ॉल्ट रूप से जटिलताओं से बचने के लिए, FUSE फाइल सिस्टम केवल ड्राइवर प्रक्रिया चलाने वाले उपयोगकर्ता के लिए ही सुलभ है। यहां तक ​​कि रूट इस प्रतिबंध को बायपास करने के लिए नहीं मिलता है।

यदि आप केवल स्थानीय फाइल सिस्टम पर फ़ाइल खोज रहे हैं, तो पास -xdevकरें find। यदि आप कई स्थानीय फाइल सिस्टम को पार करना चाहते हैं, तो उन सभी को एन्यूमरेट करें।

find  / /home -xdev -name ngirc

यदि फ़ाइल कल से मौजूद है, तो आप locate ngircइसके बजाय कोशिश कर सकते हैं ( locateएक फ़ाइल नाम डेटाबेस के माध्यम से खोज जो आमतौर पर रात में अपडेट की जाती है)।

यदि आप GVFS माउंट पॉइंट को पार करना चाहते हैं, तो आपको उचित उपयोगकर्ता के रूप में ऐसा करना होगा।

find / -name ngirc -path '/run/user/*/gvfs' -prune -o -path '/home/*/.gvfs' -prune -o -name ngirc -print
for d in /run/user/*; do su "${d##*/}" -c "find $d -name ngirc -print"; done

GVFS और FUSE के महान स्पष्टीकरण के लिए धन्यवाद। मैंने आपके उदाहरण में 'खोज' चलाने की कोशिश की और इसने बहुत काम किया।
कल

FUSE फ़ाइलों को रूट करने से कैसे रोकता है? निश्चित रूप से जड़ में ऐसे सुरक्षा को निष्क्रिय करने की क्षमता है।
अकिन्स

1
@ एनएटी रूट अपनी प्रक्रिया के लक्ष्य को लक्ष्य यूआईडी में बदल सकता है, इसलिए सुरक्षा को दरकिनार करते हुए सुरक्षा तुच्छ है। लेकिन कर्नेल में एक्सेस कंट्रोल फ़ंक्शन रूट तक पहुंच से इनकार करता है। यह घटना अन्य फाइल सिस्टम के साथ भी होती है, जैसे कि रूट मालिक की यूआईडी पर स्विच किए बिना एनएफएस पर निजी निर्देशिकाओं तक नहीं पहुंच सकता है।
गिल्स एसओ- बुराई को रोकें '

2
"जटिलताओं से बचने के लिए" ... वैसे यह एक बड़ी जटिलता है क्योंकि मैंने माउंट कमांड का उपयोग एक क्लीनर फ़ोल्डर नाम के लिए शेयर पथ को मैप करने के लिए नहीं कर सकता है .. सुडो माउंट का उपयोग करते समय रूट से इनकार कर दिया।
नुज़ोलिलो

@Nuzzolilo मुझे नहीं पता कि आप किस बारे में बात कर रहे हैं। यदि आपको कोई समस्या है, तो एक नया प्रश्न पूछें, और अपने परिदृश्य की व्याख्या करना सुनिश्चित करें।
गाइल्स का SO- बुराई पर रोक

10

यह एक फ्यूज मुद्दा है । मालिक को छोड़कर कोई भी उपयोगकर्ता नहीं पढ़ सकता है। डिफ़ॉल्ट कॉन्फ़िगरेशन के आसपास काम करने के लिए, user_allow_other विकल्प को सक्षम करने का प्रयास करें। यह विकल्प इसे /etc/fuse.conf में जोड़कर निर्दिष्ट किया गया है। इसका कोई मूल्य नहीं है, बस एक रिक्त रेखा पर विकल्प निर्दिष्ट करें।


धन्यवाद। मुझे वास्तव में समझ नहीं आ रहा है कि फ्यूज क्या है, लेकिन आपकी टिप्पणी और don_crissti की टिप्पणी में बग रिपोर्ट से थोड़ा सा पढ़ने के बाद, मैं यह अनुमान लगा रहा हूं कि मुझे यूएसबी हार्ड ड्राइव के साथ क्या करना है जिसे मैंने या मेरे सांबा सर्वर में प्लग किया है? क्या कोई सुरक्षा समस्याएं हैं, जिन्हें मुझे "user_allow_other" को सक्षम करने पर विचार करना चाहिए और क्या बढ़ते हुए कोई अन्य विकल्प हैं जो मुझे विचार करना चाहिए? धन्यवाद।
काल

1
धन्यवाद, लेकिन यह वास्तव में मेरे लिए कोई समाधान नहीं है अगर कोई और सिस्टम का उपयोग नहीं कर सकता है। मैं कैसे बता सकता हूं कि मालिक कौन है? मैंने अपने बाहरी हार्ड ड्राइव को अनमाउंट / डिस्कनेक्ट करने और अपने सांबा सर्वर को बंद करने की कोशिश की। सभी जो मैं वास्तव में करना चाहता हूं, वह सुरक्षा से समझौता किए बिना किसी फ़ाइल के लिए संपूर्ण फ़ाइल सिस्टम को खोजने में सक्षम है। क्या FUSE का कोई विकल्प है और क्या वास्तव में इसका उपयोग किया जा रहा है, यह बताने का एक तरीका है? धन्यवाद।
काल

askubuntu.com/questions/715637/… मैंने @Christopher से सुझाव लेने की कोशिश की लेकिन कमांड लाइन के विकल्पों का सम्मान नहीं किया गया। मुझे संदेह है कि डेमन ऑटो लॉन्चर को एक निश्चित तरीके से कॉन्फ़िगर किया गया है, लेकिन मुझे ऐसा करने के लिए कॉन्फ़िगरेशन दस्तावेज़ नहीं मिल रहा है
Nuzzolilo

3

यदि आपको निम्नलिखित के अनुसार gvfs के लिए अनुमति और अन्य विवरण मिल रहे हैं

d?????????? ? ?    ?      ?            ? gvfs

तो बस निम्नलिखित आदेश का उपयोग करके अपने gvfs को अनमाउंट करें। इस प्रक्रिया का पालन करने के बाद आपका मुद्दा हल हो जाएगा।

umount ~/gvfs(umount /run/user/112/gvfs in my case).

जीवीएफएस (GNOME वर्चुअल फाइल सिस्टम) GNOME डेस्कटॉप के लिए वर्चुअल फाइल सिस्टम है, जो उपयोगकर्ताओं को SFTP, FTP, WebDAV, SMB, और udev एकीकरण के माध्यम से स्थानीय डेटा के माध्यम से दूरस्थ डेटा तक आसान पहुंच प्रदान करता है ताकि आपको इसे अनमाउंट करते समय डरने की आवश्यकता न हो। ।


3

यह एक पुराना धागा है लेकिन गनोम बग की रिपोर्ट में यह एक हालिया खुला मुद्दा है इसलिए यह gvfs-fuser के मुद्दों को हल करने के लिए घंटों तक खोज करने वाले किसी व्यक्ति के लिए कुछ काम का हो सकता है - जो सभी को कसकर संबंधित लगता है।

एमएसडी से त्रुटि त्रुटि:

Error copying '/media/root/5FDA03906F33F217/SAVE/rsyncTEST-usb/allusers' to '/run/user/0/gvfs/ftp:host=192.168.0.103/var/ftp/ftpd/images/PersistenceUSBs/rsync-meld/allusers'

[Errno 95] Operation not supported: '/run/user/0/gvfs/ftp:host=192.168.0.103/var/ftp/ftpd/images/PersistenceUSBs/rsync-meld/allusers'.

मुझे gvfs-fuser समस्या का सामना करना पड़ा, जो कि ftp पर मेल्ड / डिफरेंट / kdiff का उपयोग करने का प्रयास करती है। लगता है समस्या fuser और gvfs के बीच है। समस्या ३.१५.१ में नहीं लगती है, लेकिन ३.१५.२ में बताई जाने लगती है। (नया अजगर)?

क्रिस्टोफर का जवाब समस्या को परिभाषित करता है और समाधान प्रदान करता है।

एक अन्य संभावित समाधान sshfs का उपयोग कर रहा है ( इस टिप्पणी और इस धागे को देखें )। अधिक जानकारी के लिए gvfs-commands, देखें कि gvfs कमांड और कैट, ls, cp जैसी सामान्य कमांड में क्या अंतर है?

संभवतः संबंधित बगों में GNOME # 317875 और GNOME # 768281 शामिल हैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.