国产精品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)限控制方法和系統(tǒng)與流程

      文檔序號(hào):11623775閱讀:282來(lái)源:國(guó)知局
      一種權(quán)限控制方法和系統(tǒng)與流程

      本發(fā)明涉及訪問(wèn)權(quán)限管理技術(shù)領(lǐng)域,特別是涉及一種權(quán)限控制方法和系統(tǒng)。



      背景技術(shù):

      隨著科學(xué)技術(shù)的發(fā)展,越來(lái)越多的互聯(lián)網(wǎng)用戶通過(guò)遠(yuǎn)程訪問(wèn)的方式來(lái)獲取外部網(wǎng)絡(luò)的共享資源。想要實(shí)現(xiàn)遠(yuǎn)程訪問(wèn),就需要用戶的客戶端通過(guò)遠(yuǎn)程登錄的方式連接到服務(wù)器,然后由服務(wù)器調(diào)取數(shù)據(jù)庫(kù)中的相應(yīng)信息返回至客戶端。

      然而,在互聯(lián)網(wǎng)應(yīng)用中,服務(wù)器為不同的用戶提供不同的服務(wù),即不同的客戶端具有不同的相應(yīng)訪問(wèn)權(quán)限。各客戶端只能在自身的訪問(wèn)權(quán)限范圍內(nèi)獲取數(shù)據(jù)庫(kù)中的信息。通常情況下,當(dāng)用戶在進(jìn)行遠(yuǎn)程訪問(wèn)時(shí),服務(wù)器進(jìn)行系統(tǒng)調(diào)用權(quán)限的判斷,通常情況下直接作用于文件系統(tǒng)的數(shù)據(jù)(文件和目錄)和數(shù)據(jù)庫(kù)連接,所謂的系統(tǒng)調(diào)用指的是進(jìn)程陷入操作系統(tǒng)內(nèi)核執(zhí)行系統(tǒng)功能的調(diào)用,如創(chuàng)建文件、修改文件和執(zhí)行程序。而系統(tǒng)權(quán)限通常指的是系統(tǒng)調(diào)用時(shí)的權(quán)限,典型情況下,權(quán)限通常由文件屬性和進(jìn)程運(yùn)行的所屬用戶組決定。當(dāng)進(jìn)程執(zhí)行系統(tǒng)調(diào)用時(shí)就會(huì)受到進(jìn)程用戶和文件的屬性的局限。

      因而,如何實(shí)現(xiàn)當(dāng)進(jìn)程執(zhí)行系統(tǒng)調(diào)用時(shí)不局限于進(jìn)程用戶和文件的屬性而進(jìn)行權(quán)限的控制,是本領(lǐng)域技術(shù)人員目前需要解決的技術(shù)問(wèn)題。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明的目的是提供一種權(quán)限控制方法和系統(tǒng),可以實(shí)現(xiàn)當(dāng)進(jìn)程執(zhí)行系統(tǒng)調(diào)用時(shí)不局限于進(jìn)程用戶和文件的屬性而進(jìn)行權(quán)限的控制。

      為解決上述技術(shù)問(wèn)題,本發(fā)明提供了如下技術(shù)方案:

      一種權(quán)限控制方法,包括:

      在應(yīng)用程序的進(jìn)程進(jìn)行系統(tǒng)調(diào)用時(shí),根據(jù)所述系統(tǒng)調(diào)用中包含的文件描述符獲取該系統(tǒng)調(diào)用所屬的會(huì)話信息;

      根據(jù)所述會(huì)話信息對(duì)應(yīng)的會(huì)話權(quán)限和所述進(jìn)程所在系統(tǒng)的系統(tǒng)自身訪問(wèn)權(quán)限對(duì)所述系統(tǒng)調(diào)用進(jìn)行權(quán)限檢查;

      在所述系統(tǒng)調(diào)用滿足所述會(huì)話權(quán)限和所述系統(tǒng)自身訪問(wèn)權(quán)限時(shí),則執(zhí)行當(dāng)前系統(tǒng)調(diào)用,并進(jìn)行系統(tǒng)調(diào)用返回。

      優(yōu)選地,所述在應(yīng)用程序的進(jìn)程進(jìn)行系統(tǒng)調(diào)用時(shí),根據(jù)所述系統(tǒng)調(diào)用中包含的文件描述符獲取該系統(tǒng)調(diào)用所屬的會(huì)話信息,包括:

      預(yù)先在接收系統(tǒng)調(diào)用的新連接信息時(shí),建立與該新連接信息關(guān)聯(lián)的連接文件描述符和會(huì)話,并通過(guò)該連接文件描述符對(duì)該會(huì)話進(jìn)行標(biāo)記;

      在應(yīng)用程序的進(jìn)程進(jìn)行系統(tǒng)調(diào)用時(shí),根據(jù)相應(yīng)的連接文件描述符對(duì)所述系統(tǒng)調(diào)用按會(huì)話進(jìn)行追蹤識(shí)別,并獲取相應(yīng)的會(huì)話信息。

      優(yōu)選地,所述預(yù)先在接收系統(tǒng)調(diào)用的新連接信息時(shí),建立與該新連接信息關(guān)聯(lián)的連接文件描述符和會(huì)話,并通過(guò)該連接文件描述符對(duì)該會(huì)話進(jìn)行標(biāo)記,包括:

      預(yù)先在接收系統(tǒng)調(diào)用的新連接信息時(shí),建立與該新連接信息關(guān)聯(lián)的連接文件描述符;

      建立與所述新連接信息關(guān)聯(lián)的會(huì)話;

      將各所述連接文件描述符一一映射到一個(gè)會(huì)話或者空會(huì)話中。

      優(yōu)選地,所述在應(yīng)用程序的進(jìn)程進(jìn)行系統(tǒng)調(diào)用時(shí),根據(jù)相應(yīng)的連接文件描述符對(duì)所述系統(tǒng)調(diào)用按會(huì)話進(jìn)行追蹤識(shí)別,并獲取相應(yīng)的會(huì)話信息,包括:

      在應(yīng)用程序的進(jìn)程進(jìn)行系統(tǒng)調(diào)用時(shí),判斷當(dāng)前系統(tǒng)調(diào)用是否包含預(yù)設(shè)的文件描述符;

      若是,則更新當(dāng)前會(huì)話為該預(yù)設(shè)的文件描述符所映射的會(huì)話;

      獲取所述當(dāng)前會(huì)話的會(huì)話信息。

      優(yōu)選地,所述根據(jù)所述會(huì)話信息對(duì)應(yīng)的會(huì)話權(quán)限和所述進(jìn)程所在系統(tǒng)的系統(tǒng)自身訪問(wèn)權(quán)限對(duì)所述系統(tǒng)調(diào)用進(jìn)行權(quán)限檢查,包括:

      判斷當(dāng)前系統(tǒng)調(diào)用是否在所述會(huì)話信息對(duì)應(yīng)的所述會(huì)話權(quán)限內(nèi);

      若是,則判斷所述當(dāng)前系統(tǒng)調(diào)用是否在系統(tǒng)的所述系統(tǒng)自身訪問(wèn)權(quán)限內(nèi)。

      一種權(quán)限控制系統(tǒng),包括:

      第一獲取模塊,用于在應(yīng)用程序的進(jìn)程進(jìn)行系統(tǒng)調(diào)用時(shí),根據(jù)所述系統(tǒng)調(diào)用中包含的文件描述符獲取該系統(tǒng)調(diào)用所屬的會(huì)話信息;

      權(quán)限檢查模塊,用于根據(jù)所述會(huì)話信息對(duì)應(yīng)的會(huì)話權(quán)限和所述進(jìn)程所在系統(tǒng)的系統(tǒng)自身訪問(wèn)權(quán)限對(duì)所述系統(tǒng)調(diào)用進(jìn)行權(quán)限檢查;

      執(zhí)行模塊,用于在所述系統(tǒng)調(diào)用滿足所述會(huì)話權(quán)限和所述系統(tǒng)自身訪問(wèn)權(quán)限時(shí),則執(zhí)行當(dāng)前系統(tǒng)調(diào)用,并進(jìn)行系統(tǒng)調(diào)用返回。

      優(yōu)選地,所述第一獲取模塊包括:

      處理單元,用于預(yù)先在接收系統(tǒng)調(diào)用的新連接信息時(shí),建立與該新連接信息關(guān)聯(lián)的連接文件描述符和會(huì)話,并通過(guò)該連接文件描述符對(duì)該會(huì)話進(jìn)行標(biāo)記;

      獲取單元,用于在應(yīng)用程序的進(jìn)程進(jìn)行系統(tǒng)調(diào)用時(shí),根據(jù)相應(yīng)的連接文件描述符對(duì)所述系統(tǒng)調(diào)用按會(huì)話進(jìn)行追蹤識(shí)別,并獲取相應(yīng)的會(huì)話信息。

      優(yōu)選地,所述處理單元包括:

      文件描述符建立子單元,用于預(yù)先在接收系統(tǒng)調(diào)用的新連接信息時(shí),建立與該新連接信息關(guān)聯(lián)的連接文件描述符;

      會(huì)話建立子單元,用于建立與所述新連接信息關(guān)聯(lián)的會(huì)話;

      映射子單元,用于將各所述連接文件描述符一一映射到一個(gè)會(huì)話或者空會(huì)話中。

      優(yōu)選地,所述獲取單元包括:

      第一判斷子單元,用于在應(yīng)用程序的進(jìn)程進(jìn)行系統(tǒng)調(diào)用時(shí),判斷當(dāng)前系統(tǒng)調(diào)用是否包含預(yù)設(shè)的文件描述符;

      會(huì)話更新子單元,用于在所述第一判斷子單元判定當(dāng)前系統(tǒng)調(diào)用包含預(yù)設(shè)的文件描述符時(shí),更新當(dāng)前會(huì)話為該預(yù)設(shè)的文件描述符所映射的會(huì)話;

      獲取子單元,用于獲取所述當(dāng)前會(huì)話的會(huì)話信息。

      優(yōu)選地,所述權(quán)限檢查模塊包括:

      第一判斷單元,用于判斷當(dāng)前系統(tǒng)調(diào)用是否在所述會(huì)話信息對(duì)應(yīng)的所述會(huì)話權(quán)限內(nèi);

      第二判斷單元,用于在所述第一判斷單元判定當(dāng)前系統(tǒng)調(diào)用在所述會(huì)話信息對(duì)應(yīng)的所述會(huì)話權(quán)限內(nèi)時(shí),判斷所述當(dāng)前系統(tǒng)調(diào)用是否在系統(tǒng)的所述系統(tǒng)自身訪問(wèn)權(quán)限內(nèi)。

      與現(xiàn)有技術(shù)相比,上述技術(shù)方案具有以下優(yōu)點(diǎn):

      本發(fā)明實(shí)施例所提供的權(quán)限控制方法,包括:在應(yīng)用程序的進(jìn)程進(jìn)行系統(tǒng)調(diào)用時(shí),根據(jù)系統(tǒng)調(diào)用中包含的文件描述符獲取該系統(tǒng)調(diào)用所屬的會(huì)話信息;根據(jù)會(huì)話信息對(duì)應(yīng)的會(huì)話權(quán)限和進(jìn)程所在系統(tǒng)的系統(tǒng)自身訪問(wèn)權(quán)限對(duì)系統(tǒng)調(diào)用進(jìn)行權(quán)限檢查;在系統(tǒng)調(diào)用滿足會(huì)話權(quán)限和系統(tǒng)自身訪問(wèn)權(quán)限時(shí),則執(zhí)行當(dāng)前系統(tǒng)調(diào)用,并進(jìn)行系統(tǒng)調(diào)用返回。對(duì)于應(yīng)用程序的進(jìn)程對(duì)系統(tǒng)調(diào)用引入了會(huì)話權(quán)限的檢查來(lái)配合系統(tǒng)系統(tǒng)自身訪問(wèn)權(quán)限對(duì)于服務(wù)器中進(jìn)行系統(tǒng)調(diào)用時(shí)的權(quán)限進(jìn)行檢查校驗(yàn),以控制應(yīng)用程序的權(quán)限,實(shí)現(xiàn)了當(dāng)進(jìn)程執(zhí)行系統(tǒng)調(diào)用時(shí)不局限于進(jìn)程用戶和文件的屬性而進(jìn)行權(quán)限的控制,同時(shí)通過(guò)文件描述符來(lái)對(duì)各會(huì)話進(jìn)行識(shí)別,方便獲知對(duì)應(yīng)的會(huì)話的會(huì)話權(quán)限,以方便進(jìn)行權(quán)限的檢查校驗(yàn)。

      附圖說(shuō)明

      為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

      圖1為本發(fā)明一種具體實(shí)施方式所提供的權(quán)限控制方法流程圖;

      圖2為本發(fā)明一種實(shí)施方式所提供的會(huì)話識(shí)別方法流程圖;

      圖3為本發(fā)明一種具體實(shí)施方式所提供的權(quán)限控制系統(tǒng)結(jié)構(gòu)示意圖。

      具體實(shí)施方式

      本發(fā)明的核心是提供一種權(quán)限控制方法和系統(tǒng),可以實(shí)現(xiàn)當(dāng)進(jìn)程執(zhí)行系統(tǒng)調(diào)用時(shí)不局限于進(jìn)程用戶和文件的屬性而進(jìn)行權(quán)限的控制。

      為了使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更為明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式做詳細(xì)的說(shuō)明。

      在以下描述中闡述了具體細(xì)節(jié)以便于充分理解本發(fā)明。但是本發(fā)明能夠以多種不同于在此描述的其它方式來(lái)實(shí)施,本領(lǐng)域技術(shù)人員可以在不違背本發(fā)明內(nèi)涵的情況下做類似推廣。因此本發(fā)明不受下面公開(kāi)的具體實(shí)施方式的限制。

      請(qǐng)參考圖1,圖1為本發(fā)明一種具體實(shí)施方式所提供的權(quán)限控制方法流程圖。

      本發(fā)明的一種具體實(shí)施方式提供了一種權(quán)限控制方法,包括:

      s11:在應(yīng)用程序的進(jìn)程進(jìn)行系統(tǒng)調(diào)用時(shí),根據(jù)系統(tǒng)調(diào)用中包含的文件描述符獲取該系統(tǒng)調(diào)用所屬的會(huì)話信息;

      s12:根據(jù)會(huì)話信息對(duì)應(yīng)的會(huì)話權(quán)限和進(jìn)程所在系統(tǒng)的系統(tǒng)自身訪問(wèn)權(quán)限對(duì)系統(tǒng)調(diào)用進(jìn)行權(quán)限檢查;

      s13:在系統(tǒng)調(diào)用滿足會(huì)話權(quán)限和系統(tǒng)自身訪問(wèn)權(quán)限時(shí),則執(zhí)行當(dāng)前系統(tǒng)調(diào)用,并進(jìn)行系統(tǒng)調(diào)用返回。

      在本實(shí)施方式中,當(dāng)客戶端通過(guò)預(yù)設(shè)的應(yīng)用程序來(lái)訪問(wèn)服務(wù)器,以獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)時(shí),客戶端和服務(wù)器之間會(huì)建立關(guān)于系統(tǒng)調(diào)用的會(huì)話。在此根據(jù)系統(tǒng)調(diào)用中包含的文件描述符來(lái)獲取該會(huì)話的會(huì)話信息,該會(huì)話信息可以指示該會(huì)話屬于哪個(gè)角色,即該會(huì)話所屬的客戶端或者用戶,而不同的角色在系統(tǒng)中的身份擁有一組操作權(quán)限配置。不同的會(huì)話信息對(duì)應(yīng)各自的會(huì)話權(quán)限。當(dāng)用戶想要進(jìn)行系統(tǒng)調(diào)用時(shí),就需要進(jìn)行會(huì)話權(quán)限和系統(tǒng)系統(tǒng)自身訪問(wèn)權(quán)限的檢測(cè),通過(guò)會(huì)話權(quán)限的檢查來(lái)判斷該會(huì)話對(duì)應(yīng)的角色的數(shù)據(jù)訪問(wèn)權(quán)限,而系統(tǒng)系統(tǒng)自身訪問(wèn)權(quán)限的檢查用來(lái)判斷系統(tǒng)可以提供給該角色的數(shù)據(jù)訪問(wèn)權(quán)限,只有當(dāng)系統(tǒng)調(diào)用的數(shù)據(jù)既能通過(guò)會(huì)話權(quán)限的檢查,又能通過(guò)系統(tǒng)的系統(tǒng)自身訪問(wèn)權(quán)限的檢查,此時(shí)才執(zhí)行當(dāng)前系統(tǒng)調(diào)用,當(dāng)當(dāng)前系統(tǒng)調(diào)用執(zhí)行完成后進(jìn)行系統(tǒng)調(diào)用返回,執(zhí)行新的系統(tǒng)調(diào)用。其中,文件描述符的作用在于對(duì)會(huì)話進(jìn)行識(shí)別,即文件描述符作為會(huì)話的標(biāo)識(shí)。

      其中,會(huì)話權(quán)限即表示了該會(huì)話對(duì)應(yīng)的角色的訪問(wèn)權(quán)限,從而在判斷系統(tǒng)調(diào)用是否符合權(quán)限時(shí),無(wú)需再去判斷系統(tǒng)調(diào)用的文件屬性和進(jìn)行運(yùn)行的所屬用戶的屬性,極大地簡(jiǎn)化了權(quán)限的判斷過(guò)程。對(duì)于應(yīng)用程序的進(jìn)程對(duì)系統(tǒng)調(diào)用引入了會(huì)話權(quán)限的檢查來(lái)配合系統(tǒng)系統(tǒng)自身訪問(wèn)權(quán)限對(duì)于服務(wù)器中進(jìn)行系統(tǒng)調(diào)用時(shí)的權(quán)限進(jìn)行檢查校驗(yàn),以控制應(yīng)用程序的權(quán)限,實(shí)現(xiàn)了當(dāng)進(jìn)程執(zhí)行系統(tǒng)調(diào)用時(shí)不局限于進(jìn)程用戶和文件的屬性而進(jìn)行權(quán)限的控制。

      需要說(shuō)明的是,在本文中的整個(gè)通訊服務(wù)過(guò)程中,系統(tǒng)調(diào)用主要包括應(yīng)用程序?qū)Υ疟P文件系統(tǒng)進(jìn)行文件讀寫系統(tǒng)調(diào)用,和應(yīng)用程序?qū)?shù)據(jù)庫(kù)程序的數(shù)據(jù)庫(kù)連接讀寫的系統(tǒng)調(diào)用。在這兩種情況下進(jìn)行系統(tǒng)調(diào)用時(shí)進(jìn)行權(quán)限的檢查判斷。

      還需要說(shuō)明的是,系統(tǒng)調(diào)用還包括數(shù)據(jù)庫(kù)程序?qū)?shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行數(shù)據(jù)讀寫的系統(tǒng)調(diào)用,由于在技術(shù)上權(quán)限檢查的意義不大,因此,在本實(shí)施方式中,可以不對(duì)此處的系統(tǒng)調(diào)用進(jìn)行權(quán)限檢查判斷。

      在本發(fā)明的一種實(shí)施方式中,在應(yīng)用程序的進(jìn)程進(jìn)行系統(tǒng)調(diào)用時(shí),根據(jù)系統(tǒng)調(diào)用中包含的文件描述符獲取該系統(tǒng)調(diào)用所屬的會(huì)話信息,包括:預(yù)先在接收系統(tǒng)調(diào)用的新連接信息時(shí),建立與該新連接信息關(guān)聯(lián)的連接文件描述符和會(huì)話,并通過(guò)該連接文件描述符對(duì)該會(huì)話進(jìn)行標(biāo)記;在應(yīng)用程序的進(jìn)程進(jìn)行系統(tǒng)調(diào)用時(shí),根據(jù)相應(yīng)的連接文件描述符對(duì)系統(tǒng)調(diào)用按會(huì)話進(jìn)行追蹤識(shí)別,并獲取相應(yīng)的會(huì)話信息。

      其中,預(yù)先在接收系統(tǒng)調(diào)用的新連接信息時(shí),建立與該新連接信息關(guān)聯(lián)的連接文件描述符和會(huì)話,并通過(guò)該連接文件描述符對(duì)該會(huì)話進(jìn)行標(biāo)記,包括:預(yù)先在接收系統(tǒng)調(diào)用的新連接信息時(shí),建立與該新連接信息關(guān)聯(lián)的連接文件描述符;建立與新連接信息關(guān)聯(lián)的會(huì)話;將各連接文件描述符一一映射到一個(gè)會(huì)話或者空會(huì)話中。

      進(jìn)一步地,在應(yīng)用程序的進(jìn)程進(jìn)行系統(tǒng)調(diào)用時(shí),根據(jù)相應(yīng)的連接文件描述符對(duì)系統(tǒng)調(diào)用按會(huì)話進(jìn)行追蹤識(shí)別,并獲取相應(yīng)的會(huì)話信息,包括:在應(yīng)用程序的進(jìn)程進(jìn)行系統(tǒng)調(diào)用時(shí),判斷當(dāng)前系統(tǒng)調(diào)用是否包含預(yù)設(shè)的文件描述符;若是,則更新當(dāng)前會(huì)話為該預(yù)設(shè)的文件描述符所映射的會(huì)話;獲取當(dāng)前會(huì)話的會(huì)話信息。

      在本實(shí)施方式中,對(duì)文件描述符對(duì)會(huì)話的識(shí)別進(jìn)行了詳細(xì)的說(shuō)明。文件描述符指的是進(jìn)程或操作系統(tǒng)中標(biāo)示打開(kāi)的文件或連接的一個(gè)數(shù)字標(biāo)識(shí),或者稱為文件句柄。會(huì)話指的是在服務(wù)進(jìn)程接收新連接后,系統(tǒng)為其分配一個(gè)會(huì)話,該會(huì)話與連接進(jìn)行關(guān)聯(lián),所謂的連接指的是系統(tǒng)中的應(yīng)用程序和數(shù)據(jù)庫(kù)連接。將每個(gè)文件描述符都映射到一個(gè)會(huì)話或者空會(huì)話中,以表示當(dāng)前會(huì)話與會(huì)話關(guān)聯(lián)。

      需要說(shuō)明的是,服務(wù)器根據(jù)服務(wù)進(jìn)程調(diào)用數(shù)據(jù)庫(kù)中的數(shù)據(jù),所謂的服務(wù)進(jìn)程指的是服務(wù)器的應(yīng)用系統(tǒng)中對(duì)外部監(jiān)聽(tīng)端口接收新連接,并提供服務(wù)的進(jìn)程,如apache(www服務(wù)器),vsftpd(ftp服務(wù)器)。在服務(wù)進(jìn)程接收新連接后,系統(tǒng)會(huì)為其分配一個(gè)會(huì)話,該會(huì)話與連接進(jìn)行關(guān)聯(lián),以便通過(guò)會(huì)話的權(quán)限來(lái)對(duì)系統(tǒng)調(diào)用進(jìn)行控制。

      在本實(shí)施方式中,以預(yù)設(shè)的文件描述符為描述符參數(shù)fd為例進(jìn)行說(shuō)明。如圖2所示,圖2為本發(fā)明一種實(shí)施方式所提供的會(huì)話識(shí)別方法流程圖。在應(yīng)用程序的進(jìn)程進(jìn)行系統(tǒng)調(diào)用時(shí),根據(jù)相應(yīng)的文件描述符對(duì)系統(tǒng)調(diào)用按會(huì)話進(jìn)行追蹤識(shí)別,包括:

      s21:在進(jìn)行系統(tǒng)調(diào)用時(shí),判斷系統(tǒng)當(dāng)前系統(tǒng)調(diào)用中是否包含文件描述符參數(shù)fd。

      s22:若是,則更新當(dāng)前會(huì)話為fd映射的會(huì)話。

      s23:執(zhí)行當(dāng)前系統(tǒng)調(diào)用。

      s24:判斷系統(tǒng)調(diào)用是否產(chǎn)生了新的文件描述符參數(shù)fd-new。

      s25:若是,則將fd-new映射到當(dāng)前會(huì)話。

      之后,該系統(tǒng)調(diào)用結(jié)束。

      在本實(shí)施方式中,根據(jù)文件描述符識(shí)進(jìn)行會(huì)話識(shí)別,會(huì)話識(shí)別不斷根據(jù)系統(tǒng)調(diào)用涉及的文件描述符調(diào)整當(dāng)前會(huì)話,并將新的文件描述符映射到當(dāng)前會(huì)話。當(dāng)創(chuàng)建子進(jìn)程時(shí),子進(jìn)程繼承當(dāng)前會(huì)話。

      在服務(wù)進(jìn)程接收到新連接后,即接收到新的任務(wù)時(shí),創(chuàng)建與該新連接關(guān)聯(lián)的文件描述符和會(huì)話,并通過(guò)該文件描述符標(biāo)記該會(huì)話,這樣,就可以對(duì)系統(tǒng)調(diào)用按會(huì)話進(jìn)行追蹤識(shí)別,根據(jù)系統(tǒng)調(diào)用所涉及的文件描述符調(diào)整當(dāng)前會(huì)話,以進(jìn)行會(huì)話識(shí)別,根據(jù)識(shí)別的當(dāng)前會(huì)話的會(huì)話權(quán)限控制當(dāng)前系統(tǒng)調(diào)用。

      在本文中,會(huì)話可以指示該會(huì)話屬于哪個(gè)角色,即該會(huì)話所屬的客戶端或者用戶,而不同的角色根據(jù)在系統(tǒng)中的身份擁有一組操作權(quán)限配置。不同的會(huì)話對(duì)應(yīng)各自的會(huì)話權(quán)限。當(dāng)用戶想要進(jìn)行系統(tǒng)調(diào)用時(shí),就需要進(jìn)行會(huì)話權(quán)限的檢查,通過(guò)會(huì)話權(quán)限的檢查來(lái)判斷該會(huì)話對(duì)應(yīng)的角色的數(shù)據(jù)訪問(wèn)權(quán)限,而系統(tǒng)系統(tǒng)自身訪問(wèn)權(quán)限的檢查用來(lái)判斷系統(tǒng)可以提供給該角色的數(shù)據(jù)訪問(wèn)權(quán)限,只有當(dāng)系統(tǒng)調(diào)用的數(shù)據(jù)能通過(guò)會(huì)話權(quán)限和系統(tǒng)自身訪問(wèn)權(quán)限的檢查時(shí)才能夠執(zhí)行當(dāng)前系統(tǒng)調(diào)用。

      其中,會(huì)話權(quán)限即表示了該會(huì)話對(duì)應(yīng)的角色的訪問(wèn)權(quán)限,從而在判斷系統(tǒng)調(diào)用是否符合權(quán)限時(shí),無(wú)需再去判斷系統(tǒng)調(diào)用的文件屬性和進(jìn)行運(yùn)行的所屬用戶的屬性,極大地簡(jiǎn)化了權(quán)限的判斷過(guò)程。對(duì)于應(yīng)用程序的進(jìn)程對(duì)系統(tǒng)調(diào)用引入了會(huì)話權(quán)限的檢查來(lái)對(duì)于服務(wù)器中進(jìn)行系統(tǒng)調(diào)用時(shí)的權(quán)限進(jìn)行檢查校驗(yàn),以控制應(yīng)用程序的權(quán)限,實(shí)現(xiàn)了當(dāng)進(jìn)程執(zhí)行系統(tǒng)調(diào)用時(shí)不局限于進(jìn)程用戶和文件的屬性而進(jìn)行權(quán)限的控制。

      需要說(shuō)明的是,在本文中的整個(gè)通訊服務(wù)過(guò)程中,系統(tǒng)調(diào)用主要包括應(yīng)用程序?qū)Υ疟P文件系統(tǒng)進(jìn)行文件讀寫系統(tǒng)調(diào)用,和應(yīng)用程序?qū)?shù)據(jù)庫(kù)程序的數(shù)據(jù)庫(kù)連接讀寫的系統(tǒng)調(diào)用。在這兩種情況下進(jìn)行系統(tǒng)調(diào)用時(shí)進(jìn)行權(quán)限的檢查判斷。

      還需要說(shuō)明的是,系統(tǒng)調(diào)用還包括數(shù)據(jù)庫(kù)程序?qū)?shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行數(shù)據(jù)讀寫的系統(tǒng)調(diào)用,由于在技術(shù)上權(quán)限檢查的意義不大,因此,在本實(shí)施方式中,可以不對(duì)此處的系統(tǒng)調(diào)用進(jìn)行權(quán)限檢查判斷。

      在本發(fā)明的一種實(shí)施方式中,根據(jù)會(huì)話信息對(duì)應(yīng)的會(huì)話權(quán)限和進(jìn)程所在系統(tǒng)的系統(tǒng)自身訪問(wèn)權(quán)限對(duì)系統(tǒng)調(diào)用進(jìn)行權(quán)限檢查,包括:判斷當(dāng)前系統(tǒng)調(diào)用是否在會(huì)話信息對(duì)應(yīng)的會(huì)話權(quán)限內(nèi);若是,則判斷當(dāng)前系統(tǒng)調(diào)用是否在系統(tǒng)的系統(tǒng)自身訪問(wèn)權(quán)限內(nèi)。

      在系統(tǒng)調(diào)用滿足會(huì)話權(quán)限和系統(tǒng)自身訪問(wèn)權(quán)限時(shí),則執(zhí)行當(dāng)前系統(tǒng)調(diào)用,并進(jìn)行系統(tǒng)調(diào)用返回,包括:若判定當(dāng)前系統(tǒng)調(diào)用在系統(tǒng)的系統(tǒng)自身訪問(wèn)權(quán)限內(nèi),則執(zhí)行當(dāng)前系統(tǒng)調(diào)用;在當(dāng)前系統(tǒng)調(diào)用完成后進(jìn)行系統(tǒng)調(diào)用返回。

      在本實(shí)施方式中,在獲取了系統(tǒng)調(diào)用的所述會(huì)話信息后,首先判斷當(dāng)前系統(tǒng)調(diào)用是否在會(huì)話權(quán)限內(nèi),即通過(guò)會(huì)話權(quán)限檢測(cè)系統(tǒng)調(diào)用是否處于該會(huì)話對(duì)應(yīng)的角色的權(quán)限范圍內(nèi),若通過(guò)檢測(cè)則判斷當(dāng)前系統(tǒng)調(diào)用是否處于系統(tǒng)的系統(tǒng)自身訪問(wèn)權(quán)限內(nèi),即系統(tǒng)是否對(duì)該會(huì)話對(duì)應(yīng)的角色開(kāi)放了對(duì)應(yīng)的權(quán)限,若也通過(guò)檢查,則執(zhí)行當(dāng)前系統(tǒng)調(diào)用。

      需要說(shuō)明的是,若判定當(dāng)前系統(tǒng)調(diào)用不在會(huì)話信息對(duì)應(yīng)的會(huì)話權(quán)限內(nèi),則表示檢查失敗,直接進(jìn)入系統(tǒng)調(diào)用返回。

      進(jìn)一步地,在本發(fā)明的一種實(shí)施方式中,在執(zhí)行當(dāng)前系統(tǒng)調(diào)用之后,還包括:判斷當(dāng)前系統(tǒng)調(diào)用的結(jié)果是否在會(huì)話權(quán)限內(nèi);若是,則進(jìn)行系統(tǒng)調(diào)用返回;若否,則清空系統(tǒng)調(diào)用返回?cái)?shù)據(jù),并進(jìn)行系統(tǒng)調(diào)用返回。

      在本實(shí)施方式中,由于在執(zhí)行系統(tǒng)調(diào)用后的數(shù)據(jù)會(huì)發(fā)生一定的變化,因此,在執(zhí)行完系統(tǒng)調(diào)用后,還通過(guò)對(duì)當(dāng)前系統(tǒng)調(diào)用的結(jié)果進(jìn)行權(quán)限的校驗(yàn)。以進(jìn)一步完善系統(tǒng)調(diào)用的權(quán)限控制。

      還需要說(shuō)明的是,在本發(fā)明中,還可以在獲取了系統(tǒng)調(diào)用的會(huì)話信息后,先進(jìn)行系統(tǒng)系統(tǒng)自身訪問(wèn)權(quán)限的檢查,若檢查通過(guò),直接執(zhí)行系統(tǒng)調(diào)用,然后對(duì)系統(tǒng)調(diào)用的結(jié)果進(jìn)行會(huì)話權(quán)限的檢查。也可以實(shí)現(xiàn)當(dāng)進(jìn)程執(zhí)行系統(tǒng)調(diào)用時(shí)不局限于進(jìn)程用戶和文件的屬性而進(jìn)行權(quán)限的控制。

      請(qǐng)參考圖3,圖3為本發(fā)明一種具體實(shí)施方式所提供的權(quán)限控制系統(tǒng)結(jié)構(gòu)示意圖。

      相應(yīng)地,本發(fā)明一種實(shí)施方式還提供了一種權(quán)限控制系統(tǒng),包括:

      第一獲取模塊31,用于在應(yīng)用程序的進(jìn)程進(jìn)行系統(tǒng)調(diào)用時(shí),根據(jù)系統(tǒng)調(diào)用中包含的文件描述符獲取該系統(tǒng)調(diào)用所屬的會(huì)話信息;

      權(quán)限檢查模塊32,用于根據(jù)會(huì)話信息對(duì)應(yīng)的會(huì)話權(quán)限和進(jìn)程所在系統(tǒng)的系統(tǒng)自身訪問(wèn)權(quán)限對(duì)系統(tǒng)調(diào)用進(jìn)行權(quán)限檢查;

      執(zhí)行模塊33,用于在系統(tǒng)調(diào)用滿足會(huì)話權(quán)限和系統(tǒng)自身訪問(wèn)權(quán)限時(shí),則執(zhí)行當(dāng)前系統(tǒng)調(diào)用,并進(jìn)行系統(tǒng)調(diào)用返回。

      在本實(shí)施方式中,當(dāng)客戶端通過(guò)預(yù)設(shè)的應(yīng)用程序來(lái)訪問(wèn)服務(wù)器,以獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)時(shí),客戶端和服務(wù)器之間會(huì)建立關(guān)于系統(tǒng)調(diào)用的會(huì)話。在此根據(jù)系統(tǒng)調(diào)用中包含的文件描述符來(lái)獲取該會(huì)話的會(huì)話信息,該會(huì)話信息可以指示該會(huì)話屬于哪個(gè)角色,即該會(huì)話所屬的客戶端或者用戶,而不同的角色在系統(tǒng)中的身份擁有一組操作權(quán)限配置。不同的會(huì)話信息對(duì)應(yīng)各自的會(huì)話權(quán)限。當(dāng)用戶想要進(jìn)行系統(tǒng)調(diào)用時(shí),就需要進(jìn)行會(huì)話權(quán)限和系統(tǒng)系統(tǒng)自身訪問(wèn)權(quán)限的檢測(cè),通過(guò)會(huì)話權(quán)限的檢查來(lái)判斷該會(huì)話對(duì)應(yīng)的角色的數(shù)據(jù)訪問(wèn)權(quán)限,而系統(tǒng)系統(tǒng)自身訪問(wèn)權(quán)限的檢查用來(lái)判斷系統(tǒng)可以提供給該角色的數(shù)據(jù)訪問(wèn)權(quán)限,只有當(dāng)系統(tǒng)調(diào)用的數(shù)據(jù)既能通過(guò)會(huì)話權(quán)限的檢查,又能通過(guò)系統(tǒng)的系統(tǒng)自身訪問(wèn)權(quán)限的檢查,此時(shí)才執(zhí)行當(dāng)前系統(tǒng)調(diào)用,當(dāng)當(dāng)前系統(tǒng)調(diào)用執(zhí)行完成后進(jìn)行系統(tǒng)調(diào)用返回,執(zhí)行新的系統(tǒng)調(diào)用。其中,文件描述符的作用在于對(duì)會(huì)話進(jìn)行識(shí)別,即文件描述符作為會(huì)話的標(biāo)識(shí)。

      在本發(fā)明的一種實(shí)施方式中,第一獲取模塊包括:處理單元,用于預(yù)先在接收系統(tǒng)調(diào)用的新連接信息時(shí),建立與該新連接信息關(guān)聯(lián)的連接文件描述符和會(huì)話,并通過(guò)該連接文件描述符對(duì)該會(huì)話進(jìn)行標(biāo)記;獲取單元,用于在應(yīng)用程序的進(jìn)程進(jìn)行系統(tǒng)調(diào)用時(shí),根據(jù)相應(yīng)的連接文件描述符對(duì)系統(tǒng)調(diào)用按會(huì)話進(jìn)行追蹤識(shí)別,并獲取相應(yīng)的會(huì)話信息。

      進(jìn)一步地,處理單元包括:文件描述符建立子單元,用于預(yù)先在接收系統(tǒng)調(diào)用的新連接信息時(shí),建立與該新連接信息關(guān)聯(lián)的連接文件描述符;會(huì)話建立子單元,用于建立與新連接信息關(guān)聯(lián)的會(huì)話;映射子單元,用于將各連接文件描述符一一映射到一個(gè)會(huì)話或者空會(huì)話中。

      獲取單元包括:第一判斷子單元,用于在應(yīng)用程序的進(jìn)程進(jìn)行系統(tǒng)調(diào)用時(shí),判斷當(dāng)前系統(tǒng)調(diào)用是否包含預(yù)設(shè)的文件描述符;會(huì)話更新子單元,用于在第一判斷子單元判定當(dāng)前系統(tǒng)調(diào)用包含預(yù)設(shè)的文件描述符時(shí),更新當(dāng)前會(huì)話為該預(yù)設(shè)的文件描述符所映射的會(huì)話;獲取子單元,用于獲取當(dāng)前會(huì)話的會(huì)話信息。

      在本實(shí)施方式中,第一獲取模塊具有會(huì)話識(shí)別的用途。在具體實(shí)現(xiàn)中,第一獲取模塊通過(guò)處理單元將預(yù)設(shè)的文件描述符映射表中的各文件描述符都映射到預(yù)設(shè)的會(huì)話列表中的一個(gè)會(huì)話或者空會(huì)話中,以表示當(dāng)前會(huì)話與會(huì)話關(guān)聯(lián)。當(dāng)進(jìn)行系統(tǒng)調(diào)用時(shí),若系統(tǒng)調(diào)用中包含某一文件描述符,則將當(dāng)前會(huì)話更新為該文件描述符映射的會(huì)話來(lái)執(zhí)行系統(tǒng)調(diào)用,在系統(tǒng)調(diào)用的過(guò)程中,若產(chǎn)生了新的文件描述符,則將該新的文件描述符映射的會(huì)話更新為當(dāng)前會(huì)話。

      在本發(fā)明的一種實(shí)施方式中,權(quán)限檢查模塊包括:第一判斷單元,用于判斷當(dāng)前系統(tǒng)調(diào)用是否在會(huì)話信息對(duì)應(yīng)的會(huì)話權(quán)限內(nèi);第二判斷單元,用于在第一判斷單元判定當(dāng)前系統(tǒng)調(diào)用在會(huì)話信息對(duì)應(yīng)的會(huì)話權(quán)限內(nèi)時(shí),判斷當(dāng)前系統(tǒng)調(diào)用是否在系統(tǒng)的系統(tǒng)自身訪問(wèn)權(quán)限內(nèi)。

      在系統(tǒng)調(diào)用滿足會(huì)話權(quán)限和系統(tǒng)自身訪問(wèn)權(quán)限時(shí),則執(zhí)行當(dāng)前系統(tǒng)調(diào)用,并進(jìn)行系統(tǒng)調(diào)用返回,包括:若判定當(dāng)前系統(tǒng)調(diào)用在系統(tǒng)的系統(tǒng)自身訪問(wèn)權(quán)限內(nèi),則執(zhí)行當(dāng)前系統(tǒng)調(diào)用;在當(dāng)前系統(tǒng)調(diào)用完成后進(jìn)行系統(tǒng)調(diào)用返回。

      在本實(shí)施方式中,在獲取了系統(tǒng)調(diào)用的所述會(huì)話信息后,首先判斷當(dāng)前系統(tǒng)調(diào)用是否在會(huì)話權(quán)限內(nèi),即通過(guò)會(huì)話權(quán)限檢測(cè)系統(tǒng)調(diào)用是否處于該會(huì)話對(duì)應(yīng)的角色的權(quán)限范圍內(nèi),若通過(guò)檢測(cè)則判斷當(dāng)前系統(tǒng)調(diào)用是否處于系統(tǒng)的系統(tǒng)自身訪問(wèn)權(quán)限內(nèi),即系統(tǒng)是否對(duì)該會(huì)話對(duì)應(yīng)的角色開(kāi)放了對(duì)應(yīng)的權(quán)限,若也通過(guò)檢查,則執(zhí)行當(dāng)前系統(tǒng)調(diào)用。

      需要說(shuō)明的是,若判定當(dāng)前系統(tǒng)調(diào)用不在會(huì)話信息對(duì)應(yīng)的會(huì)話權(quán)限內(nèi),則表示檢查失敗,直接進(jìn)入系統(tǒng)調(diào)用返回。

      綜上所述,本發(fā)明所提供的權(quán)限控制方法和系統(tǒng),對(duì)于應(yīng)用程序的進(jìn)程對(duì)系統(tǒng)調(diào)用引入了會(huì)話權(quán)限的檢查來(lái)配合系統(tǒng)系統(tǒng)自身訪問(wèn)權(quán)限對(duì)于服務(wù)器中進(jìn)行系統(tǒng)調(diào)用時(shí)的權(quán)限進(jìn)行檢查校驗(yàn),以控制應(yīng)用程序的權(quán)限,實(shí)現(xiàn)了當(dāng)進(jìn)程執(zhí)行系統(tǒng)調(diào)用時(shí)不局限于進(jìn)程用戶和文件的屬性而進(jìn)行權(quán)限的控制,同時(shí)通過(guò)文件描述符來(lái)對(duì)各會(huì)話進(jìn)行識(shí)別,方便獲知對(duì)應(yīng)的會(huì)話的會(huì)話權(quán)限,以方便進(jìn)行權(quán)限的檢查校驗(yàn)。

      以上對(duì)本發(fā)明所提供的一種權(quán)限控制方法和系統(tǒng)進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。

      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1