接下来的一章我们讲解释怎样获得软件包以及安装, 和怎样获得新的SE Linux的软件包以及安装。 因为我运行的是">Debian,所以我演示的安装过程式基于它的。 我们假定你知道该怎样在你所用的发布版上安装软件, 编译内核,并且给内核打补丁。
如果你是从旧的SE Linux上升级的, 并且运行了 SE Linux kernel, 请进入permissive 模式 (用 avc_toggle 命令) 继续运行指令。
3.1基于Debian的安装
对于Debian 的开发版(不稳定版):
将下面的文字写到你的 /etc/apt/sources.list 文件:
deb http://www.coker.com.au/newselinux/ ./
这个包是由 Russell Coker 维护的.
在写这篇文档的时候 (2003年11月末) 还没有可以Debian上使用的稳定版的新的SE Linux 安装包。 开发版的 .deb文件可以从上面的网站获得。请确保获得了最新版本的包。 因为包的名字一直都在变,所以我没有列出, 不过他们列出了需要的所有包的名字。
下面我们列出了对于新的 SE Linux,哪些报需要在Debian上安装。在安装之前你不需要引导SE Linux kernel, 所以你可以安装它们了:
• libselinux1 包含了新 SE Linux的共享库。 • selinux-policy-default 包含了范例策略文件,这个策略文件应用到了很多一般应用程序
例如postfix,
sendmail, X 等等。 • checkpolicy 包含了安全策略的编译器。 • policycoreutils 包含了核心工具如 setfiles, load_policy, newrole 等等。 • selinux-utils 包含了例如查询策略的操作工具。 • selinux-doc 包括了一些帮助文档 。
Debian系统所需的附加软件包列表:
• kernel-patch-2.4-lsm 一个支持LSM 和SE Linux的内核补丁。 • coreutils 包含了改进版的命令例如cp, mv, ls 。 • procps 包含了改进版的 ps and top命令。 • sysvinit 是一个在引导时加载策略的补丁。 • dpkg 我们需要一个改进版的dpkg,安装之后可以保证对文件的正确标记。 • libpam-modules 因为一些安全原因。 • logrotate 一个改进版的 logrotate 可以保留一个新建文件的 SE Linux 安全上下文。 • cron 一个改进版的cron,保证计划任务执行的脚本运行在正确的域内。
3.2基于Fedora的安装
新SE Linux的RPM包可以在这里找到 ftp://people.redhat.com/dwalsh/SELinux
这些RPM包的维护者是Dan Walsh.
我在我的Fedora测试机上安装SE Linux时, 我做了这些工作:
* 编辑yum.conf 文件包含如下内容:
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=fedora-release
tolerant=1
exactarch=1
[development]
name=Fedora Core $releasever - Development Tree
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/development/i386
baseurl=http://mirror.dulug.duke.edu/pub/fedora/linux/core/development/i386
[SELinux]
name=SELinux repository
baseurl=ftp://people.redhat.com/dwalsh/SELinux/Fedora
* 运行的命令进行安装
yum install policy checkpolicy policycoreutils policy-sources pam passwd vixie-cron
* 在所有包安装完之后
cd /etc/security/selinux/src/policy
make load
make relabel
*重起机器.