저는 Linux를 처음 접했고 커널 모듈 로딩을 완전히 비활성화하는 솔루션을 찾고 있습니다.
모듈을 언로드하는 방법을 알고 있지만 시작 시 로드하기 전에 이를 방지해야 합니다.
답변1
먼저 모듈 이름을 확인하세요.
lsmod | less
그런 다음 로드된 모듈 이름이 my_proc_to_ban이라고 가정합니다.
다음과 같은 스크립트를 작성해 보세요.
echo'
install my_proc_to_ban /bin/false
' >> /etc/modprobe.d/blacklist.conf
이렇게 하면 모듈이 시작되거나 실행되지 않습니다.
또는 귀하의 경우와 마찬가지로 서버는 귀하의 것이고 아무도 모듈을 로드하지 않을 것입니다. 간단히 다음을 수행할 수 있습니다.
echo '
blacklist my_proc_to_ban
' >> /etc/modprobe.d/my_proc_to_ban.conf
이렇게 하면 시작 시 모듈이 로드되는 것을 방지할 수 있지만, 어떤 단계에서는 필요할 경우 여전히 로드할 수 있습니다.
답변2
한 가지 확실한 방법은 /lib/modules에서 모듈을 삭제하거나 이동하는 것입니다.
/etc/modprobe.d/blacklist.conf를 사용할 수도 있습니다.
커널 명령줄에서 다음을 추가할 수 있습니다.
modprobe.blacklist=modname1,modname2,modname3
또는
blacklist=modname1,modname2,modname3
원천:https://wiki.archlinux.org/index.php/kernel_modules#Blacklisting
사용하는 배포판에 따라: 데비안(및 파생 배포판)은 스크립트가 시스템 부팅에 필요하다고 간주하는 모듈을 포함하는 initrd를 빌드할 수 있습니다.
따라서 "update-initramfs -u"를 실행하여 initrd 이미지를 다시 작성해야 할 수도 있습니다.