即使模块被列入黑名单,也会加载

即使模块被列入黑名单,也会加载

系统:Ubuntu 11.10

Linux gray 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:50:42 UTC 2011 i686 i686 i386 GNU/Linux

我正在尝试将一个模块(包括 rt2800usb)列入黑名单,例如;

$ lsmod | grep rt
rt2800usb              22300  0 
rt2800lib              48717  1 rt2800usb
crc_ccitt              12595  1 rt2800lib
rt2x00usb              20092  1 rt2800usb
rt2x00lib              48114  3 rt2800usb,rt2800lib,rt2x00usb
mac80211              272785  3 rt2800lib,rt2x00usb,rt2x00lib
cfg80211              172392  2 rt2x00lib,mac80211
$ emacs /etc/modprobe.d/blacklist.conf

并添加:

blacklist rt2800usb
blacklist rt2800lib
blacklist rt2x00usb
blacklist rt2x00lib

进而:

$ sudo update-initramfs -u
$ sudo reboot

但重启后模块会被加载:

$ lsmod | grep rt
rt2800usb              22300  0 
rt2800lib              48717  1 rt2800usb
crc_ccitt              12595  1 rt2800lib
rt2x00usb              20092  1 rt2800usb
rt2x00lib              48114  3 rt2800usb,rt2800lib,rt2x00usb
mac80211              272785  3 rt2800lib,rt2x00usb,rt2x00lib
cfg80211              172392  2 rt2x00lib,mac80211

如何让更改在重启后继续存在(即将模块列入黑名单)?

答案1

正如你所看到的修改输出:

rt2800usb              22300  0 
rt2800lib              48717  1 rt2800usb
crc_ccitt              12595  1 rt2800lib
rt2x00usb              20092  1 rt2800usb
rt2x00lib              48114  3 rt2800usb,rt2800lib,rt2x00usb
mac80211              272785  3 rt2800lib,rt2x00usb,rt2x00lib
cfg80211              172392  2 rt2x00lib,mac80211

rt2800usbrt2800lib 由模块使用 rt2x00lib它本身被cfg80211

因此,您列入黑名单的这两个模块是加载模块所必需的cfg80211未列入黑名单。这就是为什么它们尽管被列入黑名单,但仍被加载。

相关内容