有一条特别要引起注意:在你的系统的下一次重启之前就应该配置好LIDS!我们应该使用lidsam来配置LIDS的配置文件/etc/lids.conf,而不能手动的修改。运行"lidsadm -h"可以获得一些关于如何使用lidsadm这个程序的帮助。LIDS提供了很多使用LIDS保护文件的例子,例如:
lidsadm -A -r /sbin 这条命令保护/sbin整个目录,并且表示只读。
我首先的LIDS配置文件应该是这样的:
lidsadm -Zlidsadm -A -r /usr/bin
lidsadm -A -r /bin
lidsadm -A -r /usr/sbin
lidsadm -A -r /sbin
lidsadm -A -r /usr/X11R6/bin
lidsadm -A -r /etc/rc.d
lidsadm -A -r /etc/sysconfig
一旦配置了LIDS的配置文件,就应该修改系统的启动文件保证在系统启动的时候就能运行LIDS,这样就能有效的在内核中启动LIDS的作用。一般我都是把lidsadm加到/etc/rc.d/rc.local的末尾,这样能够保证LIDS的功能不会妨碍系统的其他应用程序的正常启动。下面就是我加在/etc/rc/d/rc.local中用来启动LIDS的脚本:
/sbin/lidsadm -I -- -CAP_SYS_MODULE -CAP_SYS_RAWIO
-CAP_SYS_ADMIN-CAP_SYS_PTRACE -CAP_NET_ADMIN -CAP_LINUX_IMMUTABLE
+INIT_CHILDREN_LOCK
配置lilo
我们知道,使用Redhat的RPMS升级系统内核以后需要重新配置lilo.conf来保证编译加载过LIDS的新内核能够正常的启动。在下次重启之后,LIDS将会在系统中运行,不过如果你需要停止LIDS而执行一些系统的任务,就应该按照下面的命令进行:
/sbin/lidsadm -S -- -LIDS或者/sbin/lidsadm -S -- -LIDS_GLOBAL
你需要提供LIDS的口令,当时在编译内核的时候在内核中加入了RipeMD-160格式。不知道你是否注意到了,在shutdown的脚本中,很多脚本都不能正常的工作。最终的shutdown脚本/etc/rc.d/init.d/halt将会停止所有的进程和卸载文件系统。由于在文件rc.local中 "+INIT_CHILDREN_LOCK"的保护作用,其他的进程都没有权限来杀掉init()的其他子进程。同时每隔10分钟,你就会收到一个关于"rmmod as"不能卸载模块的出错信息。这个主要是由于LIDS启动以后"-CAP_SYS_MODULE"的保护使得模块的插入或者卸载出现了毛病。我们可以删除/etc/cron.d/kmod这个文件来防止出错信息继续发生。
……