[玩转系统] 如何使用 PowerShell 脚本管理文件系统 ACL
作者:精品下载站 日期:2024-12-14 05:58:26 浏览:15 分类:玩电脑
如何使用 PowerShell 脚本管理文件系统 ACL
许多拥有 Microsoft Windows 环境的组织都依赖 NTFS 作为其包含敏感数据的存储设备的主文件系统。这是用户处理文件的最简单方法。为了实施最低权限模型(这是系统安全的最佳实践),IT 安全专家和系统管理员通过在 NTFS 文件服务器上添加访问控制条目 (ACE) 来配置 NTFS 访问控制列表 (ACL)。
NTFS 权限文件和文件夹类型
NTFS 权限有基本权限和高级权限。您可以将每个权限设置为“允许”或“拒绝”。以下是基本权限:
- 完全控制:用户可以修改、添加、移动和删除文件和目录及其关联属性。此外,用户可以更改所有文件和子目录的权限设置。
- 修改:用户可以查看和修改文件和文件属性,包括删除和添加文件到目录或文件属性。
- 读取和执行:用户可以运行可执行文件,包括脚本
- 读取:用户可以查看文件、文件属性和目录。
- 写入:用户可以写入文件并将文件添加到目录。
以下是高级权限列表:
- 遍历文件夹/执行文件:用户可以浏览文件夹以访问其他文件或文件夹,即使他们没有这些文件或文件夹的权限。用户还可以运行可执行文件。仅当组或用户在组策略管理单元中没有“绕过遍历检查”权限时,遍历文件夹权限才会生效。
- 列出文件夹/读取数据:用户可以查看文件夹内的文件和子文件夹列表以及文件内容。
- 读取属性:用户可以查看文件或文件夹的属性,例如是否只读或隐藏。
- 写入属性:用户可以更改文件或文件夹的属性。
- 读取扩展属性:用户可以查看文件或文件夹的扩展属性,例如权限以及创建和修改时间。
- 写入扩展属性:用户可以更改文件或文件夹的扩展属性。
- 创建文件/写入数据:“创建文件”权限允许用户在文件夹中创建文件。 (此权限仅适用于文件夹。)“写入数据”权限允许用户更改文件并覆盖现有内容。 (此权限仅适用于文件。)
- 创建文件夹/附加数据:“创建文件夹”权限允许用户在文件夹内创建文件夹。 (此权限仅适用于文件夹。)“追加数据”权限允许用户对文件末尾进行更改,但不能更改、删除或覆盖现有数据。 (此权限仅适用于文件。)
- 删除:用户可以删除文件或文件夹。 (如果用户没有对文件或文件夹的“删除”权限,但如果他们对父文件夹具有“删除子文件夹和文件”权限,他们仍然可以删除它。)
- 读取权限:用户可以读取文件或文件夹的权限,例如“完全控制”、“读取”和“写入”。
- 更改权限:用户可以更改文件或文件夹的权限。
- 取得所有权:用户可以取得文件或文件夹的所有权。文件或文件夹的所有者始终可以更改其权限,无论保护该文件或文件夹的现有权限如何。
- 同步:用户可以使用该对象进行同步。这使得线程能够等待,直到对象处于有信号状态。 ACL 编辑器中不提供此权限。你可以在这里读更多关于它的内容。
您可以通过运行以下 PowerShell 脚本找到所有这些用户权限:
[system.enum]::getnames([System.Security.AccessControl.FileSystemRights])
NTFS 权限可以是显式的,也可以是继承的。显式权限是单独配置的权限,而继承权限是从父文件夹继承的权限。权限的层次结构如下:
- 明确拒绝
- 显式允许
- 继承拒绝
- 继承允许
现在我们知道了 NTFS 权限,让我们探讨一下如何管理它们。
获取文件和文件夹的 ACL
第一个用于管理文件和文件夹权限的 PowerShell cmdlet 是“get-acl”;它列出了所有对象权限。例如,让我们获取对象路径为“\fs1sharedsales”的文件夹的所有权限列表:
get-acl \fs1sharedsales | fl
如果您想通过 PowerShell 获取完整的 NTFS 权限报告,您可以按照有关将 NTFS 权限导出到 CSV 的简单操作方法进行操作。
复制文件和文件夹权限
要复制权限,用户必须同时拥有源文件夹和目标文件夹。以下命令会将权限从“Accounting”文件夹复制到“Sales”文件夹:
get-acl \fs1sharedaccounting | Set-Acl \fs1sharedsales
从权限复制前后“get-acl”命令的输出可以看出,“Sales”共享文件夹权限已更改。
设置文件和文件夹权限
PowerShell“set-acl”cmdlet用于更改指定项目的安全描述符,例如文件、文件夹或注册表项;换句话说,它用于修改文件或文件夹的权限。以下脚本将用户“ENTERPRISET.Simpson”对文件夹“Sales”的“FullControl”权限设置为“Allow”:
$acl = Get-Acl \fs1sharedsales
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("ENTERPRISET.Simpson","FullControl","Allow")
$acl.SetAccessRule($AccessRule)
$acl | Set-Acl \fs1sharedsales
如果您想为用户或安全组设置其他权限,请从下表中选择:
还有可以应用的基本访问权限的权限集:
删除用户权限
要删除权限,请使用“RemoveAccessRule”参数。让我们删除 T.Simpson 对“Sales”文件夹的“Allow FullControl”权限:
$acl = Get-Acl \fs1sharedsales
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("ENTERPRISET.Simpson","FullControl","Allow")
$acl.RemoveAccessRule($AccessRule)
$acl | Set-Acl \fs1sharedsales
请注意,T.Simpson 仍然具有“拒绝 FullControl”权限。要删除它,我们使用命令“PurgeAccessRules”,这将完全擦除 T.Simpson 对“Sales”文件夹的权限:
$acl = Get-Acl \fs1sharedsales
$usersid = New-Object System.Security.Principal.Ntaccount ("ENTERPRISET.Simpson")
$acl.PurgeAccessRules($usersid)
$acl | Set-Acl \fs1sharedsales
请注意,“PurgeAccessRules”不适用于字符串用户名;它仅适用于 SID。因此,我们使用“Ntaccount”类将用户帐户名从字符串转换为SID。另请注意,“PurgeAccessRules”仅适用于明确的权限;它不会清除遗传的。
禁用或启用权限继承
为了管理继承,我们使用“SetAccessRuleProtection”方法。它有两个参数:
- 第一个参数负责阻止从父文件夹继承。它有两种状态:“$true”和“$false”。
- 第二个参数确定当前继承的权限是保留还是删除。它具有相同的两个状态:“$true”和“$false”。
让我们禁用“Sales”文件夹的继承并删除所有继承的权限:
$acl = Get-Acl \fs1sharedsales
$acl.SetAccessRuleProtection($true,$false)
$acl | Set-Acl \fs1sharedsales
现在我们只剩下一个访问权限(因为它是显式添加的);所有继承的权限都被删除。
让我们恢复此更改并再次启用文件夹“Sales”的继承:
$acl = Get-Acl \fs1sharedsales
$acl.SetAccessRuleProtection($false,$true)
$acl | Set-Acl \fs1sharedsales
更改文件和文件夹所有权
如果要为文件夹设置所有者,则需要运行“SetOwner”方法。让我们将“ENTERPRISEJ.Carter”设为“Sales”文件夹的所有者:
$acl = Get-Acl \fs1sharedsales
$object = New-Object System.Security.Principal.Ntaccount("ENTERPRISEJ.Carter")
$acl.SetOwner($object)
$acl | Set-Acl \fs1sharedsales
请注意,我们再次使用“Ntaccount”类将用户帐户名从字符串转换为 SID。
请注意,“SetOwner”方法不允许您将所有者更改为您想要的任何帐户;该帐户必须具有“取得所有权”、“读取”和“更改权限”权限。
正如您所看到的,使用 PowerShell 管理 NTFS 权限非常容易。但也不要忘记审核 NTFS 权限 - 跟踪对文件服务器所做的所有更改对于安全至关重要,以减少数据泄漏并应对内部威胁和其他 IT 安全风险。以下是有关如何使用 PowerShell 审核 NTFS 权限的基本指南。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag