यदि कोई विभाजन 'noexec' के रूप में माउंट किया जाता है, तो कैसे जांचें?


14

वर्तमान में, मैं उपयोग कर रहा हूं grep '\s/location/\s.*noexec' /proc/mounts
(यह जाँच का एक सही तरीका है?)


1
यह तब तक ठीक है जब तक आपको लिनक्स के नए संस्करणों पर काम करने की आवश्यकता है।
जोर्डनम

1
इस क्यू / ए
दाऊद

जवाबों:


13

आपको माउंट (8) कमांड का उपयोग करना चाहिए, जो सभी लिनक्स और यूनिक्स प्रणालियों पर बॉक्स से बाहर उपलब्ध है।

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

उदाहरण के लिए:

% mount
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
/dev/sda1 on /boot type ext4 (rw,relatime,data=ordered)
/dev/mapper/basement-root on / type ext4 (rw,relatime,data=ordered)

5
लिनक्स पर, मैं /proc/mountsवरीयता में उपयोग करने की सलाह देता हूं mount। यदि /etc/mtabअपडेट नहीं किया गया है (जैसे कि /केवल-पढ़ने के लिए), तो आउटपुट mountअप-टू-डेट नहीं हो सकता है। इसके अलावा, कुछ विकल्पों के लिए (नहीं noexec), mountआपको फ़िल्टर्ड आउटपुट देता है जो कर्नेल और माउंट के संस्करणों के कुछ संयोजनों के लिए भ्रामक हो सकता है (जैसे कि समय-संबंधी विकल्पों के साथ)।
गिल्स एसओ- बुराई को रोकें '

विभाजन को खोजने के लिए फ़ाइल या निर्देशिका पर mf - df -P फ़ाइल / जाता है / यहाँ | पूंछ -1 | cut -d '' -f 1
brainLoop

4

यह मानते हुए कि आप इसे लिनक्स पर चला रहे हैं, हां, यह ठीक है। यह जाँचना थोड़ा अधिक मज़बूत होगा कि noexecकॉमा के बीच या उसके स्तंभ के आरंभ या अंत में है।

grep -Eq '^[^ ]+ /location [^ ]+ ([^ ]*,)?noexec[, ]' /proc/mounts

यह awk में स्पष्ट हो सकता है:

awk -v location="/location" '$2 == location {exit(!($4 ~ /(^|,)noexec($|,)/))} END {exit(2)}'
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.