您好,登錄后才能下訂單哦!
??現代計算機操作系統為實現各種層面的資源共享基本上都被設計為一個多用戶多任務的操作系統,為防止資源被濫用或盜用每種系統都會有一套完整的安全管控機制,即我們通常所說的3A安全體系,該安全體系源于我們人類社會現實生活中的安全審計流程,其它安全體系框架如下:
認證(Authentication):對用戶的身份進行驗證,驗證用戶的合法性,即:你是誰!
授權(Authorization):是對通過認證的用戶進行授權,授權其可以使用哪些資源,即:你能有哪些權限!
計費審計(Accouting|Audition):是記錄用戶使用資源情況,這些信息將作為計費或安全審計的依據。即:你用了多少?做了什么?
一句話:我知道你是誰,我給你規定的了使用權限,請你遵守規則,我可以審計你的行為!
??最終獲取資源使用權的是肯定是自然人,但操作系統如何能識別具體的自然人并允許他們按規定該資源,這就是系統對用戶和組的訪問控制權限來解決的問題,操作系統可以通過多種技術來識別自然人,如芯片授權(門禁卡、加密狗),生物特征識別(指紋、虹膜、面部識別等),傳統的用戶賬號等。本小節將介紹如何解決3A安全體系中的第一個環節Authentication,用戶身份驗證的問題。
??操作系統關聯到具體的自然人依靠的就是用戶,為了便于批量授權于是便有了用戶組的概念,基本上所有操作系統都是這樣的設計理念,不論是用戶還是用戶組都只是賦權的一個實體媒介罷了,系統管理員為每個自然人分配一個用戶賬號便將該賬號具備權限授予了自然人。同樣在一個部門或組織單位中多個自然人的一些共有權限就可以利用系統的用戶組來完成。
Linux身份驗證過程:用戶向系統提交用戶名和密碼,Linux系統通過比對本地存儲的用戶信息與用戶 提交信息的一致性來確定即將登錄的用戶是否合法。 如果是合法用戶則會向用戶返回Token和安全實體標識。
Windows身份驗證過程:用戶向系統提交用戶名和密碼,Windows的本地LSA同樣會比對一致性,同樣會返回Token,但是包含了用戶所屬組的信息、以用戶在本系統或域內權限的摘要信息,用戶在訪問資源時會完成比對過程,這也是為什么在Windows系統中每次授權后都需要注銷重新登錄的原因,就是為了重新獲取系統或域內的新的訪問令牌。
1. linux系統中用戶和組
??Linux系統以ID來識別用戶類型,分為管理用戶、普通用戶兩種。Linux系統識別UID,Windows系統依賴SID。具體如下:
用戶 UID標識用戶
管理用戶:管理員root uid:0 windows內置管理員賬號SID以500結尾
普通用戶:uid:1-60000 自動分配
系統用戶:1-499(CentOS6), 1-999 (CentOS7、8)
用于守護進程獲取資源進行權限分配。
登錄用戶:500+(CentOS6), 1000+(CentOS、7)
登錄用戶用于交互式登錄,關聯自然人,授權實體對象。
驗證方法:
Linux系統:id username
[root@Centos8 ~]$id root
uid=0(root) gid=0(root) groups=0(root)
[root@Centos8 ~]$id houzhihui
uid=1000(houzhihui) gid=1000(houzhihui) groups=1000(houzhihui)
[root@Centos8 ~]$
Windows系統:whoami
C:\Users\Administrator>whoami /user
用戶信息
----------------
用戶名 SID
============================= ==================
desktop-aajmtra\administrator S-1-5-21-2701678464-1708204996-1248473524-500
C:\Users\Administrator>
C:\Users\microcisco>whoami /user
用戶信息
----------------
用戶名 SID
========================== =======================
desktop-aajmtra\microcisco S-1-5-21-2701678464-1708204996-1248473524-1001
C:\Users\microcisco>
用戶組 GID標識用戶組
管理員組:root, 0
普通組:GID
系統組:1-499(CentOS6), 1-999(CENTOS7)
普通組:500+(CentOS6), 1000+(CENTOS7)
??關于UID和GID的使用范圍規定在文件/etc/login.defs中都有明確定義,如果有定制需求則可以修改文件來完成,如下圖所示:
基本組與輔助組
??與Windows操作系統不同,Linux系統中默認情況下每創建一個用戶都會自動創建一個與該對應的用戶組,作為該用戶的基本組,而且組名與用戶名相同,GID與UID也相同。與基本組相對應的是輔助組,二都區別如下:
用戶的基本組:與用戶賬號一同創建
該組只有該用戶一個成員,組名與用戶名相同,GID與UID也相同,也稱為主組或私有組。
用戶的輔助組:用于批量授權
輔助組只是一個相對概念,其成員不只限于一個用戶成員也被稱為公共組。輔助組有助于用戶方便的獲得額外的權限。如:某個資源需要共享給整個部門成員來使用,則只需建立一個公共組,并在該資源上針對建立的公共組賦權,然后將該部門成員的用戶賬號加入到該公共組即可實現批量授權。因此輔助組的輔助概念是相對用戶而言的,一個用戶可以屬于零個或多個輔助組。
溫故而知新
??關于網絡資源管理的安全體系,微軟公司的Windows系統也有多年來引以為傲的安全管理體系活動目錄(Active Directory),可以說在企業桌面操作系統、終端管理方面功能相當的完善,作為用戶與組的專題文章少了微軟的活動目錄總覺得缺些什么,本小節介紹就以微軟活動目錄中的用戶和組運用作為知識擴展吧!
??微軟活動目錄的設計初衷就是對網絡中分布零散的資源建立動態的索引,并由專業的信息維護人員集中授權管理,活動錄目將域為作為網絡安全邊界是一種邏輯概念,所有加入該安全域內網絡資源、用戶、終端都作為域的對象,受活動目錄的權限管理體系集中管控,用戶賬號和用戶組是賦權對象這一點與Linux系統是一樣的.如果說最大的不同便是:Windows的組支持嵌套,而Linux的組不支持嵌套,所以Windows的授權管理功能上更豐富,但正是因為支持組的嵌套所以很容易引起交叉授權而且導致權限管理混亂,為此微軟早在Windows server 2000時代就是強烈給出客戶最佳授權操作原則:AGUDLP
A表示用戶賬號 Account
賬號分為本地賬號和域用戶賬號,當然組也分為本地用戶組和域用戶組,本地用戶賬號和組由計算機系統本地址的SAM庫來存儲管理。只有計算機加入域后才可以使用域用戶賬號,域用戶賬號和域用戶組則有域控制器(DC)來負責存儲管理,計算加入域后,域管理員可以將域用戶賬號加入到本地用戶組來賦予本地計算機資源的使用權限。
G表示全局組 Global
全局組:主要是用來組織用戶賬號的,作用范圍:域樹內任何域,全局組內的成員可以是同一個域的用戶賬戶與全局組,可以訪問任何一個域內的資源。注意:出現嵌套了,全局組可以套全局組了
U表示通用組 Universal
通用組:作用范圍林內整個林和信任域,作為林內跨域資源訪問授權對象的組織容器,通用組及組內任何成員會被寫入一個稱為全局編目(Global Caltalog,GC)的數據庫 通用組可以訪問任何一個域內的資源,通用組可以包含所有域內的用戶賬戶、全局組和通用組。通用組可以理解為恐怖電影中的通靈師攜帶訴求者通往另一個世界(這個玩笑很形象吧,不過要注意呀!當域功能級別處于Windows2000混合模式時,不能創建具有通用組的安全組,必須提升域的功能級別才可以啟有通用組。)
DL表示域本地組 Domain Local
域本地組:作用范圍本地域,只能夠訪問本域內的任何資源,如果該組內成員想訪問其它域的資源則本地組必須加入全局組由對方域管理員針對全局組授權來實現跨域資源訪問,本地域組的成員可以是同一個域的本地域組,也可以是任何域內的賬戶、全局組和通用組,他們能訪問的資源只是該本地域組所在域的資源
P表示資源權限 Permissions
用戶對資源的訪問權限,不論Windows還是Linux都有三種基本權限:其中執行權限分別與讀、寫權限配合并根據作用不同的文件類型就可以展現給用戶很花俏功能,但不管展現給用戶的操作是多么的花俏都是這三種權限的組合:
讀取權限:權限標識為r Readable讀取文件內容 影響atime
作用于文件:讀取文件內容
作用于目錄:可以使用ls、dir查看此目錄中文件列表
寫入權限:權限標識為w Writable修改文件內容 影響mtime
作用于文件:可以修改、刪除文件內容
作用于目錄:可在此目錄中創建文件,也可刪除此目錄中的文件
執行權限:權限標識為x eXcutable執行權限,作為讀、寫權限的基石組合權限。
作用于文件:由指定的安全上下文進程將文件提請給內核由進程執行進一步處理操作
作用于目錄:可以使用ls、dir查看此目錄中文件元數據(須配合r),可以cd進入此目錄。
特殊執行權限:
權限標識X 只給目錄x權限,不給文件x權限
域內與域間授權:AGDLP
先將用戶(Acounts-A)加入全局組G;再將G加入域本地組DL;最后給DL授權(Permissions-P)
這樣做的好處,域間訪問兩個域的管理員將各自將對方的全局組加入域本地組后,全局組成員就可以跨域訪問資源,后期成員調整只由各自域的管理員管控,而不必勞煩對方域的管理員啦!
林內樹間跨域訪問授權:AGUDLP
先將用戶(Acounts-A)加入全局組G;再將再將G加入域本地組DL;最后給DL授權(Permissions-P)
這樣做的好處,將全局組加入通用組后全局組內成員便具備了整個林內建立域信任關系的跨域訪問通行證,后期組內成員管理只由本地域管理員來管控!
四、總結
無論是Linux還是Windows系統,用戶的作用是與自然人關聯,用戶組是組織管理用戶的容器便于批量授權管理,二都都是資源訪問授權的授權實體對象,解決的是3A安全體系中的第一個A認證(Authentication)身份驗證問題
好了本小節先只寫到這,劇透一下,下一節將介紹用戶和組的管理問題!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。