이런 종류의 것들은 보통 /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 및 "default"에 대해 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
실행하는 것이 아닙니까?