分类: LINUX
2008-04-23 08:22:00
部署现金帐簿会计系统的第一步建立在前面提及到的从零开始一个SELinux系统(可以在http://www.ibm.com/developerworks/linux/library/l-rbac-selinux/index.html?ca=drs-#download下载)之上,下面的步骤将展示完成一个从零开始的系统。
加载要使用的磁盘镜像(关闭qemu镜像):
mount -o loop,offset=32256 -t ext2 gentoo.img /mnt |
从http://www.ibm.com/developerworks/linux/library/l-rbac-selinux/index.html?ca=drs-#download下载code_for_fromscratch.tgz,然后在磁盘镜像下解压:
tar zxf selinuxregister.tgz -C /mnt umount /mnt |
现在开始qemu镜像:
qemu -hda gentoo.img -m 512 -vnc :3 -kernel bzImage -append "ro root= /dev/hda1 -p" |
一旦你登陆进去,你必须编译并安装新的策略和新的PAM模块:
cd /usr/src checkpolicy -c 19 -o policy.bin policy.conf cp policy.bin /etc/ rc-update add selinuxenforce default cp /etc/pam.d/system-auth /etc/pam.d/system-auth.orig cp /etc/pam.d/system-auth.new /etc/pam.d/system-auth |
在策略中的用户被创建,但是你必须创建与之对应的Linux用户:
adduser mary passwd mary (passwd) mkdir /home/mary adduser boss passwd boss (passwd) mkdir /home/boss adduser bob passwd bob (passwd) mkdir /home/bob |
然后为数据存储创建目录结构:
mkdir /data mkdir /data/cashier_r mkdir /data/mgr_r mkdir /data/final chmod 777 /data/* 最后,给文件系统做上标记: setfiles /usr/src/filecontexts / poweroff |
现在镜像准备好了,不加-p参数重新启动它,SELinux策略就被加载了:
qemu -hda gentoo.img -m 512 -vnc :3 -kernel bzImage -append "ro root= /dev/hda1" |
再以root登陆并再次尝试:
ls /data
权限被拒绝,注销root然后用bob登陆,我们的出纳,登记一个数值,例如:
register bob 25.22
然后尝试欺骗系统:
register bob commit
不能工作,注销bob然后用Mary登陆:
register bob commit
哦,Mary首先需要敲入她自己的数值:
register bob 27
register bob commit
数值不匹配,想知道Bob提交后的结果吗?
cat /data/cashier_r/bob/(day)
哦,你未被允许查看它,你将不得不去找Bob进行协商,或许你要重新统计你的帐簿并查出他是对的,因此:
register bob 25.22
register bob commit
这下没有问题了,现在你以root用户登陆并:
cat /data/final/bob/(day)
这下将显示所有输入的数值了。