ls: .gvfs तक नहीं पहुंच सकता: अनुमति से इनकार किया


11

जब भी मैं मूल (जैसे sudo gedit /etc/default/varnish) के रूप में टर्मिनल में एक आवेदन चलाता हूं , तो बाद में जब मैं एक और टर्मिनल खोलता हूं तो मुझे "एलएस: एक्सेस नहीं मिल सकता है। एलजी: अनुमति से इनकार कर दिया" टर्मिनल की शीर्ष पंक्ति में त्रुटि।

मुझे नेट पर एक समाधान मिला

  umount /path/to/.gvfs
  rm -rf .gvfs

लेकिन यह केवल अस्थायी रूप से समस्या को ठीक करता है।

ऐसा प्रतीत होता है कि मेरे सिस्टम में gvfs के दो घुड़सवार उदाहरण हैं

  $ sudo mount |grep gvfs
    gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=33)
    gvfsd-fuse on /home/****/.gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0)

मुझे नहीं पता कि यह किससे संबंधित है, कुछ महीने पहले मुझे अपने घर के फ़ोल्डर में अनुमति बदलनी पड़ी थी

  sudo chown -R $USER:www-data

क्या आप कृपया मुझे इसे ठीक करने में मदद करेंगे?

संपादित करें: जब से मैं अनमाउंट करता /run/user/1000/gvfsहूं, मुझे वह त्रुटि नहीं मिलती है।


1
और यही एक कारण है कि आपको sudoग्राफिकल कार्यक्रमों के साथ नहीं चलना चाहिए ।
मुरु


@ मुरु आपको लिंक के लिए धन्यवाद, यह अच्छी तरह से समझाता है कि मुझे ग्राफिकल एप्लिकेशन खोलने के लिए सूडो क्यों नहीं चलाना चाहिए। लेकिन मुझे अभी भी आश्चर्य है कि मुझे वह त्रुटि संदेश क्यों मिलने लगा
kenn

लिंक किए गए प्रश्न में शीर्ष उत्तर का हवाला देते हुए: "यह कभी-कभी कॉन्फ़िगरेशन फ़ाइलों को रूट के स्वामित्व में होगा और इस प्रकार आपके लिए दुर्गम होगा (जब आप बाद में कार्यक्रम को खुद के रूप में चलाते हैं और रूट के रूप में नहीं)।"
मूरू

1
मुझे संदेह है कि यह विशेष स्थिति वास्तव में सीधी सुडो के साथ चित्रमय कार्यक्रम चलाने से संबंधित नहीं हो सकती है । उपयोगकर्ता फ़ोल्डर पर अनुमतियाँ / पहुंच हमेशा दिलचस्प (और हम में से कुछ के लिए) आश्चर्यजनक रही है.gvfs
एलियाह कगन

जवाबों:


10

sudoकभी-कभी इस तरह की समस्याओं के कारण ग्राफिकल एप्लिकेशन चल सकते हैं।

व्याख्या

sudoसुपरसुअर विशेषाधिकारों (जैसे रूट के रूप में चल रहा है) के साथ कार्यक्रम चलाता है, लेकिन कार्यक्रम अभी भी आपके होम डायरेक्टरी के रूप में वर्तमान होम निर्देशिका को देखता है ।

इसलिए, जब सॉफ़्टवेयर अपनी कॉन्फ़िगरेशन फ़ाइलों को लिखता है, तो यह आपके होम डायरेक्टरी में ऐसी फाइलें बनाने का काम करेगा जो रूट उपयोगकर्ता के स्वामित्व में हैं । आप उन फ़ाइलों के साथ समाप्त होते हैं जिन्हें आप स्वयं संपादित या हटा नहीं सकते हैं, और सॉफ्टवेयर चल रहा है क्योंकि आप इसे संशोधित नहीं कर पाएंगे, जिससे अधिक समस्याएं हो सकती हैं।

सबसे अच्छा उपाय क्या है?

एक विकल्प है gksudo:।

सुडो का यह वेरिएंट होम वैरिएबल जैसे पर्यावरण वैरिएबल को सेट करेगा, इस तरह से जो ग्राफिकल एप्लिकेशन को रूट को बहुत सुरक्षित बनाता है और आपके होम डायरेक्टरी में रूट के स्वामित्व वाली फाइलों को बनाने में प्रोग्राम्स को भ्रमित नहीं करेगा।

यह ग्राफ़िकल एप्लिकेशन को क्यों प्रभावित करता है?

यह न केवल ग्राफिकल एप्लिकेशन को प्रभावित करता है, और न ही यह सभी ग्राफिकल एप्लिकेशन को प्रभावित करता है। यह उन अनुप्रयोगों को प्रभावित करता है जो वर्तमान उपयोगकर्ता के घर निर्देशिका के अंदर कॉन्फ़िगरेशन को स्टोर करते हैं। यह चित्रमय अनुप्रयोगों के बीच बस अधिक सामान्य है।

कभी-कभी एप्लिकेशन यह पता लगाने में सक्षम होंगे कि क्या वे सुडो के साथ चल रहे हैं और उनके अनुसार अपने व्यवहार को समायोजित कर सकते हैं, लेकिन यह ग्राफिकल अनुप्रयोगों के साथ आम नहीं है जो आमतौर पर सूडो के साथ चलने की उम्मीद नहीं है।

मैं समस्या को कैसे ठीक करूं?

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

अपने घर निर्देशिका में रूट के स्वामित्व वाली फ़ाइलों को खोजने के लिए:

find ~ -user root

यदि आपको अभी भी कुछ एप्लिकेशन (आपके उपयोगकर्ता के रूप में चलाएं) के साथ समस्या हो रही है, तो रीबूट करने का प्रयास करें /tmpऔर अभी भी कुछ भी चल रहा है। कभी-कभी कुछ एप्लिकेशन ने अपनी मौजूदा कॉन्फ़िगरेशन फ़ाइलों को दूषित कर दिया है और आपको अपने होम डायरेक्टरी में उनके सभी कॉन्फ़िगरेशन को हटाने की आवश्यकता हो सकती है , लेकिन उम्मीद है कि यह बहुतों के लिए नहीं होगा।


समझाने के लिए धन्यवाद। मेरे द्वारा यह कैसे किया जा सकता है? या हर कोई मेरे जैसे ही मुद्दा है?
kenn

3
चित्रमय कार्यक्रम चलाने के gksudoबजाय का उपयोग करके sudo
थोमसट्रेटर

इसलिए मेरे सिस्टम में कुछ भी गलत नहीं है।
kenn

2
हां, संभावना के अलावा आपके पास अब अपने घर निर्देशिका में रूट-स्वामित्व वाली फ़ाइलें हैं जो रूट-स्वामित्व वाली नहीं होनी चाहिए।
थोमसट्रेटर

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