सवाल ढूंढें: /home/user/.local/share/gvfs-metadata: अनुमति अस्वीकृत


जब मैं एक कमांड टाइप करता हूं find / -name ??.conf आउटपुट में कई निर्देशिकाएं शामिल हैं जैसे कि:

find : /home/simmer/.local/share/gvfs-metadata : Permission Denied 

मुझे वांछित परिणाम नहीं मिलते हैं।

लेकिन अगर मैं एक ही कमांड का उपयोग करता हूं sudo

sudo find : /home/simmer/.local/share/gvfs-metadata

फिर यह अपेक्षित परिणाम दिखाता है।

मुझे क्यों चाहिए sudo इसके लिए विशेषाधिकार?


1
2017-12-24 15:34


मूल




जवाब:


आपको वह त्रुटि नहीं मिलनी चाहिए, क्योंकि निर्देशिका आपके स्वामित्व में होनी चाहिए। मुझे लगता है कि तुम हो गए हो के साथ ग्राफिकल अनुप्रयोग चल रहा है sudo

अपने आप में लॉग इन करते समय, स्वामित्व को सही करें (कृपया उपयोग करते समय हमेशा सावधान रहें chown साथ में sudo)।

sudo chown -R $USER: ~/.local/share/gvfs-metadata

अब आपको इसकी आवश्यकता नहीं होगी sudo इस निर्देशिका को खोजने के लिए।

सामान्य रूप से, अनुमति त्रुटियों के साथ find ऐसा इसलिए होता है क्योंकि आपके पास निर्देशिका पर पढ़ने की अनुमति नहीं है, जो रूट के स्वामित्व वाली कई सिस्टम निर्देशिकाओं का मामला है। आप उपयोग कर सकते हैं sudo find (आदेश में जोड़ने और क्रियाओं से पहले बहुत सावधान रहें) या यदि आप रूट के रूप में खोजना नहीं चाहते हैं, तो बस त्रुटियों को डी-क्लटर परिणामों में जोड़कर छोड़ दें 2>/dev/null आपके आदेश के लिए ...

find /some/path -some_test some_condition 2>/dev/null

1
2018-06-03 21:20





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

ls -l /home/simmer/.local/share/gvfs-metadata

इस कमांड को कुछ ऐसा वापस करना चाहिए:

drwx------  2 simmer simmer 12288 Jun  8 17:39 gvfs-metadata

पहला कॉलम फ़ाइल या निर्देशिका के मालिकों द्वारा निर्धारित अनुमतियों का प्रतिनिधित्व करता है। तीसरे और चौथे कॉलम क्रमशः फ़ाइल / फ़ोल्डर के मालिक और समूह का प्रतिनिधित्व करते हैं।

यदि आप मालिक नहीं हैं या यदि आपके पास पहले कॉलम द्वारा संकेतित पर्याप्त अनुमति नहीं है, तो find कार्यक्रम उन्हें एक्सेस नहीं कर सकता है। हालांकि, का उपयोग कर sudo आदेश आपके विशेषाधिकारों को बढ़ाता है और इस प्रकार find आदेश अब सुपरसुर निर्देशिका द्वारा निष्पादित किया गया है और इसकी उप-निर्देशिकाओं को अब एक्सेस किया जा सकता है।


1
2018-06-07 18:25



इसके अलावा @Zanna का उल्लेख है कि आपको वह त्रुटि नहीं मिलनी चाहिए। यह आपके स्वामित्व में होना चाहिए - Jeremy Jackson
@Zanna मैंने केवल स्टैक-एक्सचेंज पर जवाब लिखना शुरू कर दिया है और इसलिए मैं शिष्टाचार से बहुत परिचित नहीं हूं। सलाह के लिए धन्यवाद। - Jeremy Jackson
:) संपादन के लिए धन्यवाद। अब बहुत अच्छा लग रहा है। उबंटू और स्टैक एक्सचेंज से पूछने के लिए आपका स्वागत है - Zanna