使RHEL5 1支援編譯refpolicy原始碼

2021-06-01 19:28:02 字數 1881 閱讀 1071

之前在rhel5.1上使用自己編譯的refpolicy二進位制策略模組從來都是失敗的。一般失敗的情況有兩種,第一種是設定/etc/selinux/config為permissive後,重啟後selinux狀態變成disabled;第二種是設定為enforcing,重啟後無法進入系統。

究竟是什麼原因,是我配置錯誤?經過在搜尋引擎上的多番尋找,終於找到解決問題的方法。可能它不是完美的,但至少是行得通的。

步驟一:確保安裝gcc。

編譯refpolicy時要用到。

步驟二:更新核心版本。

檢視rhel5.1使用的核心安裝包:

# rpm -qa|grep kernel

rhel5.1預設的核心安裝包為kernel-xen-2.6.18-53.el5,rhel5.2預設為kernel-xen-2.6.18-92.el5,rhel5.6為kernel-xen-2.6.18-238.el5。我是怎麼知道的?因為一般核心的安裝包都在安裝盤的disc1裡,然後這些版本我其實下過,所以我知道。都是xen-2.6.18的,更新為rhel5.6的核心吧。更新核心不要更太新了,不然可能不能支援原來已安裝的軟體包。

想辦法去下kernel-xen-2.6.18-238.el5.rpm及kernel-headers-2.6.18-238.el5.rpm。kernel-headers是gcc的乙個依賴包,包含系統標頭檔案。可以像我這樣下整個iso檔案的,也可以另外單獨下,如果找得到的話。千萬不要下centos的,centos的核心安裝包也叫kernel-xen-2.6.18-238.el5.rpm,但是是重新定製過的。下到這兩個包後務必驗證其md5值:

之後更新核心:

# rpm -uvh kernel-headers-2.6.18-238.el5.rpm

# rpm -uvh kernel-xen-2.6.18-238.el5.rpm

重啟後核心更新生效。

解壓壓縮檔:

# bzip2 -d refpolicy-20081014.tar.bz2

# tar -xvf refpolicy-20081014.tar

進入解壓出來的refpolicy目錄,安裝refpolicy:

# make install-src

小記:解決問題的方法是找到了。分析rhel5.1不支援refpolicy的原因,我認為一共有2個:

乙個是紅帽提供的refpolicy原始碼問題。rhel5.1預設使用的策略原始碼存在於selinux-policy-2.4.6-104.el5.src.rpm包中,不知道是哪個版本的refpolicy。之前我一直覺得這東西應該配套,就只用這個rpm包裡解壓出來的refpolicy,檔名為serefpolicy-2.4.6.tgz,但編譯出來的策略一直報安全上下文的錯。使用官方版本的refpolicy顯然沒有這一問題。進一步測試發現,從selinux-policy-2.4.6-104.el5.src.rpm到selinux-policy-2.4.6-316.el5.src.rpm解壓出來的serefpolicy-2.4.6.tgz的md5都是一樣的。說明不能直接使用這個策略原始碼,要使用rpmbulid為這個策略原始碼打上補丁。而我之前怕麻煩,直接使用rpm2cpio命令解壓rpm的源**包,然後直接使用serefpolicy-2.4.6.tgz,皆失敗。

另乙個是2.6.18-53版本的核心在支援refpolicy上存在bug。rhel5.1預設的targeted模式其實是targeted-mls模式,可以使用seinfo這個命令看出來。而bug就是核心不支援selinux從mls或mcs的模式轉換到非mls、非mcs的模式。refpolicy預設的模式就是乙個非mls、非mcs模式。故在應用refpolicy策略上存在無法轉換模式的問題。因此,若不公升級rhel5.1的核心,在build.conf檔案中選擇mls模式是沒有問題的。

就是這兩個bug搞了花了我兩周時間去**,終於可以搭建乙個學習selinux的環境了。。。

編譯python2 5,支援SSL

config make sudo make install 2 編譯,安裝python socket module helper for ssl support you must comment out the other socket line above,and possibly edit th...

使Firefox3 0支援迅雷的方法

ie7外貌 安裝完firefox後,使用體驗還是不錯的,但發現乙個問題,就是迅雷對firefox的支援和新版firefox3.0有衝突,原因是因為迅雷的firefox擴充套件thunder download extension因為 不提供安全更新 不能通過firefox3.0的檢查。估計該問題,只能...

如何使wince5 0支援大容量flash

且聽風吟 21 16 35 我以前的bsp是4.2的,sd沒有原始碼,現在經理畫錯電路圖 且聽風吟 21 16 39 改不了中 斷且聽風吟 21 16 52 想弄個wince5.0來搞 陳偉 21 17 12 那就弄啊,怎麼改不了中斷 且聽風吟 21 18 20 4.2沒有原始碼改不了,現在用5.0...