現在你應該知道,一個主體程式能否讀取到目標檔案資源的重點在於 SELinux 的政策以及政策內的各項規則, 然後再透過該規則的定義去處理各目標檔案的安全性本文,尤其是『類型』的部分。現在我們也知道可以透過 sestatus 與 getenforce 去取得目前的 SELinux 狀態。 但是,能不能知道更詳細的政策說明與規則項目呢?底下我們就來瞭解瞭解!
CentOS 5.x 預設使使用 targeted 政策,那麼這個政策提供多少相關的規則呢?此時可以透過 seinfo 來查詢喔!
從上面我們可以看到與 httpd 有關的布林值,同樣的,如果你想要找到有 httpd 字樣的安全性本文類別時, 就可以使用『 seinfo -t | grep httpd 』來查詢了!如果查詢到相關的類別或者是布林值後,想要知道詳細的規則時, 就得要使用 sesearch 這個指令了!
你可以很輕易的查詢到某個主體程序 (subject) 可以讀取的目標檔案資源 (Object) , 從我們上面的練習,我們也可以很輕鬆的就知道,為何 httpd_t 可以讀取 httpd_sys_content_t 囉! 那如果是布林值呢?裡面又規範了什麼?讓我們來看看先:
從這個布林值的設定我們可以看到裡面規範了非常多的主體程序與目標檔案資源的放行與否! 所以你知道了,實際規範這些規則的,就是布林值的項目啦!那也就是我們之前所說的一堆規則是也! 你的主體程序能否對某些目標檔案進行存取,與這個布林值非常有關係喔!因為布林值可以將規則設定為啟動 (1) 或者是關閉 (0) 啦!
由 seinfo 與 sesearch 的輸出資訊,我們也會得到實際的政策資料都是放置到 /etc/selinux/targeted/policy/ 底下, 事實上,所有與 targetd 相關的資訊都是放置到 /etc/selinux/targeted 裡面的呢!包括安全性本文相關的資訊。 這部分等一下談到安全性本文的預設值修改時,我們再來討論。
上面我們透過 sesearch 知道了,其實 Subject 與 Object 能否有存取的權限,是與布林值有關的, 那麼系統有多少布林值可以透過 seinfo -b 來查詢,但,每個布林值是啟動的還是關閉的呢?這就來查詢看看吧:
那麼如果查詢到某個布林值,並且以 sesearch 知道該布林值的用途後,想要關閉或啟動他,又該如何處置?
這個 setsebool 最好記得一定要加上 -P 的選項!因為這樣才能將此設定寫入設定檔! 這是非常棒的工具組!你一定要知道如何使用 getsebool 與 setsebool 才行!
還記得我們在使用 restorecon 時談到每個目錄或檔案都會有預設的安全性本文嗎? 會制訂目錄的安全性本文,是因為系統的一些服務所放置檔案的目錄已經是確定的,當然有預設的安全性本文管理上較方便。 那你如何查詢這些目錄的預設安全性本文呢?就得要使用 semanage 囉!
從上面的說明,我們知道其實 semanage 可以處理非常多的任務,不過,在這個小節我們主要想瞭解的是每個目錄的預設安全性本文。 如上面範例一所示,我們可以查詢的到每個目錄的安全性本文啦!而目錄的設定可以使用正規表示法去指定一個範圍。那麼如果我們想要增加某些自訂的目錄的安全性本文呢? 舉例來說,我想要制訂 /srv/samba 成為 public_content_t 的類型時,應該如何指定呢?
semanage 的功能很多,不過鳥哥主要用到的僅有 fcontext 這個項目的動作而已。如上所示, 你可以使用 semanage 來查詢所有的目錄預設值,也能夠使用他來增加預設值的設定!如果您學會這些基礎的工具, 那麼 SELinux 對你來說,也不是什麼太難的咚咚囉!
( 要看答案請將滑鼠移動到『答:』底下的空白處,按下左鍵圈選空白處即可察看 )
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/1956.html