चामोड 777 -R / सिस्टम को अनुपयोगी क्यों छोड़ता है?


52

मैं केवल कुछ भी करने के लिए सभी को अनुमति दे रहा हूं, लेकिन सिस्टम केवल अनुमति देकर क्रैश क्यों करता है? मैं केवल फाइलों को न बदलने की अनुमति को संशोधित कर रहा हूं।



2
मुझे लगता है, यह दुर्घटनाग्रस्त नहीं है, बल्कि कुछ बिंदु पर सिर्फ बूट प्रक्रिया को निरस्त करता है। यदि आप देखेंगे /var/log/syslog, तो आप इसका कारण भी जान सकते हैं।
हाय-एंजेल

7
यह जानना महत्वपूर्ण है कि अगर यह चीजें नहीं टूटती हैं, तो भी यह "सभी को कुछ भी करने की अनुमति नहीं देगा"। अभी भी बड़ी संख्या में ऐसे कार्य होंगे जो केवल "रूट" (अधिक सटीक रूप से, प्रभावी यूआईडी शून्य के साथ एक प्रक्रिया) कर सकते हैं।
ज़ूल

6
@Glen अगर "संबंधित" से है, तो आप का अर्थ है "सटीक डुप्लिकेट जो दिखाता है कि हमें साइटों पर डुबकी लगाने में सक्षम क्यों होना चाहिए", फिर सुनिश्चित करें! महान लिंक। ;)
underscore_d

4
मैं सच में प्यार करता हूँ कि आप के बारे में कहानी सुनने के लिए इस सवाल पूछ रहा था।
डेवी मॉर्गन

जवाबों:


104

वहाँ के लिए बहुत कारण है।

पहले सामान्य पढ़ने / लिखने / निष्पादित करने की अनुमति के अलावा कुछ अन्य बिट्स होते हैं जिनमें फ़ाइल अनुमतियाँ होती हैं। सबसे विशेष रूप से setuidऔर setgid। जब इन अनुमति बिट्स में से एक के साथ एक प्रोग्राम सेट किया जाता है, तो इसे चलाने वाले उपयोगकर्ता के बजाय प्रोग्राम के मालिक का "प्रभावी यूआईडी" और / या "प्रभावी जीआईडी" प्राप्त होता है। यह प्रोग्राम को चलाने वाले उपयोगकर्ता की तुलना में अधिक अनुमतियों के साथ चलने की अनुमति देता है। यह सहित कई महत्वपूर्ण प्रणाली उपयोगिताओं द्वारा उपयोग किया जाता है suऔर sudo। आपकी chmodकमांड उपयोगिताओं को अनुपयोगी छोड़ते हुए इन बिट्स को साफ करती है।

दूसरे कुछ प्रोग्राम (विशेष रूप से ssh) फ़ाइल अनुमतियों पर एक संन्यास की जाँच करते हैं और वे असुरक्षित के रूप में देखने वाली अनुमतियों के साथ फ़ाइलों का उपयोग करने से इनकार करते हैं। यह लापरवाही से प्रवेश करने के जोखिम को कम करता है गलती से सुरक्षा छेद छोड़ देता है लेकिन यह मिटाए गए फ़ाइल अनुमतियों के साथ सभी अधिक दर्दनाक है।


41

एक छोटा जवाब।

लिनक्स सिस्टम को कुछ कार्यक्रमों जैसे sudoआदि के लिए विशिष्ट अनुमतियों की आवश्यकता होती है ।

जब आप चलाते हैं chmod 777 -R /तो आप सभी अनुमतियों को मिटा देते हैं और उन्हें बदल देते हैं 777। यह सिस्टम को अनुपयोगी बनाता है जब तक कि आप मैन्युअल रूप से सभी अनुमतियों को पुनर्स्थापित न करें।

व्यवहार में यह फिर से स्थापित करने के लिए बहुत तेज और आसान है।

समस्या यह है कि कई सिस्टम प्रोग्रामों को इस तरह से डिज़ाइन किया जाता है कि वे अनुमतियाँ "पसंद नहीं" करने पर शुरू नहीं होते हैं। यह सुरक्षा कारणों से बनाया गया है।

मुझे लगता है कि यह समझाने के लिए अधिक महत्वपूर्ण है कि कैसे पैरेक्टिस में सिस्टम डिज़ाइन को संभालना है, यह समझाने की तुलना में कि प्रत्येक प्रोग्राम गलत परमिशन के साथ काम करने में विफल क्यों है।

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

एक और तरीका (एक बहुत बुरा) रूट अकाउंट को सक्रिय करना और सभी को रूट के रूप में लॉगिन करने की अनुमति देना है।


11
हो सकता है कि किसी को समय लगेगा और वह एक विस्तृत जवाब देगा ;-)
पायलट

1
मैं इस प्रणाली पर हर किसी को सब कुछ करने की अनुमति देने के लिए एक बेहतर तरीके से इंगित कर सकता हूं - लेकिन प्रत्येक द्विआधारी को इसकी विशिष्ट अनुमतियों, सेटिंग्स और झंडे की आवश्यकता क्यों है, इस पर गहन लेख लिखते हुए, एक बहुत कुछ है। ;-)
फिलिप -ज़्यान के ली- स्टॉकमैन जुएल

4
लिनक्स सिस्टम हर किसी को सब कुछ करने की अनुमति देने के लिए डिज़ाइन नहीं किए गए हैं। आप रूट खाता सक्षम कर सकते हैं और हर कोई इसके लिए रूट के रूप में लॉग इन कर सकता है। यह बेवकूफी है, लेकिन यह तरीका है।
पायलट

9
तो Pilot6 आप कहने का मतलब है कि सिस्टम प्रोग्राम इस तरह से डिज़ाइन किए गए हैं कि अगर अनुमति गलत हो जाती है तो उन्हें अनुमति नहीं दी जाती है / ठीक से काम करने में सक्षम नहीं है? और कृपया Pilot6 यदि संभव हो तो कृपया उदाहरणों और स्पष्टीकरण के साथ गहन उत्तर प्रदान करें कि कुछ अनुप्रयोगों को सीमित अनुमति की आवश्यकता क्यों है। धन्यवाद।
बृज राज किशोर

13
दुर्घटना @Goldname है त्रुटि - यह कह कार्यक्रमों की एक पूरी संख्या है "मैं इस राज्य में प्रणाली के साथ महत्वपूर्ण कार्यों प्रदर्शन नहीं कर सकते, तो मैं निरस्त किया जा रहा हूँ"
Shadur

32

chmod सूक्ष्म बारीकियाँ हैं।

chmod 0777से अलग ढंग से व्यवहार करती है chmod u+rwx,g+rwx,o+rwxकि में setuid और setgid पहले से ध्यान केंद्रित किया और बाद से संरक्षित कर रहे हैं।

इसीलिए यह व्यवस्था बेकार हो गई। आपने कुछ कार्यक्रमों से आवश्यक सेतुबंध हटा दिए ।

यहाँ मेरे लिनक्स फेडोरा 23 लैपटॉप पर सेतुबंध या सेटगिड फाइलों की सूची दी गई है:

[root@fedora23lnvr61]# find / -perm /g+s,u+s
/var/log/journal
/var/log/journal/75e870eb13c74fbf97556a32ecf80ea2
/opt/google/chrome/chrome-sandbox
/usr/bin/rogue
/usr/bin/gnuchess
/usr/bin/locate
/usr/bin/umount
/usr/bin/lbrickbuster2
/usr/bin/gpasswd
/usr/bin/crontab
/usr/bin/fusermount
/usr/bin/su
/usr/bin/at
/usr/bin/newuidmap
/usr/bin/sudo
/usr/bin/pkexec
/usr/bin/mount
/usr/bin/chsh
/usr/bin/newgrp
/usr/bin/passwd
/usr/bin/chage
/usr/bin/chfn
/usr/bin/write
/usr/bin/newgidmap
/usr/sbin/mount.nfs
/usr/sbin/lockdev
/usr/sbin/netreport
/usr/sbin/userhelper
/usr/sbin/usernetctl
/usr/sbin/unix_chkpwd
/usr/sbin/pam_timestamp_check
/usr/libexec/kde4/kdesud
/usr/libexec/kde4/kpac_dhcp_helper
/usr/libexec/dbus-1/dbus-daemon-launch-helper
/usr/libexec/qemu-bridge-helper
/usr/libexec/openssh/ssh-keysign
/usr/libexec/spice-gtk-x86_64/spice-client-glib-usb-acl-helper
/usr/libexec/utempter/utempter
/usr/libexec/abrt-action-install-debuginfo-to-abrt-cache
/usr/libexec/Xorg.wrap
/usr/lib/polkit-1/polkit-agent-helper-1
/usr/lib64/vte-2.90/gnome-pty-helper
/usr/lib64/virtualbox/VBoxSDL
/usr/lib64/virtualbox/VirtualBox
/usr/lib64/virtualbox/VBoxNetNAT
/usr/lib64/virtualbox/VBoxHeadless
/usr/lib64/virtualbox/VBoxNetDHCP
/usr/lib64/virtualbox/VBoxNetAdpCtl
/usr/lib64/virtualbox/VBoxVolInfo
/usr/lib64/vte/gnome-pty-helper
[root@fedora23lnvr61]# 

मैंने कैश और लॉग में दर्जनों शोर प्रविष्टियों को हटा दिया।


3
मुझे आश्चर्य है कि उस सूची में ज्ञानी और दुष्ट क्यों हैं?
वाइजऑल्डडक

2
@ वॉयसओल्डडक: मुझे उम्मीद है कि खेलों में थोड़ा सा है इसलिए वे अपनी "उच्च स्कोर" फ़ाइल को अपडेट कर सकते हैं लेकिन किसी भी अनपेक्षित उपयोगकर्ता को ऐसा करने की अनुमति नहीं देते हैं।
१०:२४ पर

3
@ KindOldDuck जैसा कि वैल्कि कहते हैं, प्लस, याद रखें सेतुइड नेसकारेल्ली को रूट का उपयोग नहीं करना है (और afaik setgid वास्तव में रूट के लिए उपयोगी नहीं है)
StarWeaver

5
क्या chmodकर रहा है और उदाहरण के सबूत उपलब्ध कराने के लिए परेशान करने के लिए ऊपर, कुछ है जो कहीं और की कमी है।
अंडरस्कोर_ड

1
क्या इसका मतलब यह है कि chmod u+rwx,g+rwx,o+rwx -R /सिस्टम नहीं टूटेगा?
डेनिस जहरुद्दीन

15

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

चिपचिपा सा एक विशेष अनुमति है, जो किसी को भी फाइल बनाने की /tmpअनुमति देता है, केवल उस व्यक्ति को अनुमति देता है जिसने इसे स्थानांतरित करने या हटाने के लिए बनाया है।


4
"और इससे सिस्टम / tmp निर्देशिका का उपयोग करने से किसी को भी रोका जा सकेगा।" - यह सही नहीं लगता। यह अभी भी किसी को भी सिस्टम / tmp निर्देशिका का उपयोग करने की अनुमति देगा। यदि उपयोगकर्ता, समूह और अन्य सभी के पास सभी अधिकार हैं, तो किसी चिपचिपे बिट की आवश्यकता नहीं है। हालाँकि, यह किसी को भी दूसरों की फ़ाइलों को हटाने की अनुमति देगा।
HVD

1
तो बेन अगर मैं 1777-आरएम चामोड चलाता हूं / तो समस्या नहीं होनी चाहिए क्योंकि मैं चिपचिपा बिट को साफ नहीं कर रहा हूं? -
बृज राज किशोर

धन्यवाद @hvd - आप सही कह रहे हैं और मैंने यह दर्शाने के लिए पोस्ट को थोड़ा बदल दिया है।
बेन एक्सओ

@ बृजराजकिशोर, सवाल यह है कि आप ऐसा क्यों कर रहे हैं। उबंटू और जिन कार्यक्रमों में यह शामिल है, उन्हें कई कारणों से "अनुमति रहित" चलाने के लिए डिज़ाइन नहीं किया गया है। इसके बजाय रूट करने के लिए "सु" के लिए अधिक समझदार होगा।
बेन एक्सओ

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