특정 드라이버 모듈이 Linux 커널에 로드되는 것을 방지하고 싶습니다. 그래서 /etc/modprobe.d/cdc_acm.conf에 파일을 만들었습니다. 이 파일에 다음 줄을 추가했습니다.
install cdc_acm /bin/false
이는 방출될 때 예상대로 작동합니다.
modprobe cdc-acm
libkmod: ERROR libkmod/libkmod-module.c:924
command_do: Error running install command for cdc_acm ERROR: could not
insert 'cdc_acm': Operation not permitted
문제는 insmod 유틸리티를 사용할 때 모듈이 로드된다는 것입니다.
insmod cdc-acm.ko
[ 1051.914578] cdc_acm 2-1.1:1.0:
usb_probe_interface [ 1051.919437] cdc_acm 2-1.1:1.0:
usb_probe_interface - got id [ 1051.926323] cdc_acm 2-1.1:1.0:
ttyACM0: USB ACM device [ 1051.934700] usbcore: registered new
interface driver cdc_acm [ 1051.941315] cdc_acm: USB Abstract Control
Model driver for USB modems and ISDN adapters
왜 이런 일이 발생합니까? insmod에 대한 블랙리스트 파일을 만드는 방법이 있습니까?
답변1
블랙리스트는 insmod에 의해 읽혀지며, modprobe
여기서 insmod는 종속성이나 블랙리스트 또는 기타 사항을 고려하지 않고 모듈 삽입을 시도합니다.
insmod
매뉴얼 페이지:
insmod is a trivial program to insert a module into the kernel. Most users will want to
use modprobe(8) instead, which is more clever and can handle module dependencies.