cp - नियमित फ़ाइल नहीं बना सकता है: अनुमति अस्वीकृत


23

मैं कॉपी चाहता हूं, /lib/udevलेकिन त्रुटि देता है

cp -f /tmp/ok_pcscd_hotplug.sh /lib/udev

cp:cannot create regular file /lib/udev/ok_pcscd_hotplug : Permission denied

मैं जड़ हूँ, लेकिन समझ नहीं पा रहा हूँ। मैं क्या कर सकता हूँ ?


मेरे मामले में, जब मुझे exFAT पर कुछ कॉपी करने की आवश्यकता थी, तो यह उस प्रत्येक फ़ाइल में विफल हो गया जिसमें "" था। यह फ़ाइल नाम में है।
neverMind9

जवाबों:


24

जांचें कि क्या आप वास्तव में सुपरसियर हैं:

whoami

यदि आउटपुट है root, तो आप सुपरसुअर हैं और आप फ़ाइल की प्रतिलिपि बना सकते हैं:

cp -f /tmp/ok_pcscd_hotplug.sh /lib/udev/.

अन्यथा आपको उपयोग करना होगा sudo:

sudo cp -f /tmp/ok_pcscd_hotplug.sh /lib/udev/.

यदि आप अभी भी निर्देशिका में लिखने में सक्षम नहीं हैं, तो यह संभव है कि:

  1. निर्देशिका में अपरिवर्तनीय ध्वज सक्षम है। के साथ जाँच करें lsattr
  2. निर्देशिका केवल-पढ़ने की अनुमति के साथ मुहिम की जाती है: टर्मिनल में टाइप करें:

    cat /proc/mounts(या mountया cat /etc/mtab)

    और आउटपुट की जाँच करें, अगर निर्देशिका केवल पढ़ने के लिए मुहिम शुरू की है।

यदि आप पहले मामले में हैं, तो निर्देशिका विशेषताओं को बदल दें chattr;

  • फ़ाइल या निर्देशिका पर अपरिवर्तनीय ध्वज निकालें chattr -i <file/dir>
  • फ़ाइल या निर्देशिका पर फिर से अपरिवर्तनीय ध्वज जोड़ना chattr +i <file/dir>

यदि आप बाद वाले मामले में हैं, तो फ़ाइल को संपादित करें /etc/fstab


whoami - आउटपुट रूट I ने cp -f और sudo cp -f की कोशिश की, लेकिन फिर से त्रुटि देता है
user278122

मैंने अपने उत्तर में एक छोटा सा बदलाव किया: मैंने आपके प्रश्न से कमांड की प्रतिलिपि बनाई, लेकिन एक त्रुटि है: कमांड जैसा कि आपने लिखा है, यह udv को अधिलेखित कर देगा, आपको /.फाइलों को कॉपी करने के लिए कमांड के अंत में जोड़ना होगा निर्देशिका
जिरार्डेंगो

मैंने कोशिश की: cp -f /tmp/ok_pcscd_hotplug.sh / lib / udev /। cp -f /tmp/ok_pcscd_hotplug.sh / lib / udev / cp /tmp/ok_pcscd_hotplug.sh / lib / udev मुझे समझ नहीं आ रहा है, मैं रूट हूं, लेकिन कॉपी नहीं किया गया जहां समस्या है
user278122

मैंने अपना उत्तर संपादित किया, आपके प्रश्न में पोस्ट ने भी mountऔरlsattr /lib/
जीरनडेंगो

माउंट / लिबर / - माउंट: नहीं मिल सकता है / lib / in / etc / fstab या / etc / mtab lsattr / lib / - डिवाइस के लिए अनुचित ioctl जबकि हराइल के लिए lib / फ़ाइल नाम आउटपुट पर झंडे पढ़ रहा है
user278122

3

हर बार यह आवश्यक नहीं है कि आपको इस उद्देश्य के लिए रूट होने की आवश्यकता है, इसलिए यदि आप इसे रूट उपयोगकर्ता के साथ करना चाहते हैं तो ठीक है, लेकिन यदि आप इसे रूट के बिना करना चाहते हैं, तो आपके पास 2 विकल्प हैं:

  1. फ़ाइल की अनुमति की जाँच करें। आपने इसके लिए अनुमतियाँ पढ़ी होंगी
  2. गंतव्य निर्देशिका में समान नाम के साथ फ़ाइल या लिंक की जाँच करें। क्योंकि यदि गंतव्य निर्देशिका में समान नाम के साथ लिंक है, तो यह आपको ऐसा करने की अनुमति नहीं देगा और यह भी चेतावनी नहीं देगा कि समान नाम वाला लिंक मौजूद है

1

cp /tmp/ok_pcscd_hotplug.sh /lib/udev/रूट उपयोगकर्ता में प्रयास करें।


परिवर्तन न करें, फिर से त्रुटि देता है - रूट @ atrust-00351A: / lib # ls-l drwxrwxrwx 4 रूट 324 2009-05-22 11:40 udev
user278122

कृपया आउटपुट whoamiऔरls -al /tmp/ok_pcscd_hotplug.sh
साम्बित

whoami - आउटपुट रूट ls -al /tmp/ok_pcscd_hotplug.sh - आउटपुट -rwxr-xr-x 1 रूट रूट 229
user278122

फिर सुनिश्चित करें कि ok_pcscd_hotplug.shदूषित नहीं है और /lib/udev/आपके सिस्टम में मौजूद है।
साम्बत

या तो ok_pcscd_hot_plug.sh या / lib / udev सिस्टम पर उपलब्ध
user278122


0

सबसे पहले "ls -l" करें और इस निर्देशिका के लिए अनुमतियों की जाँच करें। अगर आपको कुछ दिखाई देता है जैसे -rw-r - r--, जिसका मतलब है कि स्वामी पढ़-लिख सकता है, उपयोगकर्ता समूह केवल पढ़ सकता है, विश्व केवल पढ़ सकता है। यदि यह हो तो निम्न कमांड टाइप करें: "chmod 766"। इससे आप उस फाइल पर रीड-राइट ऑपरेशन कर सकते हैं। अब उसी तरह से उस फाइल को कॉपी करने की कोशिश करें। यह काम करना चाहिए


* chmod 766 <file / dir>
passerBy

1
आप अभी भी उत्तर को संपादित कर सकते हैं और उसे जोड़ सकते हैं। और मैं उपयोगकर्ताओं को सभी अनुमतियां देने में विश्वास नहीं करता। इसके बजाय यदि फ़ोल्डर / फ़ाइल को उस उपयोगकर्ता के रूप में लॉगिन किया जाना है जिसके पास विशेषाधिकार हैं। धन्यवाद। :-)
कुल्फी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.