मैं केवल कुछ भी करने के लिए सभी को अनुमति दे रहा हूं, लेकिन सिस्टम केवल अनुमति देकर क्रैश क्यों करता है? मैं केवल फाइलों को न बदलने की अनुमति को संशोधित कर रहा हूं।
/var/log/syslog
, तो आप इसका कारण भी जान सकते हैं।
मैं केवल कुछ भी करने के लिए सभी को अनुमति दे रहा हूं, लेकिन सिस्टम केवल अनुमति देकर क्रैश क्यों करता है? मैं केवल फाइलों को न बदलने की अनुमति को संशोधित कर रहा हूं।
/var/log/syslog
, तो आप इसका कारण भी जान सकते हैं।
जवाबों:
वहाँ के लिए बहुत कारण है।
पहले सामान्य पढ़ने / लिखने / निष्पादित करने की अनुमति के अलावा कुछ अन्य बिट्स होते हैं जिनमें फ़ाइल अनुमतियाँ होती हैं। सबसे विशेष रूप से setuid
और setgid
। जब इन अनुमति बिट्स में से एक के साथ एक प्रोग्राम सेट किया जाता है, तो इसे चलाने वाले उपयोगकर्ता के बजाय प्रोग्राम के मालिक का "प्रभावी यूआईडी" और / या "प्रभावी जीआईडी" प्राप्त होता है। यह प्रोग्राम को चलाने वाले उपयोगकर्ता की तुलना में अधिक अनुमतियों के साथ चलने की अनुमति देता है। यह सहित कई महत्वपूर्ण प्रणाली उपयोगिताओं द्वारा उपयोग किया जाता है su
और sudo
। आपकी chmod
कमांड उपयोगिताओं को अनुपयोगी छोड़ते हुए इन बिट्स को साफ करती है।
दूसरे कुछ प्रोग्राम (विशेष रूप से ssh
) फ़ाइल अनुमतियों पर एक संन्यास की जाँच करते हैं और वे असुरक्षित के रूप में देखने वाली अनुमतियों के साथ फ़ाइलों का उपयोग करने से इनकार करते हैं। यह लापरवाही से प्रवेश करने के जोखिम को कम करता है गलती से सुरक्षा छेद छोड़ देता है लेकिन यह मिटाए गए फ़ाइल अनुमतियों के साथ सभी अधिक दर्दनाक है।
एक छोटा जवाब।
लिनक्स सिस्टम को कुछ कार्यक्रमों जैसे sudo
आदि के लिए विशिष्ट अनुमतियों की आवश्यकता होती है ।
जब आप चलाते हैं chmod 777 -R /
तो आप सभी अनुमतियों को मिटा देते हैं और उन्हें बदल देते हैं 777
। यह सिस्टम को अनुपयोगी बनाता है जब तक कि आप मैन्युअल रूप से सभी अनुमतियों को पुनर्स्थापित न करें।
व्यवहार में यह फिर से स्थापित करने के लिए बहुत तेज और आसान है।
समस्या यह है कि कई सिस्टम प्रोग्रामों को इस तरह से डिज़ाइन किया जाता है कि वे अनुमतियाँ "पसंद नहीं" करने पर शुरू नहीं होते हैं। यह सुरक्षा कारणों से बनाया गया है।
मुझे लगता है कि यह समझाने के लिए अधिक महत्वपूर्ण है कि कैसे पैरेक्टिस में सिस्टम डिज़ाइन को संभालना है, यह समझाने की तुलना में कि प्रत्येक प्रोग्राम गलत परमिशन के साथ काम करने में विफल क्यों है।
यदि आप वास्तव में चाहते हैं कि सभी उपयोगकर्ताओं के पास उबंटू में असीमित अनुमति हो, तो आप sudo
फ़ाइल और निर्देशिका अनुमतियों को बदलने के बजाय सभी उपयोगकर्ताओं को समूह में जोड़ सकते हैं । इसका एक ही प्रभाव होगा, लेकिन सिस्टम को बर्बाद नहीं करेगा।
एक और तरीका (एक बहुत बुरा) रूट अकाउंट को सक्रिय करना और सभी को रूट के रूप में लॉगिन करने की अनुमति देना है।
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]#
मैंने कैश और लॉग में दर्जनों शोर प्रविष्टियों को हटा दिया।
chmod
कर रहा है और उदाहरण के सबूत उपलब्ध कराने के लिए परेशान करने के लिए ऊपर, कुछ है जो कहीं और की कमी है।
chmod u+rwx,g+rwx,o+rwx -R /
सिस्टम नहीं टूटेगा?
अन्य उत्तरों के लिए अतिरिक्त: आपने "चिपचिपा बिट" को भी हटा दिया /tmp
(जिसमें आमतौर पर 1777 की अनुमति है), और इससे अन्य अप्रत्याशित समस्याएं हो सकती हैं, क्योंकि प्रोग्राम प्रत्येक-दूसरों की अस्थायी फ़ाइलों को लिखने या हटाने में सक्षम होंगे।
चिपचिपा सा एक विशेष अनुमति है, जो किसी को भी फाइल बनाने की /tmp
अनुमति देता है, केवल उस व्यक्ति को अनुमति देता है जिसने इसे स्थानांतरित करने या हटाने के लिए बनाया है।