इस तरह का सामान आम तौर पर /proc
और / या /sys
कर्नेल इंटरफेस में होता है (पहले, ध्यान रखें कि उन निर्देशिकाओं में कुछ भी नियमित डिस्क फ़ाइल नहीं है, वे सभी कर्नेल के लिए सीधी रेखाएं हैं)।
इसलिए, जैसे:
»for x in /proc/sys/net/ipv4/conf/*/rp_filter; do echo -ne "$x "`cat $x`"\n"; done
/proc/sys/net/ipv4/conf/all/rp_filter 0
/proc/sys/net/ipv4/conf/default/rp_filter 1
/proc/sys/net/ipv4/conf/em1/rp_filter 1
/proc/sys/net/ipv4/conf/lo/rp_filter 0
/proc/sys/net/ipv4/conf/wlan0/rp_filter 1
ऐसा लगता है कि मेरे पास em1, wlan0 और "डिफ़ॉल्ट" के लिए rp_filter सेट है। आप फ़ाइल हैंडल पर लिखकर उन्हें सेट या अनसेट कर सकते हैं:
»cd /proc/sys/net/ipv4/conf/lo
»echo 1 > rp_filter
»cat rp_filter
1
»echo 0 > rp_filter
»cat rp_filter
0
जैसा कि उल्लेख किया गया है, यह कर्नेल के साथ सीधा संचार है, इसलिए यह तुरंत प्रभावी होता है। ये कॉन्फ़िगरेशन फ़ाइल नहीं हैं । यदि आप कोशिश करते हैं और कुछ गलत करते हैं:
»echo whatever > rp_filter
bash: echo: write error: Invalid argument
यह कहने के लिए नहीं है कि आप इस तरह से चीजों को पेंच नहीं कर सकते हैं, बिल्कुल। और नीचे दिए गए टिप्पणियों को पढ़ना सुनिश्चित करें।
sysctl -e
संपादन के लिए औरsysctl -f
config क्रियान्वित करने के लिए?