अनुमति को अस्वीकार कर दिया गया, भले ही मालिक मेरे रूप में सूचीबद्ध हो


13

किसी तरह, मैं chmod में कामयाब रहा और मेरे ~ विस्मरण में घुट गया।

जब मैं शेल के माध्यम से लॉगिन करने का प्रयास करता हूं, तो मुझे मिलता है

bash: ~/.bashrc : Permission denied

के बाद भी ( रूट के रूप में ) मैं चला हूं

chown -hR nroach44 /home/nroach44

तथा

chmod -R 666 /home/nroach44

या ( nroach44 के रूप में )

chmod -R 644 /home/nroach44

इनमें से कोई भी आदेश त्रुटि नहीं देता है।

इसके अलावा:

ls -la /home/nroach44

बहुत लौटाता है

drw-rw-rw-  1 nroach44 nroach44 4096 --date-- ti:me foldername

कोई मदद?


सबको शुक्रीया! होम फ़ोल्डर में अब किन फ़ाइलों की आवश्यकता है, इसके लिए कोई मार्गदर्शिका? :)
NRoach44

/homeहोना चाहिए drwxrwxr-xऔर root:rootऔर /home/user rw rw -- or r-निर्भर करता है अगर आप चाहते हैं अन्य उपयोगकर्ताओं के लिए अपने उपयोगकर्ताओं को फ़ाइलों को पढ़ने में। निर्देशिकाएँ और निष्पादन योग्य फाइलें xuserयदि आपके पास समूह (उपयोगकर्ता (nroach44: nroach44) है तो उसी निर्देशिका के अंदर कोई समस्या नहीं होगी, जैसे आपको लगता है (मैं केवल दूसरों पर 0 (---) की अनुमति देता हूं)।
लॉरेंट

जवाबों:


14
chmod -R 666 /home/nroach44

या

chmod -R 644 /home/nroach44

यह आपके घर की सभी फाइलों को गैर-निष्पादन योग्य बना देगा। यह एक अच्छा विचार नहीं था;)

मुझे नहीं पता कि इस गंदगी को कैसे साफ किया जाए, एक त्वरित समाधान के रूप में आप जड़ के रूप में करने की कोशिश कर सकते हैं:

chmod -R 755 /home/nroach44

यह कमांड आपके होम फोल्डर की सभी फाइलों को निष्पादित अनुमति देगा। इसे आपकी तात्कालिक समस्याओं को हल करना चाहिए, लेकिन यह सुरक्षा दुःस्वप्न हो सकता है।

सबसे अच्छा उपाय यह है कि किसी अन्य उपयोगकर्ता खाते को खोलें और एक-एक करके फाइल और सेटिंग्स में स्थानांतरित करें।


6
मुझे नहीं पता था कि निर्देशिकाओं को खोलने के लिए x अनुमतियों की आवश्यकता है। धन्यवाद!
NRoach44

5

निर्देशिकाओं को निष्पादित करने की आवश्यकता है, ताकि आप निर्देशिका में उतर सकें। 666भले ही आप रूट के रूप में चल रहे हों, प्लेन गलत है। यह सभी को लिखने की अनुमति देता है।

फ़ाइलों को अधिक सुरक्षित बनाने के लिए, चलाएं:

chmod -R 640 /home/nroach44

फ़ोल्डरों को फिर से उतरने योग्य बनाने के लिए, चलाएं:

find /home/nroach44 -type d -exec chmod 750 \;

नोट: मैंने xx0 के लिए चुना क्योंकि कुछ फाइलें संवेदनशील हो सकती हैं और दूसरों द्वारा नहीं पढ़ी जा सकती हैं। बस बचाने के लिए, पढ़ने / लिखने / दुनिया के लिए अनुमतियों को निष्पादित करें।


मैं केवल 666 परीक्षण करने के लिए था कि यह काम करेगा या नहीं :)
NRoach44

4

जैसा कि आप ~ पर पर्याप्त अनुमतियाँ प्रकट करते हैं, आपको /homeदूसरों के लिए x अनुमति ( sudo chmod +rx /home) की आवश्यकता है और जांचें कि क्या अनुमतियाँ /home/nroach44/.bashrcफ़ाइल में ठीक हैं ।

एक और बिंदु, निर्देशिकाओं में एक्स अनुमतियाँ होनी चाहिए ताकि वे उन सभी को ठीक कर सकें, आपको चलाने की आवश्यकता है sudo chmod -R +X /home/nroach44


पता करने के लिए फ़ोल्डर्स को दर्ज करने के लिए निष्पादन की अनुमति की आवश्यकता थी, इससे पहले जानकर अच्छा लगा, इसलिए धन्यवाद!
NRoach44


पूंजी Xबहुत उपयोगी है और मैं इसे खोजने के लिए बहुत खुश था ... एक लंबे समय के बाद खोज का उपयोग करते हुए !!
लॉरेंट

1

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

bash: ~/.bashrc : Permission denied

मुझे लगता है कि आपने अपने घर निर्देशिका में सभी फ़ाइलों की अनुमति बदल दी है, इसलिए bashrc की अनुमति भी बदल गई है।

डिफ़ॉल्ट अनुमतियाँ ~ / .bashrc स्क्रिप्ट है

-rw-r--r-- 1 user1 user1  3353 2012-01-09 12:05 .bashrc

इसे समझाने के लिए, आपके पास फ़ाइल पर पढ़ने और लिखने दोनों की अनुमति होनी चाहिए, उपयोगकर्ता समूह के अन्य उपयोगकर्ता इसे पढ़ने में सक्षम हो सकते हैं, और अन्य सभी इसे भी पढ़ सकते हैं।

तो अब chashod का उपयोग करके bashrc स्क्रिप्ट की अनुमतियों को 644 में बदलें

chmod 644 ~/.bashrc

यदि उपरोक्त आदेश अनुमति से इनकार करते हैं। फिर

सूडो के रूप में सबसे पहले चाउ रन करें

sudo chown user1:usergrp ~/.bashrc

user1 को अपने उपयोगकर्ता नाम और अपने डिफ़ॉल्ट उपयोगकर्ता समूह के साथ usergrp से बदलें।

अब फिर से करते हैं

chmod 644 ~/.bashrc

अब आपके पास basrc स्क्रिप्ट के लिए अनुमतियाँ होंगी, अब लॉगिन करने और जांचने की कोशिश करें कि क्या आपको कोई अन्य त्रुटि मिलती है :)


0

निर्देशिकाओं को खोलने के लिए x बिट सेट (निर्देशिका के लिए बिट को खोज बिट के रूप में देखा जाता है) की आवश्यकता होती है। इसलिए मैं पेड़ का उपयोग करता हूं इसलिए मैं केवल फ़ोल्डर सेट प्राप्त कर सकता हूं और सभी फ़ाइलों को निष्पादन योग्य के रूप में सेट करने से बचना चाहिए (पेड़ के लिए विकल्प -d List directories only.):

sudo tree -faid /home/nroach44 | xargs -L1 -I{} sudo chmod 755  "{}"

चेतावनी !!! आपको इस पर विचार करना चाहिए:

  • रूट /डायरेक्टरी या सिस्टम डाइरेक्टरीज़ पर चामोड या चाउन रिकर्सिव का उपयोग करना आपके ओएस को नष्ट कर देगा (वास्तव में /डायरेक्ट्री या सिस्टम डाइरेक्टरी पर पुनरावर्ती कुछ भी खतरनाक है)

  • यह अनुमति थोक की तरह सेट करने के लिए एक अच्छा सुरक्षा अभ्यास नहीं है

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