![커널 모듈이 로드되는 것을 방지하는 방법은 무엇입니까? [폐쇄]](https://linux55.com/image/102646/%EC%BB%A4%EB%84%90%20%EB%AA%A8%EB%93%88%EC%9D%B4%20%EB%A1%9C%EB%93%9C%EB%90%98%EB%8A%94%20%EA%B2%83%EC%9D%84%20%EB%B0%A9%EC%A7%80%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
저는 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 이미지를 다시 작성해야 할 수도 있습니다.