使用PowerShell管理文件訪問(wèn)權(quán)限

文件和目錄的權(quán)限管理是一項(xiàng)復(fù)雜且耗時(shí)的工作溃列,尤其是在Windows環(huán)境中劲厌,windows環(huán)境中,文件和目錄權(quán)限管理使用圖形化界面進(jìn)行標(biāo)準(zhǔn)操作听隐。但Powershell將能使這項(xiàng)工作更快更容易补鼻。

Powershell能夠完成權(quán)限管理的哪些操作呢

  • 列出文件和目錄權(quán)限設(shè)置
  • 添加文件和目錄權(quán)限
  • 移除文件和目錄權(quán)限
  • 修改文件和目錄的屬主
  • 啟用和禁用目錄的繼承屬性

列出NTFS文件和目錄權(quán)限

PS C:\Windows\System32> [System.Enum]::GetNames([System.Security.AccessControl.FileSystemRights])

image.png

上述權(quán)限類型,在windows系統(tǒng)中雅任,可大致分為兩類
基本權(quán)限

  • Full Control:用戶可以修改风范、添加、移動(dòng)和刪除文件和目錄以及相應(yīng)的屬性沪么,換而言之硼婿,用戶可以改變所有文件以及子目錄的權(quán)限設(shè)定。
  • Modify:用戶可以修改文件和文件屬性禽车,包括刪除或添加文件到目錄或者刪除草巡、添加屬性到文件
  • Read & Execute:用戶可以運(yùn)行可執(zhí)行文件磅崭,包括腳本
  • Read:用戶能夠查看文件、文件屬性和目錄
  • Write:用戶能夠?qū)懭胄聰?shù)據(jù)到文件并能將文件添加到目錄

高級(jí)權(quán)限

  • Traverse Folder/Execute File:允許用戶即使沒(méi)有文件和目錄的權(quán)限,也允許其瀏覽文件夾蓖议。此外,也允許執(zhí)行文件
  • List Folder/Read Data:允許列出文件以及子目錄淀散,并能夠訪問(wèn)文件中包含的內(nèi)容
  • Read Attributes:查看文件或目錄的屬性
  • Write Attributes:更改文件或目錄的屬性
  • Read Extended Attributes:查看文件或目錄的擴(kuò)展屬性
  • Write Extended Attributes:更改文件或目錄的擴(kuò)展屬性
  • Create Files/Write Data:允許在目錄中創(chuàng)建文件并能更改目錄中的文件(change)
  • Create Folders/Append Data:允許在當(dāng)前目錄中創(chuàng)建目錄棋傍,允許追加數(shù)據(jù)到文件,但是不允許更改(change)彻采、刪除或者覆蓋替換文件中的內(nèi)容
  • Delete:允許刪除文件或目錄
  • Read Permissions:用戶可以讀取文件或目錄的權(quán)限設(shè)置
  • Change Permission:用戶可以更改(change) 文件或目錄的權(quán)限設(shè)置
  • Take Ownership:用戶可以取得文件或目錄的所有權(quán)
  • Synchronize:使用文件或目錄進(jìn)行同步腐缤。(原文是Allows or denies different threads to wait on the handle for the file or folder and synchronize with another thread that may signal it. This permission applies only to multithreaded, multiprocessing programs.,不太理解肛响,有大神知道的話岭粤,煩請(qǐng)告知,多謝)

檢索文件或目錄的權(quán)限設(shè)置

使用get-ACL來(lái)檢索文件或目錄的權(quán)限設(shè)置
Get-ACL -Path "Folder1"

image.png

默認(rèn)輸出不易讀特笋,可以使用下面的方式
(Get-ACL -Path "Folder1").Access | Format-Table IdentityReference,FileSystemRights,AccessControlType,IsInherited,InheritanceFlags -AutoSize

image.png

新建一個(gè)文件test1.txt剃浇,查看它的權(quán)限配置
(Get-ACL -Path "Test1.txt").Access | Format-Table IdentityReference,FileSystemRights,AccessControlType,IsInherited,InheritanceFlags -AutoSize

image.png

修改文件或目錄的權(quán)限設(shè)置

使用powershell來(lái)修改文件或目錄的權(quán)限巾兆,一般流程如下

  • 檢索已存在的ACL規(guī)則
  • 創(chuàng)建需要應(yīng)用的目標(biāo)規(guī)則,FileSystemAccessRule語(yǔ)法結(jié)構(gòu)類似:Identity String,FileSystemRights,AccessControlType
  • 添加新的ACL規(guī)則到已存在的規(guī)則集
  • 使用Set-ACL將前面新建的ACL規(guī)則應(yīng)用到目標(biāo)文件或目錄
$ACL = Get-ACL -Path "Test1.txt"
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("TestUser1","Read","Allow")
$ACL.SetAccessRule($AccessRule)
$ACL | Set-Acl -Path "Test1.txt"
(Get-ACL -Path "Test1.txt").Access | Format-Table IdentityReference,FileSystemRights,AccessControlType,IsInherited,InheritanceFlags -AutoSize
image.png

復(fù)制權(quán)限設(shè)置到新的對(duì)象上面

我們將文件test1上面的訪問(wèn)權(quán)限復(fù)制到文件Test2上

Get-ACL -Path "Test1.txt" | Set-ACL -Path "Test2.txt"
(Get-ACL -Path "Test2.txt").Access | Format-Table IdentityReference,FileSystemRights,AccessControlType,IsInherited,InheritanceFlags -AutoSize
image.png

移除文件或目錄的訪問(wèn)權(quán)限

要移除文件或目錄的某個(gè)訪問(wèn)權(quán)限虎囚,需要通過(guò)與修改權(quán)限同樣的步驟角塑,但是用的對(duì)象方法不一樣(前者使用$ACL.SetAccessRule(),而后者使用$ACL.RemoveAccessRule()

$ACL = Get-ACL -Path "Test1.txt"
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("TestUser1","Read","Allow")
$ACL.RemoveAccessRule($AccessRule)
$ACL | Set-Acl -Path "Test1.txt"
(Get-ACL -Path "Test1.txt").Access | Format-Table IdentityReference,FileSystemRights,AccessControlType,IsInherited,InheritanceFlags -AutoSize
image.png

修改繼承和所有權(quán)屬性

啟用\禁用繼承屬性

要更改繼承屬性淘讥,我們不得不使用SetAccessRuleProtection方法圃伶,它包括兩個(gè)參數(shù),isProtected:定義是否禁用繼承蒲列,可用值為(True\False)窒朋,如果值為True意為禁用繼承;`preserveInheritance`:定義在禁用繼承時(shí)是否保留已繼承的權(quán)限設(shè)置蝗岖,可用值為(True$False)侥猩,如果值為$True,將保留繼承的權(quán)限

$ACL = Get-Acl -Path "Folder1"
$ACL.SetAccessRuleProtection($true,$false)
$ACL | Set-Acl -Path "Folder1"
image.png

有時(shí)上述操作可能需要管理員身份抵赢,不然會(huì)報(bào)如下錯(cuò)誤:
Set-Acl: The process does not possess the 'SeSecurityPrivilege' privilege which is required for this operation.

修改所有權(quán)屬性

修改所有權(quán)屬性欺劳,需要定義一個(gè)用戶賬號(hào)對(duì)象,然后使用SetOwner()方法來(lái)完成

$ACL = Get-Acl -Path "Folder1"
$User = New-Object System.Security.Principal.Ntaccount("TestUser1")
$ACL.SetOwner($User)
$ACL | Set-Acl -Path "Folder1"
Get-ACL -Path "Folder1"
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末瓣俯,一起剝皮案震驚了整個(gè)濱河市杰标,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌彩匕,老刑警劉巖腔剂,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異驼仪,居然都是意外死亡掸犬,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門绪爸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)湾碎,“玉大人,你說(shuō)我怎么就攤上這事奠货〗槿欤” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵递惋,是天一觀的道長(zhǎng)柔滔。 經(jīng)常有香客問(wèn)我,道長(zhǎng)萍虽,這世上最難降的妖魔是什么睛廊? 我笑而不...
    開封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮杉编,結(jié)果婚禮上超全,老公的妹妹穿的比我還像新娘咆霜。我一直安慰自己,他們只是感情好嘶朱,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開白布蛾坯。 她就那樣靜靜地躺著,像睡著了一般疏遏。 火紅的嫁衣襯著肌膚如雪偿衰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天改览,我揣著相機(jī)與錄音,去河邊找鬼缤言。 笑死宝当,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的胆萧。 我是一名探鬼主播庆揩,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼跌穗!你這毒婦竟也來(lái)了订晌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蚌吸,失蹤者是張志新(化名)和其女友劉穎锈拨,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體羹唠,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡奕枢,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了佩微。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缝彬。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖哺眯,靈堂內(nèi)的尸體忽然破棺而出谷浅,到底是詐尸還是另有隱情,我是刑警寧澤奶卓,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布一疯,位于F島的核電站,受9級(jí)特大地震影響寝杖,放射性物質(zhì)發(fā)生泄漏违施。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一瑟幕、第九天 我趴在偏房一處隱蔽的房頂上張望磕蒲。 院中可真熱鬧留潦,春花似錦、人聲如沸辣往。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)站削。三九已至坊萝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間许起,已是汗流浹背十偶。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留园细,地道東北人惦积。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像猛频,于是被迫代替她去往敵國(guó)和親狮崩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容