訪問權(quán)限的控制方法及控制系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種訪問權(quán)限的控制方法及控制系統(tǒng),該方法包括:對(duì)于請(qǐng)求對(duì)訪問對(duì)象進(jìn)行訪問操作的訪問方,提取該訪問方的用戶標(biāo)簽,其中,訪問對(duì)象預(yù)先配置有用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽;根據(jù)預(yù)先配置的用戶標(biāo)簽和提取的用戶標(biāo)簽,確定訪問方是否通過驗(yàn)證,如果提取的用戶標(biāo)簽與預(yù)先配置的用戶標(biāo)簽中的一個(gè)標(biāo)簽相符,則確定訪問方通過驗(yàn)證;根據(jù)提取的用戶標(biāo)簽所對(duì)應(yīng)的權(quán)限標(biāo)簽,確定訪問方是否有權(quán)限對(duì)訪問對(duì)象進(jìn)行訪問操作。本發(fā)明有效的控制了所有用戶的訪問權(quán)限,避免了現(xiàn)有相關(guān)技術(shù)無法對(duì)超級(jí)用戶進(jìn)行限制的問題,提高了系統(tǒng)的安全性和可靠性。
【專利說明】訪問權(quán)限的控制方法及控制系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)安全領(lǐng)域,具體來說,涉及一種訪問權(quán)限的控制方法及控制系統(tǒng)?!颈尘凹夹g(shù)】
[0002]Linux系統(tǒng)中所采用的訪問控制是傳統(tǒng)UNIX的基于訪問模式位的單一的自主訪問控制,在實(shí)現(xiàn)這一功能時(shí),系統(tǒng)的訪問控制代碼散列在核心中,沒有形成統(tǒng)一的訪問控制模塊和相應(yīng)的接口,缺乏相應(yīng)的靈活性、擴(kuò)充性以及易維護(hù)性,無法定制化系統(tǒng)的訪問控制策略。
[0003]目前,有一種技術(shù)可以實(shí)現(xiàn)相應(yīng)的權(quán)限管理,即ACL (Access Control List)。所謂ACL,就是一個(gè)文件/目錄的訪問控制列表,可以針對(duì)任意指定的用戶/組分配RWX權(quán)限,可以通過一些命令配置實(shí)現(xiàn)對(duì)一個(gè)文件的詳細(xì)的權(quán)限管理。
[0004]然而,ACL權(quán)限控制,只能在普通用戶之間進(jìn)行較為詳細(xì)的權(quán)限設(shè)置,對(duì)于root這個(gè)超級(jí)用戶是不受限制的。超級(jí)用戶的權(quán)利仍然太大(例如,超級(jí)用戶可以做一切事情,訪問一切文件),入侵者往往可以輕松的利用應(yīng)用程序的漏洞,不通過身份認(rèn)證就可以成為超級(jí)用戶,而這個(gè)假冒的超級(jí)用戶就可以輕松的修改系統(tǒng)的設(shè)置,安置后門,進(jìn)而破壞系統(tǒng)。
[0005]針對(duì)相關(guān)技術(shù)中不能對(duì)超級(jí)用戶進(jìn)行權(quán)限控制的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0006]針對(duì)相關(guān)技術(shù)中不能對(duì)超級(jí)用戶進(jìn)行權(quán)限控制的問題,本發(fā)明提出一種訪問權(quán)限的控制方法及系統(tǒng),其不僅能夠?qū)ζ胀ㄓ脩舻臋?quán)限進(jìn)行限制,同時(shí)也可以對(duì)超級(jí)用戶進(jìn)行限制。
[0007]本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0008]根據(jù)本發(fā)明的一個(gè)方面,提供了 一種訪問權(quán)限的控制方法。
[0009]該控制方法包括:
[0010]對(duì)于請(qǐng)求對(duì)訪問對(duì)象進(jìn)行訪問操作的訪問方,提取該訪問方的用戶標(biāo)簽,其中,訪問對(duì)象預(yù)先配置有用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽;
[0011]根據(jù)預(yù)先配置的用戶標(biāo)簽和提取的用戶標(biāo)簽,確定訪問方是否通過驗(yàn)證;如果提取的用戶標(biāo)簽與預(yù)先配置的用戶標(biāo)簽中的一個(gè)標(biāo)簽相符,則確定訪問方通過驗(yàn)證;
[0012]根據(jù)提取的用戶標(biāo)簽所對(duì)應(yīng)的權(quán)限標(biāo)簽,確定訪問方是否有權(quán)限對(duì)訪問對(duì)象進(jìn)行訪問操作。
[0013]此外,該控制方法進(jìn)一步包括:預(yù)先對(duì)訪問對(duì)象配置用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽。
[0014]其中,在預(yù)先對(duì)訪問對(duì)象配置用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽時(shí),可分析訪問對(duì)象的文件頭的屬性空間,確定文件頭的空閑屬性空間;并在空閑屬性空間中加入用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽。[0015]其中,訪問操作包括以下至少之一:讀取、寫入、執(zhí)行。
[0016]其中,訪問方包括普通用戶和超級(jí)用戶。
[0017]根據(jù)本發(fā)明的另一方面,提供了一種訪問權(quán)限的控制系統(tǒng)。
[0018]該控制系統(tǒng)包括:
[0019]提取模塊,用于提取對(duì)訪問對(duì)象進(jìn)行訪問操作的訪問方的用戶標(biāo)簽,其中,訪問對(duì)象預(yù)先配置有用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽;
[0020]驗(yàn)證模塊,用于根據(jù)預(yù)先配置的用戶標(biāo)簽和提取的用戶標(biāo)簽,確定訪問方是否通過驗(yàn)證,如果提取的用戶標(biāo)簽與預(yù)先配置的用戶標(biāo)簽中的一個(gè)標(biāo)簽相符,則確定訪問方通過驗(yàn)證;
[0021]判定模塊,用于根據(jù)提取的用戶標(biāo)簽所對(duì)應(yīng)的權(quán)限標(biāo)簽,確定訪問方是否有權(quán)限對(duì)訪問對(duì)象進(jìn)行訪問操作。
[0022]此外,控制系統(tǒng)還包括:設(shè)置模塊,用于預(yù)先對(duì)訪問對(duì)象配置用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽。
[0023]其中,設(shè)置模塊進(jìn)一步包括分析模塊和添加模塊,分析模塊,用于分析訪問對(duì)象的文件頭的屬性空間,確定文件頭的空閑屬性空間;添加模塊,用于在空閑屬性空間中加入用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽。
[0024]其中,訪問操作包括以下至少之一:讀取、寫入、執(zhí)行。
[0025]其中,訪問方包括普通用戶和超級(jí)用戶。
[0026]本發(fā)明通過在訪問對(duì)象的文件頭中預(yù)存用戶標(biāo)簽以及與用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽,從而使得在每次對(duì)文件進(jìn)行操作前,首先需要驗(yàn)證訪問方是否具有權(quán)限,當(dāng)確定訪問方具有權(quán)限后,才可以在權(quán)限標(biāo)簽所標(biāo)識(shí)的操作權(quán)限內(nèi)對(duì)相應(yīng)的文件進(jìn)行操作,從有效的控制了所有用戶的訪問權(quán)限,避免了現(xiàn)有相關(guān)技術(shù)無法對(duì)超級(jí)用戶進(jìn)行限制的問題,提高了系統(tǒng)的安全性和可靠性。
【專利附圖】
【附圖說明】
[0027]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0028]圖1是根據(jù)本發(fā)明實(shí)施例的訪問權(quán)限的控制方法的流程示意圖;
[0029]圖2是根據(jù)本發(fā)明實(shí)施例的文件頭設(shè)計(jì)示意圖;
[0030]圖3是根據(jù)本發(fā)明實(shí)施例的Fuse系統(tǒng)的結(jié)構(gòu)示意圖;
[0031]圖4是根據(jù)本發(fā)明實(shí)施例的Fuse系統(tǒng)前期對(duì)文件的文件頭進(jìn)行修改的流程示意圖;
[0032]圖5是根據(jù)本發(fā)明實(shí)施例的Fuse系統(tǒng)后期對(duì)文件進(jìn)行操作時(shí)驗(yàn)證用戶權(quán)限的流程不意圖;
[0033]圖6是根據(jù)本發(fā)明實(shí)施例的訪問權(quán)限的控制系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】[0034]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0035]根據(jù)本發(fā)明的實(shí)施例,提供了 一種訪問權(quán)限的控制方法。
[0036]如圖1所示,根據(jù)本發(fā)明實(shí)施例的訪問權(quán)限的控制方法包括:
[0037]步驟S101,對(duì)于請(qǐng)求對(duì)訪問對(duì)象進(jìn)行訪問操作的訪問方,提取該訪問方的用戶標(biāo)簽,其中,訪問對(duì)象預(yù)先配置有用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽;
[0038]步驟S103,根據(jù)預(yù)先配置的用戶標(biāo)簽和提取的用戶標(biāo)簽,確定訪問方是否通過驗(yàn)證;如果提取的用戶標(biāo)簽與預(yù)先配置的用戶標(biāo)簽中的一個(gè)標(biāo)簽相符,則確定訪問方通過驗(yàn)證;
[0039]步驟S105,根據(jù)提取的用戶標(biāo)簽所對(duì)應(yīng)的權(quán)限標(biāo)簽,確定訪問方是否有權(quán)限對(duì)訪問對(duì)象進(jìn)行訪問操作。
[0040]此外,控制方法進(jìn)一步包括:預(yù)先對(duì)訪問對(duì)象配置用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽。
[0041]其中,在預(yù)先對(duì)訪問對(duì)象配置用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽時(shí),可分析訪問對(duì)象的文件頭的屬性空間,確定文件頭的空閑屬性空間;并在空閑屬性空間中加入用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽。
[0042]其中,訪問操作包括以下至少之一:讀取、寫入、執(zhí)行。
[0043]其中,訪問方包括普通用戶和超級(jí)用戶。
[0044]下面將從文件的文件頭設(shè)計(jì)以及利用Fuse用戶態(tài)文件系統(tǒng)來實(shí)現(xiàn)訪問權(quán)限的控制方法的流程對(duì)本發(fā)明的上述方案進(jìn)行描述。
[0045]圖2示出了一個(gè)文件頭的設(shè)計(jì)示意圖,如圖2所示,為了方便控制用戶對(duì)文件的權(quán)限控制,所以將用戶權(quán)限列表存儲(chǔ)在文件頭中,在每次對(duì)文件操作前,首先驗(yàn)證用戶是否具有權(quán)限,同樣,包括對(duì)root用戶權(quán)限控制。用戶權(quán)限列表中不同的用戶名序列之間可以用分隔符隔開。
[0046]Fuse是一種用戶態(tài)文件系統(tǒng)。它使得Fuse用戶在用戶態(tài)下編寫文件系統(tǒng)成為一種可能,且不必和內(nèi)核打交道。Fuse由三個(gè)部分組成:Linux內(nèi)核模塊、Fuse庫(kù)以及mount工具。結(jié)合Fuse實(shí)現(xiàn)用戶權(quán)限管理的框架圖如圖3所示。
[0047]圖4示出了 Fuse系統(tǒng)前期對(duì)文件的文件頭進(jìn)行修改的流程示意圖,圖5示出了Fuse系統(tǒng)后期對(duì)文件進(jìn)行操作時(shí)驗(yàn)證用戶權(quán)限的流程示意圖,從圖4和圖5中可以看出,利用Fuse來實(shí)現(xiàn)用戶權(quán)限管理的工作流程如下:在Fuse系統(tǒng)中,首先需要對(duì)相關(guān)文件進(jìn)行前期操作,即用戶為文件分配權(quán)限,修改權(quán)限,然后調(diào)用Fuse中的函數(shù)鉤子按照之前的文件頭設(shè)計(jì)修改當(dāng)前文件的文件頭,將用戶權(quán)限列表存儲(chǔ)在文件頭中。當(dāng)前期操作完畢后,在后期每次對(duì)文件進(jìn)行操作時(shí),需要調(diào)用Fuse中的reacUwrite函數(shù),讀取文件頭中之前分配的權(quán)限分配信息,來驗(yàn)證當(dāng)前訪問用戶是否對(duì)訪問文件具有訪問權(quán)限,如果驗(yàn)證當(dāng)前用戶具有對(duì)其所訪問的文件具有訪問權(quán)限,則對(duì)其放行,運(yùn)行當(dāng)前用戶對(duì)訪問的文件進(jìn)行讀取、寫入等操作。反之,則阻止當(dāng)前用戶對(duì)其所訪問的文件進(jìn)行下一步操作。
[0048]在實(shí)際實(shí)施時(shí),本發(fā)明還可以通過在系統(tǒng)文件中保存用戶訪問權(quán)限或者在文件屬性中指定用戶訪問權(quán)限的方式來訪問權(quán)限的控制。
[0049]根據(jù)本發(fā)明的實(shí)施例,還提供了 一種訪問權(quán)限的控制系統(tǒng)。
[0050]如圖6所示,根據(jù)本發(fā)明實(shí)施例的權(quán)限訪問的控制系統(tǒng)包括:
[0051 ] 提取模塊61,用于提取對(duì)訪問對(duì)象進(jìn)行訪問操作的訪問方的用戶標(biāo)簽,其中,訪問對(duì)象預(yù)先配置有用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽;
[0052]驗(yàn)證模塊62,用于根據(jù)預(yù)先配置的用戶標(biāo)簽和提取的用戶標(biāo)簽,確定訪問方是否通過驗(yàn)證,如果提取的用戶標(biāo)簽與預(yù)先配置的用戶標(biāo)簽中的一個(gè)標(biāo)簽相符,則確定訪問方通過驗(yàn)證;
[0053]判定模塊63,用于根據(jù)提取的用戶標(biāo)簽所對(duì)應(yīng)的權(quán)限標(biāo)簽,確定訪問方是否有權(quán)限對(duì)訪問對(duì)象進(jìn)行訪問操作。
[0054]此外,控制系統(tǒng)還包括:設(shè)置模塊(未示出),用于預(yù)先對(duì)訪問對(duì)象配置用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽。
[0055]其中,設(shè)置模塊進(jìn)一步包括分析模塊(未示出)和添加模塊(未示出)。分析模塊,用于分析訪問對(duì)象的文件頭的屬性空間,確定文件頭的空閑屬性空間;添加模塊,用于在空閑屬性空間中加入用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽。
[0056]其中,訪問操作包括以下至少之一:讀取、寫入、執(zhí)行。
[0057]其中,訪問方包括普通用戶和超級(jí)用戶。
[0058]綜上,借助于本發(fā)明的上述技術(shù)方案,通過在訪問對(duì)象的文件頭中預(yù)存用戶標(biāo)簽以及與用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽,從而使得在每次對(duì)文件進(jìn)行操作前,首先需要驗(yàn)證訪問方是否具有權(quán)限,當(dāng)確定訪問方具有權(quán)限后,才可以在權(quán)限標(biāo)簽所標(biāo)識(shí)的操作權(quán)限內(nèi)對(duì)相應(yīng)的文件進(jìn)行操作,從有效的控制了所有用戶的訪問權(quán)限,避免了現(xiàn)有相關(guān)技術(shù)無法對(duì)超級(jí)用戶進(jìn)行限制的問題,提高了系統(tǒng)的安全性和可靠性。
[0059]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種訪問權(quán)限的控制方法,其特征在于,包括以下步驟: 對(duì)于請(qǐng)求對(duì)訪問對(duì)象進(jìn)行訪問操作的訪問方,提取該訪問方的用戶標(biāo)簽,其中,所述訪問對(duì)象預(yù)先配置有用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽; 根據(jù)預(yù)先配置的所述用戶標(biāo)簽和提取的所述用戶標(biāo)簽,確定所述訪問方是否通過驗(yàn)證; 如果提取的所述用戶標(biāo)簽與預(yù)先配置的用戶標(biāo)簽中的一個(gè)標(biāo)簽相符,則確定所述訪問方通過驗(yàn)證; 根據(jù)提取的所述用戶標(biāo)簽所對(duì)應(yīng)的權(quán)限標(biāo)簽,確定所述訪問方是否有權(quán)限對(duì)所述訪問對(duì)象進(jìn)行所述訪問操作。
2.根據(jù)權(quán)利要求1所述的控制方法,其特征在于,進(jìn)一步包括: 預(yù)先對(duì)所述訪問對(duì)象配置用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽。
3.根據(jù)權(quán)利要求2所述的控制方法,其特征在于,預(yù)先對(duì)所述訪問對(duì)象配置用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽包括: 分析所述訪問對(duì)象的文件頭的屬性空間,確定所述文件頭的空閑屬性空間; 在所述空閑屬性空間中加入用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽。
4.根據(jù)權(quán)利要求1所述的控制方法,其特征在于,所述訪問操作包括以下至少之一: 讀取、寫入、執(zhí)行。
5.根據(jù)權(quán)利要求1所述的控制方法,其特征在于,所述訪問方包括普通用戶和超級(jí)用戶。
6.—種訪問權(quán)限的控制系統(tǒng),其特征在于,包括: 提取模塊,用于提取對(duì)訪問對(duì)象進(jìn)行訪問操作的訪問方的用戶標(biāo)簽,其中,所述訪問對(duì)象預(yù)先配置有用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽; 驗(yàn)證模塊,用于根據(jù)預(yù)先配置的所述用戶標(biāo)簽和提取的所述用戶標(biāo)簽,確定所述訪問方是否通過驗(yàn)證,如果提取的所述用戶標(biāo)簽與預(yù)先配置的用戶標(biāo)簽中的一個(gè)標(biāo)簽相符,則確定所述訪問方通過驗(yàn)證; 判定模塊,用于根據(jù)提取的所述用戶標(biāo)簽所對(duì)應(yīng)的權(quán)限標(biāo)簽,確定所述訪問方是否有權(quán)限對(duì)所述訪問對(duì)象進(jìn)行所述訪問操作。
7.根據(jù)權(quán)利要求6所述的控制系統(tǒng),其特征在于,還包括: 設(shè)置模塊,用于預(yù)先對(duì)所述訪問對(duì)象配置用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽。
8.根據(jù)權(quán)利要求7所述的控制系統(tǒng),其特征在于,所述設(shè)置模塊進(jìn)一步包括分析模塊和添加模塊,其中, 分析模塊,用于分析所述訪問對(duì)象的文件頭的屬性空間,確定所述文件頭的空閑屬性空間; 添加模塊,用于在所述空閑屬性空間中加入用戶標(biāo)簽以及與該用戶標(biāo)簽對(duì)應(yīng)的權(quán)限標(biāo)簽。
9.根據(jù)權(quán)利要求6所述的控制系統(tǒng),其特征在于,所述訪問操作包括以下至少之一: 讀取、寫入、執(zhí)行。
10.根據(jù)權(quán)利要求6所述的控制系統(tǒng),其特征在于,所述訪問方包括普通用戶和超級(jí)用戶。
【文檔編號(hào)】H04L29/06GK103581187SQ201310542336
【公開日】2014年2月12日 申請(qǐng)日期:2013年11月5日 優(yōu)先權(quán)日:2013年11月5日
【發(fā)明者】歐陽濤, 田勇, 孫征, 孫國(guó)忠 申請(qǐng)人:曙光云計(jì)算技術(shù)有限公司