既然windows所有資料都可看成物件,那權限身分就是用繼承的方式。
從windows執行檔特性可知道;今天如要調整檔案A,旗下有跟檔案B C D關聯。那權限調整就會指向原來的檔案A。(如果是跟目錄也會指向磁碟機)
這次檔案處理會用到的觀念。
大致上windows身分有user和admin(系統管理員)兩種,為何windows沒有真的"群組"呢?
windows群組大都只用來歸納權限或繼承之用,因為本身group還是沒有權限(只有user(物件)才有權限(方法),而group可想成class作為參考與模組用)。
但linux就分成u(擁有者) , g(群組) , o(其他)。每個單位都有各自不同權限,此特性造就個權限互通又不會互相干擾。
在linux中,每項動作須通過root(sudo或su -)才可執行看似等級不大的行為(灌軟體套件 , 設domain , 遠端連線)。
但windows可賦予MYuser(指本機使用者)admin權限,雖然只要admin不賦予就行。但防不勝防、粗心難防。所以如果是serverOS還是別賦予較安全。
何來user與admin之矛盾?
windows有個AD的服務,它有些設定需真的以admin帳號執行,這樣就有安全的疑慮。
用在雲端伺服器居多,因為雲端會提供空間給用戶做(讀寫 , 修改...)動作。
要如何去規範不是此伺服器的網域用戶呢?那就需要透過特殊存取權限來管理自訂的網域群組,這就很明顯了,如需用網域來管理local帳號,就需要它了。
但不論為何,最終仲裁權還是admin。而有了特殊存取就好像有人代理了admin來控制dimain帳號。
淺談完身分上的權限,接下來要談檔案處理會用的指令(搭配os)。
封存(A):
這觀念可重要了,和前面三種較不同的是。attrib +屬性 <檔案名稱> == 新增該檔案屬性
attrib -屬性 <檔案名稱> == 移除該檔案屬性
屬性代號:
r:唯讀
a:封存
s:系統
h:隱藏
i:不建立索引 ##索引就是幫助搜尋檔案的方法,會使檔案內容易曝光
賦予方法
/s:將屬性套用至其子目錄所有檔案(不含資料夾)
/d:將屬性套用至其子目錄所有檔案(不含檔案)
/l:將屬性套用至其子目錄所有符號鏈結(現已不使用)/s與/d常配合使用
Ex:(attrib +r -h -s D:\testALL&code\rase30d /s /d)
賦予D:\testALL&code\rase30d下所有目錄與檔案屬性為RA
(程式應用後面os會談)
windows總結:
windows其實安全性也不輸linux,只是在增加安全性同時也增加複雜度。
所以論便利性,還是chmod略勝一籌。
但以邏輯性論,反而windows較為直觀。