insmod 블랙리스트를 설정하는 방법은 무엇입니까?

insmod 블랙리스트를 설정하는 방법은 무엇입니까?

특정 드라이버 모듈이 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.

관련 정보