2009-10-20 18 views
12

जब मैं chmod() का उपयोग रन टाइम पर अनुमतियों को परिवर्तित करने के लिए, यह मेरे नीचे संदेश देता है:बदलने अनुमतियाँ "कार्रवाई की अनुमति नहीं"

चेतावनी: chmod() [function.chmod] ऑपरेशन /home/loud/public_html/readalbum.php

में अनुमति नहीं मैं इस त्रुटि को कैसे हटा दें और chmod समारोह काम कर सकते हैं?

उत्तर

16
$ sudo chmod ... 

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

अस्थायी रूप से रूट होने का आसान तरीका सुडो के माध्यम से आदेश चलाने के लिए है। ($ man 8 sudo)

+20

http://xkcd.com/149/ –

+0

आरओटीएफएल .......... – DigitalRoss

+0

मैंने संपादन से पहले नहीं देखा, लेकिन नीचे वोट क्यों? अब उचित लग रहा है ... – atk

3

chmod करने के लिए, आपको उस फ़ाइल का मालिक होना चाहिए जिसे आप संशोधित करने का प्रयास कर रहे हैं, या मूल उपयोगकर्ता।

+0

या पाठ्यक्रम – Joel

+0

@Joel की जड़ में पूरी बात ऊपर लिखा: ठीक है, जोड़ा। –

0

आप, या सबसे अधिक संभावना आपके सिस्टम प्रशासक, रूट के रूप में लॉग इन और chown कमांड चलाने की आवश्यकता होगी: इस आदेश के माध्यम से http://www.computerhope.com/unix/uchown.htm

आप फ़ाइल के मालिक बन जाएगा।

या, आप इस समूह के मालिक होने वाले समूह के सदस्य हो सकते हैं और फिर आप chmod का उपयोग कर सकते हैं।

लेकिन, अपने sysadmin से बात करें।

+0

ऐसा लगता है कि ओपी * * 'sysadmin' नहीं है। – pavium

+0

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

1

यह एक मुश्किल सवाल है।

फ़ाइल अनुमतियों के बारे में समस्याओं का एक सेट। यदि आप इसे कमांड लाइन

$ sudo chown myaccount /path/to/file 

पर कर सकते हैं तो आपके पास मानक अनुमति समस्या है। सुनिश्चित करें कि आप फ़ाइल के स्वामी हैं और निर्देशिका को संशोधित करने की अनुमति है।

यदि आपको अनुमतियां नहीं मिल पाती हैं, तो संभवतः आपने एक एफएटी -32 फाइल सिस्टम लगाया है। यदि आप ls -l फ़ाइल देखते हैं, और आपको लगता है कि यह रूट और "प्लगडेव" समूह का सदस्य है, तो आप निश्चित हैं कि यह समस्या है।/Etc/fstab फ़ाइल की लाइन का उपयोग करके, माउंटिंग के समय FAT-32 अनुमतियां सेट की गई हैं।

UUID=C14C-CE25 /big   vfat utf8,umask=007,uid=1000,gid=1000 0  1 

इसके अलावा, ध्यान दें कि फैट-32 सांकेतिक लिंक नहीं लेंगे: आप इस तरह सभी फ़ाइलों की uid/gid सेट कर सकते हैं।

http://www.charlesmerriam.com/blog/2009/12/operation-not-permitted-and-the-fat-32-system/

संबंधित मुद्दे