AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 387515
Accepted
MDMarra
MDMarra
Asked: 2012-05-10 08:01:11 +0800 CST2012-05-10 08:01:11 +0800 CST 2012-05-10 08:01:11 +0800 CST

使用 icacls 对“所有子文件夹和文件”授予修改权限,但仅将读取权限授予顶级文件夹

  • 772

我们的一台 Windows 服务器上有一些用户文件夹,但权限却非常糟糕。我想要它做什么,SYSTEM并Domain Admins完全控制所有文件夹。我希望用户只读取顶级文件夹(这是他们的主文件夹)并修改所有子文件夹和文件。这可以通过 GUI 轻松完成,但我不知道如何编写脚本。

我从我的 PowerShell 脚本调用 icacls,因为 get-acl 和 set-acl 是主要的 PITA。如果我必须使用它们,我并不反对,但我想调用 icacls 会更容易。这是我必须做的相关代码:

icacls.exe $folder /grant '$domain\$user:(OI)(CI)(M)'
icacls.exe $folder /grant 'SYSTEM:(OI)(CI)(F)'
icacls.exe $folder /grant '$domain\domain admins:(OI)(CI)(F)'

如您所见,我正在为用户提供icacls.exe $folder /grant '$domain\$user:(OI)(CI)(M)'. 我无法弄清楚如何使该修改仅适用于子文件夹和文件,同时将只读权限授予顶级文件夹。

所需的权限结构如下所示(只是为了清楚起见):

-Users  
--M  
---Marra (read only to me)  
----Documents (Modify)  
----Scripts(Modify)  
----Etc (Modify)  

正确的 icacls 语法是什么,或者我如何使用 set-acl 在 PS 中本地执行此操作?

windows scripting powershell file-permissions icacls
  • 3 3 个回答
  • 79629 Views

3 个回答

  • Voted
  1. Best Answer
    pk.
    2012-05-10T09:03:50+08:002012-05-10T09:03:50+08:00

    将脚本的第一行更改为以下内容,使其仅适用于子文件夹和文件。

    icacls.exe $folder /grant "$domain\$user:(OI)(CI)(IO)(M)"
    

    然后将其应用于顶级文件夹。

    icacls.exe $folder /grant "$domain\$user:(R)"
    
    • 5
  2. Klaus Hartnegg
    2015-05-06T07:32:46+08:002015-05-06T07:32:46+08:00

    授予可继承的修改权限,并设置不可继承的拒绝删除文件夹本身:

    icacls folder /deny  user:d
    icacls folder /grant user:(oi)(ci)m
    

    这为他们提供了文件夹内的全部权限,但他们不能修改文件夹本身。

    • 0
  3. Marcus
    2016-07-25T22:21:52+08:002016-07-25T22:21:52+08:00
    icacls $folder /c /grant $domain\$user:(OI)(CI)(X,RD,RA,REA,WD,AD,WA,WEA,DC,RC)
    

    这授予对所有文件和子目录的修改访问权限,但不授予对 $folder 本身的删除访问权限。

    • 0

相关问题

  • 知道任何适用于 Windows 的快速可编写脚本的 ftp 客户端吗?[关闭]

  • 如果 Windows 服务崩溃,如何自动重新启动它?

  • 无法安排任务(访问被拒绝)

  • 物理机重启时自动重启虚拟机(VMWare)

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve