国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      權(quán)限設(shè)置方法和權(quán)限控制方法

      文檔序號(hào):6338566閱讀:405來(lái)源:國(guó)知局
      專利名稱:權(quán)限設(shè)置方法和權(quán)限控制方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種在Unix/Linux操作系統(tǒng)的軟件平臺(tái)中設(shè)置和控制項(xiàng)目的操作 權(quán)限的方法,尤其涉及一種基于Unix/Linux操作系統(tǒng)用戶群組的項(xiàng)目授權(quán)方法和Unix/ Linux文件系統(tǒng)的文件權(quán)限設(shè)置方法。
      背景技術(shù)
      Unix操作系統(tǒng)和Linux操作系統(tǒng)都是多任務(wù)、多用戶類型的操作系統(tǒng),并且還可 以將用戶劃分為不同的群組。這樣,對(duì)屬于同一個(gè)群組的成員在操作系統(tǒng)中可以賦予相同 的權(quán)限。在Linux/Unix操作系統(tǒng)中,根據(jù)三種用戶等級(jí)對(duì)文件/目錄的權(quán)限進(jìn)行控制和管 理文件/目錄的所有者、同組用戶以及其他用戶。具體的權(quán)限包括讀(r)、寫(xiě)(w)和執(zhí)行 (χ)。對(duì)于任一文件/目錄,以9個(gè)二進(jìn)制位來(lái)表示該三種用戶等級(jí)的權(quán)限。例如,文件A的 “111101100”的權(quán)限(以“rwxr-xr-”字符表達(dá)),表示文件所有者(前三位,“111”)對(duì)該 文件有可讀、可寫(xiě)、可執(zhí)行的權(quán)限,同組用戶(中間三位,“101”)對(duì)該文件有可讀、不可寫(xiě), 可執(zhí)行的權(quán)限,而其他用戶(后三位,“100”)對(duì)該文件有可讀、不可寫(xiě)、不可執(zhí)行的權(quán)限。由于root (根)用戶的權(quán)限最高(也被稱為超級(jí)用戶),普通用戶無(wú)法執(zhí)行的操 作,root用戶都有權(quán)限完成。系統(tǒng)中的每個(gè)文件、目錄和進(jìn)程都?xì)w屬于某一個(gè)用戶。沒(méi)有 該用戶的許可,其它普通用戶無(wú)法對(duì)所述每個(gè)文件、目錄或進(jìn)程進(jìn)行操作,但是root用戶 除外。root用戶的這種超級(jí)權(quán)限在某種程度上破壞了權(quán)限管理的一致性。常規(guī)軟件創(chuàng)建或保存的目錄及文件一般具有默認(rèn)的權(quán)限,這種權(quán)限對(duì)Linux/Unix 系統(tǒng)的硬盤(pán)數(shù)據(jù)的保護(hù)不利,硬盤(pán)上的機(jī)密數(shù)據(jù)容易被他人非法訪問(wèn)。因此,在Linux/Unix 操作系統(tǒng)中,當(dāng)在軟件中對(duì)相互關(guān)聯(lián)的目錄和文件進(jìn)行操作時(shí),有必要進(jìn)行統(tǒng)一的權(quán)限設(shè) 置和管理。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于提供一種基于Unix/Linux操作系統(tǒng)的用戶群組的權(quán)限設(shè)置方 法和權(quán)限控制方法,所述方法在軟件平臺(tái)中對(duì)項(xiàng)目進(jìn)行授權(quán)設(shè)置,并且根據(jù)設(shè)置的授權(quán)群 組對(duì)項(xiàng)目的訪問(wèn)進(jìn)行相應(yīng)的控制,以防止未授權(quán)的用戶(包括root用戶)訪問(wèn)項(xiàng)目并對(duì)項(xiàng) 目相關(guān)的文件進(jìn)行操作。本發(fā)明的另一目的在于提供一種基于Unix/Linux操作系統(tǒng)的文件權(quán)限的權(quán)限設(shè) 置方法和權(quán)限控制方法,所述方法在軟件平臺(tái)中對(duì)項(xiàng)目進(jìn)行文件權(quán)限設(shè)置,并且根據(jù)設(shè)置 的文件權(quán)限對(duì)與項(xiàng)目相關(guān)的目錄和文件的權(quán)限進(jìn)行一致性的設(shè)置,防止未授權(quán)的用戶在操 作系統(tǒng)中對(duì)相關(guān)目錄和文件進(jìn)行不當(dāng)操作。為了實(shí)現(xiàn)上述目的,提供一種在Linux或Unix操作系統(tǒng)的軟件平臺(tái)中設(shè)置項(xiàng)目的 操作權(quán)限的方法,所述方法包括接收創(chuàng)建項(xiàng)目的命令、項(xiàng)目名稱以及基于操作系統(tǒng)文件權(quán) 限的文件權(quán)限,所述項(xiàng)目用于管理相互關(guān)聯(lián)的數(shù)據(jù)、目錄和文件;提取當(dāng)前用戶在操作系統(tǒng) 中的用戶標(biāo)識(shí)、包括一個(gè)或多個(gè)其所屬群組的群組名稱列表以及相應(yīng)的群組標(biāo)識(shí)列表,所述群組名稱列表中的群組名稱與所述群組標(biāo)識(shí)列表中的群組標(biāo)識(shí)逐個(gè)對(duì)應(yīng);生成用于唯一 地標(biāo)識(shí)項(xiàng)目的項(xiàng)目標(biāo)識(shí)符;和在項(xiàng)目數(shù)據(jù)庫(kù)中創(chuàng)建包括項(xiàng)目名稱、項(xiàng)目標(biāo)識(shí)符、創(chuàng)建用戶標(biāo) 識(shí)、授權(quán)群組名稱列表、授權(quán)群組標(biāo)識(shí)列表和項(xiàng)目文件權(quán)限的項(xiàng)目記錄,所述項(xiàng)目名稱是接 收的項(xiàng)目名稱,所述項(xiàng)目標(biāo)識(shí)符是生成的項(xiàng)目標(biāo)識(shí)符,所述創(chuàng)建用戶標(biāo)識(shí)是提取的用戶標(biāo) 識(shí),所述授權(quán)群組名稱列表是提取的群組名稱列表,所述授權(quán)群組標(biāo)識(shí)是提取的群組標(biāo)識(shí) 列表,并且所述項(xiàng)目文件權(quán)限是接收的文件權(quán)限。所述方法可以還包括提供提取的群組名稱列表供用戶選擇;接收用戶選擇的一 個(gè)或多個(gè)群組名稱;并且使用用戶選擇的群組名稱以及提取的群組名稱列表和群組標(biāo)識(shí)列 表構(gòu)建所述授權(quán)群組名稱列表和相應(yīng)的授權(quán)群組標(biāo)識(shí)列表。所述方法可以還包括為創(chuàng)建的項(xiàng)目創(chuàng)建相應(yīng)的文件和/或目錄,并且使用所述 項(xiàng)目文件權(quán)限對(duì)創(chuàng)建的文件和/或目錄進(jìn)行權(quán)限設(shè)置。可以調(diào)用包含操作系統(tǒng)命令的程序語(yǔ)言內(nèi)建函數(shù)提取所述用戶標(biāo)識(shí)、群組名稱列 表以及群組標(biāo)識(shí)列表,并且調(diào)用包含另一操作系統(tǒng)命令的程序語(yǔ)言內(nèi)建函數(shù)來(lái)對(duì)創(chuàng)建的文 件和/或目錄進(jìn)行權(quán)限設(shè)置。可以以系統(tǒng)內(nèi)存、配置文件或數(shù)據(jù)庫(kù)方式存儲(chǔ)所述項(xiàng)目數(shù)據(jù)庫(kù)。為了實(shí)現(xiàn)本發(fā)明的目的,一種在Linux或Unix操作系統(tǒng)的軟件平臺(tái)中控制項(xiàng)目的 操作權(quán)限的方法,所述方法包括提取當(dāng)前用戶的操作系統(tǒng)用戶標(biāo)識(shí)以及包括至少一個(gè)其 所屬群組的群組標(biāo)識(shí)的群組標(biāo)識(shí)列表;從存儲(chǔ)有多個(gè)用于管理相互關(guān)聯(lián)的文件和/或目錄 的項(xiàng)目記錄的項(xiàng)目數(shù)據(jù)庫(kù)提取項(xiàng)目記錄列表,所述項(xiàng)目記錄包括項(xiàng)目名稱、項(xiàng)目標(biāo)識(shí)符、創(chuàng) 建用戶的用戶標(biāo)識(shí)、授權(quán)群組名稱列表、授權(quán)群組標(biāo)識(shí)列表以及基于操作系統(tǒng)文件權(quán)限的 項(xiàng)目文件權(quán)限;將所述項(xiàng)目記錄列表當(dāng)中,滿足以下條件的項(xiàng)目記錄插入授權(quán)項(xiàng)目記錄列 表中所述項(xiàng)目記錄中的用戶標(biāo)識(shí)與當(dāng)前用戶的用戶標(biāo)識(shí)相同,或者當(dāng)前用戶的群組標(biāo)識(shí) 列表與項(xiàng)目記錄中的群組標(biāo)識(shí)列表至少存在一個(gè)相同的群組標(biāo)識(shí);以及顯示授權(quán)項(xiàng)目記錄 列表中全部項(xiàng)目記錄的項(xiàng)目名稱。其中,當(dāng)為任一項(xiàng)目記錄指示的項(xiàng)目進(jìn)行目錄或文件操 作時(shí),使用所述項(xiàng)目記錄中的項(xiàng)目文件權(quán)限對(duì)被操作的文件和/或目錄進(jìn)行權(quán)限設(shè)置??梢哉{(diào)用包含操作系統(tǒng)命令的程序語(yǔ)言內(nèi)建函數(shù)提取所述當(dāng)前用戶的用戶標(biāo)識(shí)、 所述群組標(biāo)識(shí)列表,并且可以調(diào)用包含另一操作系統(tǒng)命令的程序語(yǔ)言內(nèi)建函數(shù)對(duì)所述目錄 或文件進(jìn)行權(quán)限設(shè)置。所述項(xiàng)目數(shù)據(jù)庫(kù)可以以系統(tǒng)內(nèi)存、配置文件或數(shù)據(jù)庫(kù)方式被存儲(chǔ)。所述軟件平臺(tái)可以是運(yùn)行通過(guò)應(yīng)用程序接口接入的插件的插件平臺(tái)。


      通過(guò)下面結(jié)合附圖進(jìn)行的描述,本發(fā)明的上述和其他目的和特點(diǎn)將會(huì)變得更加清 楚,其中圖1是示出根據(jù)本發(fā)明的示例性實(shí)施例的權(quán)限設(shè)置方法的處理的流程圖;和圖2是示出根據(jù)本發(fā)明的示例性實(shí)施例的權(quán)限控制方法的處理的流程圖。
      具體實(shí)施例方式以下,參照附圖來(lái)詳細(xì)說(shuō)明本發(fā)明的實(shí)施例。
      一般的管理軟件管理多個(gè)邏輯對(duì)象,在本發(fā)明中將這些邏輯對(duì)象稱為“項(xiàng)目”,每 個(gè)項(xiàng)目管理用于實(shí)現(xiàn)預(yù)定功能的相互關(guān)聯(lián)的數(shù)據(jù)、文件、目錄等。例如,用于管理涉及地震 資料處理、地震資料解釋等的地震工程項(xiàng)目就可以是一種本發(fā)明所述的項(xiàng)目。對(duì)于每個(gè)具 體的項(xiàng)目,僅為預(yù)定級(jí)別的用戶授予預(yù)定級(jí)別的權(quán)限。本發(fā)明在軟件平臺(tái)中為創(chuàng)建的項(xiàng)目 設(shè)置基于Unix/Linux操作系統(tǒng)的群組的授權(quán)群組以及與項(xiàng)目相關(guān)的文件和目錄的文件操 作權(quán)限,阻止未經(jīng)授權(quán)的用戶訪問(wèn)所述項(xiàng)目,并且根據(jù)設(shè)置的文件權(quán)限對(duì)與項(xiàng)目相關(guān)的文 件和目錄進(jìn)行權(quán)限設(shè)置。因此,為了實(shí)現(xiàn)本發(fā)明的權(quán)限設(shè)置方法和權(quán)限控制方法,需要考慮各項(xiàng)目的授權(quán) 群組在Unix/Linux操作系統(tǒng)中創(chuàng)建和設(shè)置用戶群組,或者說(shuō),本發(fā)明的權(quán)限設(shè)置方法和權(quán) 限控制方法基于操作系統(tǒng)的用戶群組對(duì)項(xiàng)目進(jìn)行權(quán)限管理。也就是說(shuō),如果意圖僅給予用 戶A、B和C操作項(xiàng)目1的權(quán)限,則在操作系統(tǒng)中需要將用戶A、B和C劃分到一個(gè)用戶群組。 然后,根據(jù)本發(fā)明的權(quán)限設(shè)置方法和權(quán)限控制方法,當(dāng)用戶A、B或C在軟件平臺(tái)中創(chuàng)建項(xiàng)目 1時(shí),統(tǒng)一地為該項(xiàng)目設(shè)置操作權(quán)限。自此,用戶A、B和C能夠在軟件平臺(tái)中根據(jù)設(shè)置的操 作權(quán)限對(duì)與項(xiàng)目相關(guān)的文件、目錄等進(jìn)行操作。由于在Unix/Linux系統(tǒng)中,用戶和群組之 間是多對(duì)多的關(guān)系,所以可以為一個(gè)項(xiàng)目授權(quán)多個(gè)群組的用戶,而從屬于多個(gè)群組的特定 用戶也可以被授權(quán)對(duì)多個(gè)項(xiàng)目進(jìn)行操作。根據(jù)本發(fā)明的示例性實(shí)施例,由于主要依據(jù)操作系統(tǒng)的用戶群組設(shè)置來(lái)設(shè)置和管 理項(xiàng)目的操作權(quán)限,從而只有創(chuàng)建用戶授權(quán)的同組用戶才能對(duì)項(xiàng)目進(jìn)行操作,所以為了保 持項(xiàng)目的操作權(quán)限和在軟件平臺(tái)中為所述項(xiàng)目創(chuàng)建的文件和目錄的權(quán)限一致,設(shè)置的項(xiàng)目 的操作權(quán)限中同組用戶的權(quán)限不應(yīng)為0(不可讀、不可寫(xiě)且不可執(zhí)行)。如果設(shè)為0,則可假 設(shè)創(chuàng)建用戶以外的用戶都不可訪問(wèn)該項(xiàng)目。當(dāng)然,本發(fā)明不限于在此描述的實(shí)施方式,也可 以為同組用戶以外的其他用戶設(shè)置項(xiàng)目的操作權(quán)限,從而所述其他用戶也能夠?qū)?xiàng)目進(jìn)行 規(guī)定的操作,這時(shí)設(shè)置的項(xiàng)目的操作權(quán)限中其他用戶的權(quán)限也不應(yīng)為0。當(dāng)從屬于項(xiàng)目的授權(quán)群組的用戶在軟件平臺(tái)中對(duì)與該項(xiàng)目相關(guān)的文件和目錄進(jìn) 行操作時(shí),可以將已設(shè)置的文件權(quán)限作為操作系統(tǒng)命令(如chmod命令)的參數(shù),調(diào)用以該 操作系統(tǒng)命令為參數(shù)的程序語(yǔ)言內(nèi)建函數(shù)對(duì)所述文件和目錄進(jìn)行權(quán)限設(shè)置。例如,使用C++ 語(yǔ)言編寫(xiě)的程序可調(diào)用以包括完整的chmod命令的字符串為參數(shù)的system函數(shù);在java 程序中,調(diào)用 Runtime. getRuntime (). exec ("chmod rwxrwx—file 1. doc”)來(lái)進(jìn)行權(quán)限設(shè) 置。在運(yùn)行的軟件平臺(tái)中,以一個(gè)或多個(gè)軟件模塊或軟件模塊與硬件模塊的結(jié)合實(shí)現(xiàn) 根據(jù)本發(fā)明的權(quán)限設(shè)置方法和權(quán)限控制方法。圖1是示出根據(jù)本發(fā)明的示例性實(shí)施例的權(quán)限設(shè)置方法的處理的流程圖。通過(guò)如 圖1所示的處理,在Unix/Linux操作系統(tǒng)上運(yùn)行的軟件平臺(tái)中根據(jù)用戶創(chuàng)建項(xiàng)目的命令, 在項(xiàng)目數(shù)據(jù)庫(kù)中創(chuàng)建用于管理所述項(xiàng)目的操作權(quán)限的項(xiàng)目記錄,所述操作權(quán)限包括授權(quán)群 組和文件權(quán)限??梢砸韵到y(tǒng)內(nèi)存、配置文件或數(shù)據(jù)庫(kù)方式存儲(chǔ)本發(fā)明中的項(xiàng)目數(shù)據(jù)庫(kù)。參照?qǐng)D1,在步驟S110,軟件平臺(tái)接收來(lái)自用戶的創(chuàng)建項(xiàng)目的命令、項(xiàng)目名稱以及 要設(shè)置的項(xiàng)目的文件權(quán)限。這里所說(shuō)的文件權(quán)限基于Unix/Linux操作系統(tǒng)的文件權(quán)限,也 就是分別為文件所有者、同組用戶以及其他用戶定義的讀、寫(xiě)或執(zhí)行的權(quán)限。在步驟S120,軟件平臺(tái)通過(guò)調(diào)用包含操作系統(tǒng)命令(如id命令)的程序語(yǔ)言內(nèi)建函數(shù)(如C++語(yǔ)言中的system函數(shù)和Java中的Runtime. getRuntime (). exec ()方法)提 取當(dāng)前用戶的用戶標(biāo)識(shí)(UID)、包括一個(gè)或多個(gè)群組標(biāo)識(shí)(GID)的GID列表以及相應(yīng)的群組 名稱列表。根據(jù)本發(fā)明的示例性實(shí)施例,在步驟S130,軟件平臺(tái)將在步驟S120提取的群組名 稱列表通過(guò)用戶界面提供給用戶,以便用戶選擇授權(quán)群組。在步驟S140,接收用戶選擇的一 個(gè)或多個(gè)群組的名稱,并且使用所述選擇的群組名稱和在步驟S120提取的群組名稱列表 和GID列表構(gòu)建授權(quán)群組名稱列表和相應(yīng)的授權(quán)GID列表。然后,在步驟S150,軟件平臺(tái)生成用于唯一地標(biāo)識(shí)項(xiàng)目的項(xiàng)目標(biāo)識(shí)符。在步驟S160,軟件平臺(tái)使用在步驟S110、S120、S140和S150中取得的數(shù)據(jù),在項(xiàng) 目數(shù)據(jù)庫(kù)中創(chuàng)建包括項(xiàng)目名稱、項(xiàng)目標(biāo)識(shí)符、創(chuàng)建用戶標(biāo)識(shí)、授權(quán)群組名稱列表、授權(quán)群組 標(biāo)識(shí)列表和項(xiàng)目文件權(quán)限的項(xiàng)目記錄所述項(xiàng)目名稱是接收的項(xiàng)目名稱,所述項(xiàng)目標(biāo)識(shí)符是 生成的項(xiàng)目標(biāo)識(shí)符,所述創(chuàng)建用戶標(biāo)識(shí)是提取的用戶標(biāo)識(shí),所述授權(quán)群組名稱列表是提取 的群組名稱列表,所述授權(quán)群組標(biāo)識(shí)是提取的群組標(biāo)識(shí)列表,并且所述項(xiàng)目文件權(quán)限是接 收的文件權(quán)限。根據(jù)本發(fā)明的另一示例性實(shí)施例,軟件平臺(tái)不執(zhí)行步驟S130和S140,并且在步驟 S160,軟件平臺(tái)創(chuàng)建項(xiàng)目記錄時(shí),以步驟S120提取的群組名稱列表和GID列表分別作為項(xiàng) 目記錄中的授權(quán)群組名稱列表和授權(quán)GID列表。在這種情況下,軟件平臺(tái)授權(quán)當(dāng)前用戶所 屬的全部群組的用戶成員對(duì)創(chuàng)建的項(xiàng)目進(jìn)行操作的權(quán)限。在執(zhí)行步驟S160后,軟件平臺(tái)還可以為創(chuàng)建的項(xiàng)目創(chuàng)建相應(yīng)的文件和/或目錄, 并且使用設(shè)置 的文件權(quán)限對(duì)創(chuàng)建的文件和/或目錄進(jìn)行權(quán)限設(shè)置。具體地講,軟件平臺(tái)調(diào) 用包含例如chmod命令作為參數(shù)的程序語(yǔ)言內(nèi)建函數(shù)((如C++語(yǔ)言中的system函數(shù)和 Java中的Runtime. getRuntime (). exec ()方法)),所述chmod命令的權(quán)限參數(shù)是在步驟 S160設(shè)置的文件權(quán)限。由此可見(jiàn),根據(jù)本發(fā)明的示例性實(shí)施例的權(quán)限設(shè)置方法,可以在軟件平臺(tái)中選擇 性地設(shè)置對(duì)項(xiàng)目進(jìn)行操作的用戶群組,并且規(guī)定與所述項(xiàng)目相關(guān)的文件和目錄的權(quán)限。這 樣,root用戶并不理所應(yīng)當(dāng)?shù)乇皇谟鑼?duì)項(xiàng)目的操作權(quán)限。圖2是示出根據(jù)本發(fā)明的示例性實(shí)施例的權(quán)限控制方法的處理的流程圖。通過(guò)如 圖2所示的處理,在Unix/Linux操作系統(tǒng)上運(yùn)行的軟件平臺(tái)中根據(jù)預(yù)先存儲(chǔ)在項(xiàng)目數(shù)據(jù)庫(kù) 中的多個(gè)項(xiàng)目的項(xiàng)目記錄,僅允許授權(quán)的用戶訪問(wèn)所述項(xiàng)目并對(duì)與項(xiàng)目相關(guān)的數(shù)據(jù)、文件、 目錄等進(jìn)行操作,并且為所述文件及目錄設(shè)置預(yù)定的文件權(quán)限。參照?qǐng)D2,在步驟S210,軟件平臺(tái)啟動(dòng),在啟動(dòng)過(guò)程中,進(jìn)行初始化處理。在步驟S220,軟件平臺(tái)通過(guò)調(diào)用包含操作系統(tǒng)命令(如id命令)的程序語(yǔ)言內(nèi)建 函數(shù)(如C++語(yǔ)言中的system函數(shù)和Java中的Runtime. getRuntime (). exec ()方法)提 取當(dāng)前用戶的UID、包括一個(gè)或多個(gè)群組GID的GID列表以及相應(yīng)的群組名稱列表。在步驟S230,軟件平臺(tái)從項(xiàng)目數(shù)據(jù)庫(kù)提取包括全部項(xiàng)目記錄的項(xiàng)目記錄列表。在步驟S240,軟件平臺(tái)將項(xiàng)目記錄列表的首個(gè)項(xiàng)目記錄作為當(dāng)前項(xiàng)目記錄進(jìn)行處 理。在步驟S250,軟件平臺(tái)確定項(xiàng)目記錄中的UID與當(dāng)前用戶的UID是否相同,也就 是說(shuō),當(dāng)前用戶是不是項(xiàng)目的創(chuàng)建用戶。如果當(dāng)前項(xiàng)目記錄中的UID與當(dāng)前用戶的UID不同,則在步驟S260,進(jìn)一步確定在步驟S220提取的GID列表與當(dāng)前項(xiàng)目記錄中的GID列表 是否有至少一個(gè)相同的GID。如果步驟S250,確定項(xiàng)目記錄中的UID與當(dāng)前用戶的UID相同或者在步驟S260確 定提取的GID列表與當(dāng)前項(xiàng)目記錄中的GID列表有至少一個(gè)相同的GID,則在步驟S270,軟 件平臺(tái)將當(dāng)前項(xiàng)目記錄插入到授權(quán)項(xiàng)目記錄列表。另一方面,如果在步驟S250,確定項(xiàng)目記錄中的UID與當(dāng)前用戶的UID不同,并且 在步驟S260確定在步驟S220提取的GID列表與當(dāng)前項(xiàng)目記錄中的GID列表沒(méi)有相同的 GID,則在步驟S280,確定當(dāng)前項(xiàng)目記錄是不是項(xiàng)目記錄列表中的最后一個(gè)項(xiàng)目記錄。如果 確定當(dāng)前項(xiàng)目記錄不是項(xiàng)目記錄列表中的最后一個(gè)項(xiàng)目記錄,則在步驟S285,軟件平臺(tái)將 項(xiàng)目記錄列表的下一個(gè)項(xiàng)目記錄作為當(dāng)前項(xiàng)目記錄,然后返回到步驟S250繼續(xù)進(jìn)行處理。如果在步驟S280,確定當(dāng)前項(xiàng)目記錄是項(xiàng)目記錄列表中的最后一個(gè)項(xiàng)目記錄,則 在步驟S290,軟件平臺(tái)顯示授權(quán)項(xiàng)目記錄列表中的全部項(xiàng)目名稱。此后,當(dāng)按照用戶的命令對(duì)選擇的任意項(xiàng)目進(jìn)行文件和目錄操作時(shí)(未顯示),例 如創(chuàng)建文件和目錄時(shí),軟件平臺(tái)提取所述項(xiàng)目的項(xiàng)目記錄中的文件權(quán)限,并且調(diào)用包含例 如chmod命令作為參數(shù)的程序語(yǔ)言內(nèi)建函數(shù)(如C++語(yǔ)言中的system函數(shù)和Java中的 Runtime. getRuntime (). exec ()方法),所述chmod命令的權(quán)限參數(shù)是項(xiàng)目記錄中的文件權(quán) 限。本發(fā)明所述的軟件平臺(tái)可以是配有插件的插件平臺(tái)。在程序的鏈接過(guò)程中通過(guò)預(yù) 先定義的應(yīng)用程序接口(API)將實(shí)現(xiàn)特定功能的插件代碼鏈接到插件平臺(tái)中,其后在插件 平臺(tái)的運(yùn)行中所述插件被調(diào)用。由于插件和作為其運(yùn)行平臺(tái)的插件平臺(tái)在同一個(gè)程序空間 中被運(yùn)行,其所有權(quán)同屬一個(gè)運(yùn)行的用戶,所以本發(fā)明的權(quán)限設(shè)置方法和權(quán)限控制方法也 適用于插件平臺(tái)。根據(jù)如圖2所示的權(quán)限控制方法的處理,軟件平臺(tái)通過(guò)檢查當(dāng)前用戶是否屬于項(xiàng) 目的授權(quán)群組,可以允許具有項(xiàng)目操作權(quán)限的用戶訪問(wèn)軟件平臺(tái)中的項(xiàng)目,并且在對(duì)與項(xiàng) 目相關(guān)的文件和目錄進(jìn)行操作時(shí),可以統(tǒng)一地設(shè)置相關(guān)文件和目錄的權(quán)限。由于在本發(fā)明 的權(quán)限控制方法中,將root用戶與普通用戶做相同的處理,所以在軟件平臺(tái)中root用戶不 能夠超越一般的用戶權(quán)限對(duì)所有項(xiàng)目以及相關(guān)的文件和目錄進(jìn)行操作。本發(fā)明不限于上述實(shí)施例,在不脫離本發(fā)明范圍的情況下,可以進(jìn)行各種變形和 修改。
      權(quán)利要求
      1.一種在Linux或Unix操作系統(tǒng)的軟件平臺(tái)中設(shè)置項(xiàng)目的操作權(quán)限的方法,所述方法 包括接收創(chuàng)建項(xiàng)目的命令、項(xiàng)目名稱以及基于操作系統(tǒng)文件權(quán)限的文件權(quán)限,所述項(xiàng)目用 于管理相互關(guān)聯(lián)的數(shù)據(jù)、目錄和文件;提取當(dāng)前用戶在操作系統(tǒng)中的用戶標(biāo)識(shí)、包括一個(gè)或多個(gè)其所屬群組的群組名稱列表 以及相應(yīng)的群組標(biāo)識(shí)列表,所述群組名稱列表中的群組名稱與所述群組標(biāo)識(shí)列表中的群組 標(biāo)識(shí)逐個(gè)對(duì)應(yīng);生成用于唯一地標(biāo)識(shí)項(xiàng)目的項(xiàng)目標(biāo)識(shí)符;和在項(xiàng)目數(shù)據(jù)庫(kù)中創(chuàng)建包括項(xiàng)目名稱、項(xiàng)目標(biāo)識(shí)符、創(chuàng)建用戶標(biāo)識(shí)、授權(quán)群組名稱列表、 授權(quán)群組標(biāo)識(shí)列表和項(xiàng)目文件權(quán)限的項(xiàng)目記錄,所述項(xiàng)目名稱是接收的項(xiàng)目名稱,所述項(xiàng) 目標(biāo)識(shí)符是生成的項(xiàng)目標(biāo)識(shí)符,所述創(chuàng)建用戶標(biāo)識(shí)是提取的用戶標(biāo)識(shí),所述授權(quán)群組名稱 列表是提取的群組名稱列表,所述授權(quán)群組標(biāo)識(shí)是提取的群組標(biāo)識(shí)列表,并且所述項(xiàng)目文 件權(quán)限是接收的文件權(quán)限。
      2.如權(quán)利要求1所述的方法,還包括提供提取的群組名稱列表供用戶選擇;接收用戶選擇的一個(gè)或多個(gè)群組名稱;并且使用用戶選擇的群組名稱以及提取的群組名稱列表和群組標(biāo)識(shí)列表構(gòu)建所述授權(quán)群 組名稱列表和相應(yīng)的授權(quán)群組標(biāo)識(shí)列表。
      3.如權(quán)利要求1或2所述的方法,還包括為創(chuàng)建的項(xiàng)目創(chuàng)建相應(yīng)的文件和/或目錄, 并且使用所述項(xiàng)目文件權(quán)限對(duì)創(chuàng)建的文件和/或目錄進(jìn)行權(quán)限設(shè)置。
      4.如權(quán)利要求3所述的方法,其中,調(diào)用包含操作系統(tǒng)命令的程序語(yǔ)言內(nèi)建函數(shù)提取 所述用戶標(biāo)識(shí)、群組名稱列表以及群組標(biāo)識(shí)列表,并且調(diào)用包含另一操作系統(tǒng)命令的程序 語(yǔ)言內(nèi)建函數(shù)來(lái)對(duì)創(chuàng)建的文件和/或目錄進(jìn)行權(quán)限設(shè)置。
      5.如權(quán)利要求4所述的方法,其中,以系統(tǒng)內(nèi)存、配置文件或數(shù)據(jù)庫(kù)方式存儲(chǔ)所述項(xiàng)目 數(shù)據(jù)庫(kù)。
      6.一種在Linux或Unix操作系統(tǒng)的軟件平臺(tái)中控制項(xiàng)目的操作權(quán)限的方法,所述方法 包括提取當(dāng)前用戶的操作系統(tǒng)用戶標(biāo)識(shí)以及包括至少一個(gè)其所屬群組的群組標(biāo)識(shí)的群組 標(biāo)識(shí)列表;從存儲(chǔ)有多個(gè)用于管理相互關(guān)聯(lián)的文件和/或目錄的項(xiàng)目記錄的項(xiàng)目數(shù)據(jù)庫(kù)提取項(xiàng) 目記錄列表,所述項(xiàng)目記錄包括項(xiàng)目名稱、項(xiàng)目標(biāo)識(shí)符、創(chuàng)建用戶的用戶標(biāo)識(shí)、授權(quán)群組名 稱列表、授權(quán)群組標(biāo)識(shí)列表以及基于操作系統(tǒng)文件權(quán)限的項(xiàng)目文件權(quán)限;將所述項(xiàng)目記錄列表當(dāng)中,滿足以下條件的項(xiàng)目記錄插入授權(quán)項(xiàng)目記錄列表中所述 項(xiàng)目記錄中的用戶標(biāo)識(shí)與當(dāng)前用戶的用戶標(biāo)識(shí)相同,或者當(dāng)前用戶的群組標(biāo)識(shí)列表與項(xiàng)目 記錄中的群組標(biāo)識(shí)列表至少存在一個(gè)相同的群組標(biāo)識(shí);以及顯示授權(quán)項(xiàng)目記錄列表中全部項(xiàng)目記錄的項(xiàng)目名稱,其中,當(dāng)為任一項(xiàng)目記錄指示的項(xiàng)目進(jìn)行目錄或文件操作時(shí),使用所述項(xiàng)目記錄中的 項(xiàng)目文件權(quán)限對(duì)被操作的文件和/或目錄進(jìn)行權(quán)限設(shè)置。
      7.如權(quán)利要求6所述的方法,其中,調(diào)用包含操作系統(tǒng)命令的程序語(yǔ)言內(nèi)建函數(shù)提取所述當(dāng)前用戶的用戶標(biāo)識(shí)、所述群組標(biāo)識(shí)列表,并且調(diào)用包含另一操作系統(tǒng)命令的程序語(yǔ) 言內(nèi)建函數(shù)對(duì)所述目錄或文件進(jìn)行權(quán)限設(shè)置。
      8.如權(quán)利要求6所述的方法,其中,所述項(xiàng)目數(shù)據(jù)庫(kù)以系統(tǒng)內(nèi)存、配置文件或數(shù)據(jù)庫(kù)方 式被存儲(chǔ)。
      9.如權(quán)利要求6所述的方法,其中,所述軟件平臺(tái)是運(yùn)行通過(guò)應(yīng)用程序接口接入的插 件的插件平臺(tái)。
      全文摘要
      提供一種權(quán)限設(shè)置方法和權(quán)限控制方法。在Linux或Unix操作系統(tǒng)的軟件平臺(tái)中設(shè)置項(xiàng)目的操作權(quán)限的方法包括接收創(chuàng)建項(xiàng)目的命令、項(xiàng)目名稱以及基于操作系統(tǒng)文件權(quán)限的文件權(quán)限,所述項(xiàng)目用于管理相互關(guān)聯(lián)的數(shù)據(jù)、目錄和文件;提取當(dāng)前用戶在操作系統(tǒng)中的用戶標(biāo)識(shí)、包括一個(gè)或多個(gè)其所屬群組的群組名稱列表以及相應(yīng)的群組標(biāo)識(shí)列表,所述群組名稱列表中的群組名稱與所述群組標(biāo)識(shí)列表中的群組標(biāo)識(shí)逐個(gè)對(duì)應(yīng);生成用于唯一地標(biāo)識(shí)項(xiàng)目的項(xiàng)目標(biāo)識(shí)符;和在項(xiàng)目數(shù)據(jù)庫(kù)中創(chuàng)建包括項(xiàng)目名稱、項(xiàng)目標(biāo)識(shí)符、創(chuàng)建用戶標(biāo)識(shí)、授權(quán)群組名稱列表、授權(quán)群組標(biāo)識(shí)列表和項(xiàng)目文件權(quán)限的項(xiàng)目記錄。
      文檔編號(hào)G06F21/00GK102081710SQ20101058669
      公開(kāi)日2011年6月1日 申請(qǐng)日期2010年12月14日 優(yōu)先權(quán)日2010年12月14日
      發(fā)明者何光明, 劉鴻, 李大衛(wèi), 李振, 杜洪, 陳三平, 陳小二 申請(qǐng)人:中國(guó)石油集團(tuán)川慶鉆探工程有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1