[發明專利]一種軟件包編譯平臺針對用戶設置權限的方法有效
| 申請號: | 201110340405.6 | 申請日: | 2011-10-31 |
| 公開(公告)號: | CN102456113A | 公開(公告)日: | 2012-05-16 |
| 發明(設計)人: | 王昊;許國昌 | 申請(專利權)人: | 中標軟件有限公司 |
| 主分類號: | G06F21/22 | 分類號: | G06F21/22 |
| 代理公司: | 北京匯智英財專利代理事務所 11301 | 代理人: | 潘光興 |
| 地址: | 200030 上海市番*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 軟件包 編譯 平臺 針對 用戶 設置 權限 方法 | ||
技術領域
本發明是linux平臺下rpm包編譯平臺上使用的一項技術。
背景技術
linux發行版由數量龐大的軟件包組成,為了開發維護這些軟件包就需要一個統一的平臺進行管理,這樣包編譯平臺應運而生。在linux發行版里,有許多的軟件包是用rpm來進行管理的,本發明也是在rpm軟件包編譯平臺上改進的一項技術。
在linux眾多的發行版中,每個版本都有自己的編譯平臺,他們利用這個平臺來開發和維護自己的軟件包,目前比較成熟的有?koji編譯平臺,opensuse?build?system等。不管是那種編譯平臺,他們都能維護多個不同的版本,在開發和維護不同版本的時候給用戶開放一個什么權限是個很重要的問題,因為在linux發行版中,大部分的開發人員都是分布在世界各地的一些自由軟件開發人員,對于這樣的一個群體,我們在開放權限的時候一定要制定詳細的權限策略,以防軟件包被惡意的更改,本發明也是基于這樣一種目的來控制開發人員的權限。
目前koji就是一個比較成熟的編譯平臺,koji對于開發人員有權限控制策略,具體來說,koji編譯系統在安裝完成并啟動服務后就處于等待用戶請求的狀態,這個時候所有的配置文件都已經存儲起來,用戶在通過koji客戶端發送請求后koji首先是檢查當前的用戶的身份,身份是由koji客戶端的證書來決定,koji的客戶端需要koji服務器頒發一個證書,有了這個證書才能鏈接上koji服務器。koji服務器對用戶的身份驗證完成后就會去檢查其權限,本方法也就是在這里進行的開發。koji編譯系統有自己的權限控制,但它的權限控制有一個問題,一旦一個版本開放給開發人員,那么所有的開發人員都可以去修改這個版本下的軟件包,這樣對于社區開發是可以的,但對于某個公司發行版本就不太合適,比如一個公司有幾個開發組,每個開發組開發一個版本,版本都放到koji上維護,如果不做進一步的權限控制,那么一個版本的開發人員就可以去修改其他的版本的軟件包,對于版本開發的對立性就會造成威脅。本發明正是為了解決這個問題,可以提高編譯平臺的安全性和版本間的獨立性。
發明內容
鑒于目前編譯平臺的權限控制的缺陷,本發明的目的就是設計一種權限控制的方法來控制軟件包編譯平臺的用戶權限。為了實現上述目的,軟件包編譯平臺針對用戶設置權限的方法包括下面步驟:
(1)在權限配置文件中增加一條權限配置;
(2)在權限驗證代碼中增加一個權限檢查模塊;
(3)在用戶請求執行任務時,該平臺調用這個權限檢查模塊依據修改后的權限配置文件來判斷請求者是否擁有其請求的權限。
其中步驟?(1)是指在軟件的權限配置文件中重新定義一條所述權限配置,該權限配置包括用戶ID以及版本信息,步驟(2)的權限檢查模塊定義了該權限配置的格式的關鍵字段,該平臺調用該權限檢查模塊時會讀取這條權限配置,然后獲取關鍵字段后面的內容,再與請求者以及請求者所求操作的版本對比。
其中步驟(2)的具體方法是修改權限驗證代碼,在里面加入一個子模塊作為權限檢查模塊,該子模塊負責對新增加的該權限配置進行解析并返回是否通過。
其中步驟(3)具體實現方式如下:該權限檢查模塊首先從配置文件中讀取權限配置,然后根據用戶的請求進行分析判斷,如果用戶的請求符合權限配置并且允許執行則通過檢查并開始執行任務,否則返回無權限的錯誤。
當軟件包編譯平臺管理多個不同的系統版本時,通過不同的權限配置去設置用戶對某個具體的版本的操作權限,提高版本間的安全性和獨立性。
在操作中的做法,需要做以下的具體工作:
1)、獲取koji軟件包的源碼,修改koji源碼包中的kojihub.py源碼文件,增加一個權限檢查模塊。
2)、使用diff工具生成patch文件,將patch文件加入到源碼包。(注:在軟件開發過程中,在修改源碼后一般都是通過patch的形式來提交我們的修改,也就是說開發人員在修改完源碼之后將修改前后的兩個文件執行diff?-Nuar?kojihub.py?kojihub.py.old?生成patch文件。)
3)、編譯源碼包,編譯完成之后將會生成rpm包。
4)、安裝修改后的koji軟件包。
5)、修改koji-hub配置文件,配置用戶權限。
6)、啟動koji相關服務。
開發人員在向koji請求執行任務的時候就會根據此配置來判斷用戶是否具有相應的權限。
附圖說明
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中標軟件有限公司,未經中標軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110340405.6/2.html,轉載請聲明來源鉆瓜專利網。





